コンテンツにスキップ

Pythonアルゴリズムのサードパーティパッケージ

cTrader用のPythonベースのcBot、インジケーター、またはプラグインを構築する際に、pandasnumpy、またはその他のライブラリなどのサードパーティパッケージを使用する必要がある場合があります。 このガイドでは、requirements.txtファイルでそのような依存関係を宣言する方法を説明します。これにより、アルゴリズムが環境間で正しく実行されることが保証されます。

ファイルの設定とルール

requirements.txtは、プロジェクトが必要とする外部Pythonパッケージを指定するために使用されるプレーンテキストファイルです。 requirements.txtファイルは以下のルールに従う必要があります:

  • ファイル名は正確にrequirements.txtでなければなりません。
  • ファイルはプロジェクトのルートに配置され、Pythonのエントリーファイル(例:Super cBot_main.py)と一緒に置かれます。
  • ファイルはプロジェクトファイルに含まれ、アルゴリズムと一緒にパッケージ化される必要があります。

requirements.txtファイルが存在し、適切にフォーマットされている場合、プロジェクトをビルドするだけで、リストされたすべての依存関係が自動的に追加され解決されます。 以下はその例です:

...\Documents\cAlgo\Sources\Robots\Super cBot\Super cBot

Image title

1
2
pandas==2.2.2
numpy>=1.26.4

サポートされている機能

requirements.txtフォーマットは、pipで使用される標準的な規則に従います。 以下の例は、バージョン指定子を使用してパッケージのバージョンを指定する方法、コメントを追加する方法、および読みやすさのために空白行を使用する方法を示しています:

正確なバージョンに固定する

1
pandas==2.2.2

最小バージョンを許可する

1
numpy>=1.26.4

コメントと空白行を使用する

1
2
3
4
5
# Data science libraries
pandas==2.2.2
numpy>=1.26.4

# You can leave blank lines for readability

ベストプラクティス

  1. 重要なライブラリは固定して、新しいリリースで互換性のない変更が導入された場合の予期しない動作を避けます。
  2. 重要度の低いパッケージに範囲指定子を使用する場合は、依存関係が更新されるたびにアルゴリズムをテストしてください。
  3. 特定のパッケージが使用された理由や特定のバージョンが選択された理由を説明する意味のあるコメントを書くことを検討してください。
  4. requirements.txtを編集するたびにプロジェクトをリビルドして、依存関係が正しくインストールされるようにしてください。

Image title