テスト最適化実行の確認 IsOptimization 関数

関数

チェック関数

IsOptimization 関数

この関数は、EAストラテジーテスターの最適化モードで実行されているかどうかを確認します。

ストラテジーテスターの最適化モードは「最適化」にチェックを入れて「スタート」することで実行できます。

データ型と構成・戻り値

bool IsOptimization();

戻り値は、EAがストラテジーテスターの最適化モードで実行されている場合は true、それ以外は falseを返します。

引数 [0]

引数無し。

使用例

IsOptimization関数を使ったテスターの最適化モードの確認

IsOptimization関数を使ったテスターの最適化モードの確認は、実際に最適化している時にしか確認することができません。最適化を行なう時は、セッティングで「最適化」にチェックを入れておいてください。

Print関数は、ストラテジーテスターの最適化では機能しないので、次のコードでは、最適化での実行は買い成行注文が成立したかどうかで IsOptimization関数の動作を確認しています。

コード

// IsOptimization関数を使ったテスターの最適化モードの確認
#property strict
extern double lots =0.01; 
void OnInit() {

if(IsOptimization()==true) { // テスターで最適化をする時のみ買いの成行注文を実行

   int a = OrderSend(Symbol(), OP_BUY, lots, Ask, 30, 0, 0, "Buy", 1001, 0, clrNONE);
}
Print("テスター最適化の実行状況:", IsOptimization());
}

このコードの実行は、ストラテジーテスターの画面で「最適化」にチェック後、「スタート」ボタンを押して確認してください。任意で「期間を指定」と「エキスパート設定」の設定をしてください。(デモ口座でお試しください)

結果

上記コードは、「最適化」にチェックが入っている時のみ、買い成行注文が成立して最適化結果を表示することができます。

「エキスパート設定」から最適化の範囲の設定、「期間の指定」から期間範囲を変更するなどいろいろ試してみてください。

タイトルとURLをコピーしました