テスターでSLとTPをドラッグ&ドロップします。

 
テスト中にチャート上でSLやTPをドラッグできるような機能を作ることは可能でしょうか?
 
khorosh:
テスト中にSLやTPをチャート上でドラッグできるような機能は作れないのでしょうか?
仮想のものだけ-横線入り。テイクとロスの代わりにラインを設定し、出口を作るのに利用する。
 
Vitaly Muzichenko:
仮想のものだけ-横線入り
できると思います。可能性のあるバリエーションはおおよそ見当がつきますが、実際に試して確認する必要があります。例えば、私はすでにテスト時に、チャートのあるポイントにスクリプトをドラッグすることでオーダー・プレースメントを使用しています。CHARTEVENT_CLICK イベントを使用して、カーソル座標を読み取り、そのデータを使用して注文を修正 するスクリプトを実行 する必要があると思うのですが、いかがでしょうか。
 
khorosh:
可能だと思います。私はおよそ可能性のあるバリエーションを見ますが、我々はそれを試してみて確認する必要があります。例えば、チャート上の必要なポイントにスクリプトをドラッグすることで、テスト時にすでにオーダー・プレースメントを使用しています。CHARTEVENT_CLICK イベントを使用して、マウス座標を読み取り、このデータを使用して注文を修正 するスクリプトを実行 する必要があると思うのですが、いかがでしょうか。

OnChartEventがテスターで動作しない。しかし、その方法にはいくつかのアイデアがあります。

テスターでのトレードの企画をブログにアップしましたが、SLやTPの改造を加えてみるのもいいかもしれませんね。問題は、どの順番でポイントやストップを設定するかを指定する方法です。最初にオーダーラインをクリックする必要があるのでしょうか?

 
Alexey Volchanskiy:

OnChartEventがテスターで動作しない。しかし、その方法にはいくつかのアイデアがあります。

テスターでのトレードの企画をブログにアップしましたが、SLやTPの改造を加えてみるのもいいかもしれませんね。問題は、どの順番でポイントやストップを設定するかを指定する方法です。最初にクリックするのは、注文行?

オーダーが属するポジションをどのように認識しているかを見てみましょう。ソースコードを並べることはしませんが、この問題は並べなくとも明らかです。Experts "フォルダに入れる

ファイル:
TP.ex4  731 kb
 
Alexey Volchanskiy:

OnChartEventがテスターで 動作しない。しかし、その方法にはいくつかのアイデアがあります。

テスターでのトレードの企画をブログにアップしましたが、SLやTPの改造を加えてみるのもいいかもしれませんね。問題は、どの順番でポイントやストップを設定するかを指定する方法です。注文行の最初のクリック?

機能しない。テスターのチャート上に 手動取引用のEAを制御するボタンが あるのですが。ボタンをクリックしたときのイベントはOnChartEventを 使用しています。ビジュアルモードでストラテジーをテストしています。

 
Vitaly Muzichenko:

はい。"Expert Advisor "でテストする場合OnChartEvent()関数を使用してカスタムイベントを処理できますが、インジケータではこの関数がテスターで呼び出さ れません。インジケータにOnChartEvent()ハンドラがあり、このインジケータがテスト中のExpert Advisorで使用されている場合でも、インジケータ自体はカスタムイベントを受信 しません。"

インジケータを立ち上げて、OnChartEventを 使用して、コントロールボタンを配置しています。すべてがうまくいく。
Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
khorosh:

うまくいかないわけがない。テスターのチャート上に 手動取引用のExpert Advisorを制御するボタンが あるのですが、このボタンはどうすればいいのでしょうか?ボタンを押したときのイベントはOnChartEventを 使用しています。ビジュアルモードでストラテジーをテストしています。

MT4やMT5用のExpert Advisorはありますか?
 
Alexey Volchanskiy:
MT4やMT5用のExpert Advisorはありますか?
MT4です。MT5で取引していない。
 
khorosh:
MT4です。MT5で取引していない。

OK、明日もう一度確認します。ヘルプ950のビルドを見ると、すべての制限が残っています。

----------------------------------------- ヘルプより VN4 950 build ----------------。

MQL4ハンドブック / MQL4プログラム / ストラテジーテスターのプログラムの特徴

ストラテジーテスターでのイベント処理

ストラテジーテスターでは、次のイベントが処理されます:1回実行前のEAの初期化 OnInit()、1回実行後のEAの非初期化 OnDeInit()、新しいティックのシミュレーション OnTick().

また、Expert Advisorが ヒストリカルデータでテスト された場合、OnDeInit()が呼ばれる前にTesterイベントが発生し、OnTester()関数で処理される。この関数が返す値は、入力パラメータを最適化する際のCustom max基準として使用されます。

Strategy Testerでは、TimerとChartEventの イベント処理はサポートされていません。

---------------------------------------

テスター用のモードは別に用意し、OnTickでボタンの状態を監視しています。

 
Alexey Volchanskiy:

OK、明日もう一度確認します。ヘルプ950のビルドを見ると、すべての制限が残っています。

----------------------------------------- ヘルプより VN4 950 build ----------------。

MQL4ハンドブック / MQL4プログラム / ストラテジーテスターのプログラムの特徴

ストラテジーテスターでのイベント処理

ストラテジーテスターでは、次のイベントが処理されます:1回実行前のEAの初期化 OnInit()、1回実行後のEAの非初期化 OnDeInit()、新しいティックのシミュレーション OnTick().

また、Expert Advisorが ヒストリカルデータでテスト された場合、OnDeInit()が呼ばれる前にTesterイベントが発生し、OnTester()関数で処理される。この関数が返す値は、入力パラメータを最適化する際のCustom max基準として使用されます。

TimerとChartEventの イベント処理は、StrategyTesterでは サポートされていません。

---------------------------------------

私はテスター用に別のモードを作り、OnTickでボタンの状態を監視しています。

ヘルプで対応できないことも多々あります。例えばExpert Advisorからテストした場合、他のTFの時系列は正常に読み込まれるが、インジケータから呼び出した場合、テスト開始時の値が表示される。プロのプロジェクターではないので、こういった事象を正しく理解できていないのかもしれませんね。しかし、私の場合、ボタンを押すと、あるコードが端末のグローバル変数に代入され、そのコードがExpert Advisorで解読され、ある操作に使われるのです。そして、テスターでも実機でも、まったく同じように動作します。ボタンはインジケータに実装されていますが、Expert Advisorに直接実装することもできるのでしょう。EAごとにボタンを作らなくても、インジケータが1つあれば十分なので、インジケータの方が便利です。

理由: