以下は、WPRカスタムインジケーターの入力パラメータです:
- インジケーターのメインラインの色
- インジケーターのメインラインの幅
- インジケーターのレベル値(2つ)

なぜこのようにしたのか
EAを使ってiWPR(ウィリアムズ・パーセントレンジ、%R)標準インジケーターをテストする際、いつも期待外れな結果になることが多いです。インジケーターの色を変更できない(#1)ことや、特にレベル値が常に同じ(#2)であることが問題です。

一方で、iWPRに基づくEAは「-25」と「-75」のレベルを使用できますが、視覚テスト中に表示されるのはインジケーター自体に厳密に固定されているレベル(「-20」と「-80」)だけです。この表示は非常に不便に感じたため、入力パラメータにいくつかの設定を加えました。
これで、EAから呼び出された時、インジケーターのレベルがトレーディングシステムにぴったり合うようになりました。以下は、WPRカスタムを呼び出す例で、Vlado EAに実装されたMQL5コードです。
//--- iWPRインジケーターのハンドルを作成 handle_iCustom=iCustom(m_symbol.Name(),Period(),"WPR Custom",Inp_WPR_Period, Inp_WPR_Color,Inp_WPR_Width,Inp_WPR_Level1,Inp_WPR_Level2); //--- ハンドルが作成されていない場合 if(handle_iCustom==INVALID_HANDLE) { //--- 失敗を知らせ、エラーコードを出力 PrintFormat("シンボル %s/%s のiWPRインジケーターのハンドル作成に失敗しました。エラーコード %d", m_symbol.Name(), EnumToString(Period()), GetLastError()); //--- インジケーターは早めに停止 return(INIT_FAILED); }
そして、戦略テスターでの表示結果は以下の通りです:
