Universe generation drops stored entries for coins absent from current output

オープン 初心者向け
#19 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
86/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
csharp
領域
data

調査の方向性

CoinGeckoDataDownloader.cs の GenerateUniverseFiles から始め、_processedUniverseFolder を SaveContentToFile に渡す方法を追ってください。提供されたセットアップを使い、現在の出力に含まれない保存済みコインがある状態で、GenerateUniverseFiles を通じた回帰テストを追加してください。保存済みの行が保持され、取得したコインの行が更新され、テストが通れば完了です。

索引モデルが issue の本文から書いたものです。

説明

Problem

GenerateUniverseFiles drops stored universe entries for coins that have no output coin file in the current run. It returns true after writing the incomplete universe.

This is reproducible on master (0b89b5a).

Reproduction
  1. Construct CoinGeckoUniverseDataDownloader with distinct, empty destination and processed directories.
  2. Write processed/universe/20260808.csv containing:
    BTC,64879.756,21708815799.29,1301953613966.19
    ETH,3000,10000000000,360000000000
    
  3. Write only destination/eth.csv, containing:
    20260808,3001,10000000000,360100000000
    
  4. Call GenerateUniverseFiles().

Observed: it returns true, and destination/universe/20260808.csv contains only:

ETH,3001,10000000000,360100000000

The stored BTC row is absent.

Cause and expected result

GenerateUniverseFiles passes _processedUniverseFolder to SaveContentToFile, but the helper appends another universe component. It looks for processed/universe/universe/20260808.csv, so it never reads the existing file.

Preserve the stored BTC row and replace the ETH row with its fetched value. Add a regression through GenerateUniverseFiles, with a coin absent from the current output, so the production caller's directory arguments are exercised. Suggestion: make the helper and caller agree on whether the processed directory already includes universe.

主要言語
C#
スター
5
フォーク
9
平均マージ
3日 8時間
マージ済み PR(30日)
1

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

QuantConnect/Lean.DataSource.CoinGecko のほかの issue

QuantConnect/Lean.DataSource.CoinGecko の issue をすべて見る

似ている issue

C# の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。