コンテンツにスキップ

cBotの要件

cBotインスタンスがクラウドでスムーズに実行されるようにするには、コンパイル時の参照とクロスプラットフォームの依存関係という2つの主要な要件を満たす必要があります。

コンパイル時の参照

.NETでは依存関係を扱う方法が複数あります。 例えば、プロジェクトの実行ファイルに直接含めずに、個別の.dllファイルとして依存関係を提供することができます。

しかし、コンパイル時の参照のみがクラウドでのcBotの実行と完全に互換性があります。 クラウドは、外部の.dllファイルを管理せずにcBotの実行ファイル(.algoファイル)を実行する専用環境として機能します。

コンパイル時の依存関係は、コードの先頭でusing文を使用してライブラリを参照するすべての場合で保証されます。 ただし、コードの本文内で独立した.dllファイルを参照する場合(例えば、Assembly.Load()メソッドを介して)、この参照はコンパイル時ではなく、cBotはクラウドで関連する操作を実行しません。

クロスプラットフォームの依存関係

クラウドはすべてのcBotをLinuxベースの環境で実行します。 つまり、外部の依存関係を使用したい場合、これらの依存関係はクロスプラットフォームである必要があります。

例として、Windows固有のため、クラウドでは動作しない依存関係をいくつか紹介します。

  • WPF
  • WinForms
  • WinAPI

プロジェクトに新しい依存関係を追加する際は、そのドキュメントを読んでLinuxベースの環境でサポートされているかどうかを確認してください。

API機能

ローカル実行と比較して、クラウドで異なる動作をするAlgo API機能がいくつかあります。

機能/メソッド クラウドでの動作
MessageBox 常にMessageBoxResult.Noneを返す
Window 常に無視される
Notifications.PlaySound() 常に無視される
Account.UserNickName 常にOnException()ハンドラーを呼び出す
Chart.TakeChartshot() 常にnullを返す
WebSocketClient ポート25345を介してサービスに接続する場合のみ機能する
HTTP HTTPリクエストは送信されない
LocalStorageとファイル操作 相対パスが指定されているか、新しいディレクトリが最初から作成される場合のみ機能する

ローカルストレージとファイル操作

クラウドインスタンスが停止または削除されるたびに、クラウド内で割り当てられたすべてのリソースは自動的に解放されます。 cBotがファイルやディレクトリを作成し、そこからデータにアクセスする場合、これらのファイルはインスタンスの再起動または削除のたびに削除されます。

Image title