今回は、オシレーターであるBlauErgodicMDIを使用したトレーディングシステムをご紹介します。このシステムでは、厳密にトレード時間を設定できるオプションがあります。
取引の判断は、ヒストグラムの方向が変わったとき、ゼロラインを突破したとき、またはシグナルラインの雲の色が変わったときに行います。エントリーアルゴリズムオプションを選択するための入力パラメーターは次のとおりです:
input AlgMode Mode=twist; //市場エントリーアルゴリズム
指定した時間間隔で取引を行うために、入力パラメーターで取引時間を指定できます:
input bool TimeTrade=true; //時間間隔での取引を許可 input HOURS StartH=ENUM_HOUR_0; //取引開始時間(時) input MINUTS StartM=ENUM_MINUT_0; //取引開始時間(分) input HOURS EndH=ENUM_HOUR_23; //取引終了時間(時) input MINUTS EndM=ENUM_MINUT_59; //取引終了時間(分)
開始時間と終了時間の操作には、時間と分の2つの変数が提供されています。
デフォルト設定では、エキスパートアドバイザーは0:00から全取引セッションを行い、すべてのポジションは23:59にクローズされます。
開始時間が指定された終了時間より遅い場合、エキスパートアドバイザーは翌日の指定された時間にポジションをクローズします。
このEAが正しくコンパイルされるためには、インジケーターBlauErgodicMDI.ex5がterminal_data_directory\MQL5\Indicatorsフォルダーに存在する必要があります。EAをコンパイルする際、インジケーターはEAのコード内にリソースとして含まれているため、関連するターミナルフォルダーに存在する必要はありません。
TradeAlgorithms.mqhライブラリファイルを使用することで、ゼロスプレッドを提供するブローカーとのエキスパートアドバイザーを使用でき、ポジションオープン時にストップロスとテイクプロフィットを設定するオプションも利用できます。このライブラリの他のバージョンはTradeAlgorithmsからダウンロード可能です。
以下のテストで示されたのは、デフォルトのエキスパートアドバイザーの入力パラメーターです。テスト中にはストップロスとテイクプロフィットは使用されていません。

図1. チャート上の取引例
2016年のAUDUSD H4のテスト結果は次の通りです:

図2. テスト結果チャート