コンパイルのみで実行する方法
MetaEditorでプログラムのテストをする時、関数の出力や変数の変化を確認することがあります。その時にブレイクポイントを設定することなく、Print関数などで変化の状況を確認したりする時、コンパイルの都度、デバッグのスタートボタンを押すのは面倒です。また、終了した後に終了ボタンも押す必要もあります。
ですので、次のように設定することでデバッグのスタートボタン、終了ボタンを押さなくてもコンパイルするだけでプログラムが実行されるようになります。
➊ 最初に MT4のツールバーの「自動売買」が OFFになっていることを確認してください。
➋ テストする EAを対象通貨ペアのチャート上で実行させるようにします。EAをチャート上で実行させるには、MT4のナビゲーターウィンドウで実行させたい EAをカーソルで選択してチャート上に直接ドラッグ&ドロップします。
➌ 次のような設定画面が現れるので「全般」タブの画面でコモンを「Long & Short」にして、「自動売買を許可する」のチェックは外してください。
➍ 必要に応じて「パラメーターの入力」タグの画面で EAの設定を行なってください。
➎ 上記設定が終わって「OK」を押すと画面右上に EAの名前と☺が出てきます。次の状態になれば OKです。
これでコンパイルの都度、プログラムが稼働して Print関数によるログ出力や Alert関数によるアラートの出力が可能になります。
但し、OrderSend、OrderClose、OrderCloseBy、OrderModify、OrderDelete 関数についてはEAによる取引が許可されていないとコンパイル都度の稼働テストは出来ません。
これらの関数を含めてテストする時は次の自動売買の許可が必要になります。
全ての関数を含めてテストをする方法
自動売買を許可する方法です。テストの時は必ずデモ口座で行なってください。
OrderSend、OrderClose、OrderCloseBy、OrderModify、OrderDelete 関数を含めて稼働テストをする時は取引を実行することになり、次のとおり設定する必要があります。
① EAの設定で「自動売買を許可する」にチェック
② MT4のツールバー「自動売買」ボタンを ONにする
すると EAで取引が許可されたことになり、右上の顔が☺に変わります。これで実行できる状態になります。
しかし、土日など相場が動いていない時は稼働しません。
様々なテストを行なう時は、コンパイルのみで実行出来る設定にしておくと便利です。