質問: ビジュアルモードでバックテストをしたチャートの、EAがエントリーをした場所に、すぐ飛べるような方法って何かあるでしょうか? 「結果」タブの日時を見ながら、その位置にチャートを移動させて、1つ1つエントリーポイントを見て、を繰り返しながらプログラムを修正したりしているのですが、これが1発でポンポン移動できたらすごく速くてラクだなーと。 お知恵拝借下さると助かります。
回答: ありきたりな方法では、チャートをクリックしてアクティブにし、Enterを押し、日付YYYY.MM.DD HH:MM形式等で時間を入力すると移動します。 どうしてもワンタッチにしたいのなら、そのような機能を持つボタンをEAやIndicatorでプログラミングするしか方法はありません。 EAがエントリーポイントをオブジェクトで表示しているなら、比較的簡単にプログラミングできると思います。 ・「mql4 ボタン」で検索してとボタン周りをプログラミングする ・ボタン押下時のプログラミングをする ・現在の位置(WindowFirstVisibleBarやWindowBarsPerChart)を取得 ・ObjectsTotal、ObjectName、StringSubstrなどを使ってオブジェクトを検索する(「表示中のライン等」で確認できるオブジェクト名の共通部分を検索) ・現在の位置から順方向(か逆方向)に最も近いオブジェクトを探しあてる(ObjectGet(obj,OBJPROP_TIME1)やiBarShift) ・目的の場所にChartNavigateで移動 こんな流れになると思います。