このビデオおよび対応する記事では、cTraderでファイルを操作する方法について説明します。平均して、ユーザーはフルアクセス権を要求するcBotやインディケーターの起動について懸念しています。特にソースコードが利用できない場合、アルゴリズムがこれらの権限で何をしているのかを知ることは困難です。幸いなことに、cTraderはアルゴが管理者権限を必要とせずにローカルマシンのファイルにアクセスできるいくつかの方法を提供しています。
アルゴディレクトリへの書き込み
cTraderは、すべてのアルゴが以下のアドレスのフォルダーにアクセスすることを許可しています。
C:/Users/{username}/Documents/cAlgo/Data/{algoType}
ここで、algoType
はcBots
またはIndicators
です。
例としてcBotを作成し、このディレクトリにプログラムでアクセスする方法を示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
いつものように、cBotを保存してビルドし、その後インスタンスを作成します。
インスタンスが起動した後、上記のフォルダに移動します。そこには、コードで指定したテキストが含まれているHello World.txt
ファイルがあるはずです。
アルゴディレクトリからの読み取り
次の論理的なステップは、アルゴディレクトリにあるファイルの内容を読み取ることです。そのためには、OnStart()
メソッドを次のように書き換えます。
1 2 3 4 |
|
cBotをビルドして起動すると、アルゴがファイルから文字列をcTraderのログに出力するのがわかります。
他のディレクトリへのアクセス
以前に実行したcBotの操作は、どれも管理者権限を提供する必要がなかったことに注意してください。実際、クラスレベルでアクセス権は明示的にNone
に設定されていました。
異なるディレクトリにファイルを書き込もうとしてみましょう。コードを変更して、ルートのDocuments
ディレクトリにファイルを書き込むようにします。
1 2 3 4 |
|
再びcBotをビルドして実行すると、この特定のディレクトリに書き込む権限がないという例外がログに表示されます。
これを解決するために、cBotのコードに戻り、アクセス権を次のように変更します。
1 |
|
cBotをビルドして実行すると、例外をスローする代わりに、指定されたディレクトリにアクセスし、正しいファイルに書き込みます。
アクセス権がどのように機能するかをさらに示すために、OnStart()
メソッドを次のように変更します。
1 2 3 4 |
|
アクセス権もNone
に戻します。
1 |
|
cBotが実行を開始した後、ファイルから読み取ることができないことがわかります。
この記事とビデオが役に立ったことを願っています。cTraderのアルゴリズム取引について詳しく知りたい場合は、以下のボタンをクリックしてYouTubeチャンネルに登録してください。