mql5言語の特徴、微妙なニュアンスとテクニック - ページ 71 1...646566676869707172737475767778...247 新しいコメント Denis Kirichenko 2018.02.22 08:01 #701 fxsaber 記事「MetaTrader 5におけるトレード戦略の最適化の可視化」についての考察fxsaber さん 2018.02.22 08:39フレームモードでは、OnInit、OnDeinit、OnTick、OnTrade、OnTradeTransaction、OnTimerは無視されます。OnChartEventのみ動作します。 もちろん、OnChartEventのため、フレームモードフラグの必須チェックを必要とします。 どこからそんな暗黙の了解が生まれたのでしょうか。:-) fxsaber 2018.02.22 08:04 #702 デニス・キリチェンコなぜ、そう言い切れるのですか?:-)もちろん、練習からです。 Denis Kirichenko 2018.02.22 08:19 #703 それでは質問です。フレームモードは、一般的にテスティングを指すモードなのか、そうでないのか。 fxsaber 2018.02.22 08:22 #704 デニス・キリチェンコそれでは質問です。Frameモードは、一般的にTestingに適用されるモードなのか、そうでないのか。間接的にはそうです。このモードでは、Expert AdvisorはTesterによってのみターミナルで起動することができるというだけです。 Denis Kirichenko 2018.02.22 08:30 #705 OKです。また、Expert Advisor に OnTick() ハンドラがある場合、フレームモードでは動作しないのでしょうか? フレームハンドラは Terminal 自身が実行し、テスト用の通常機能 (OnTick(), OnTrade() など) はすべてテストエージェントに渡されることをここで明確にすべきです。) がテストエージェントに 渡されます。したがって、フレームモードは特殊な複合テストモードであり、AgentはTerminalと相互作用する。 つまり、こうだ...。 トレーディング、自動売買システム、ストラテジーテストに関するフォーラム mql5言語の特徴、微妙なニュアンスとコツ fxsaber さん 2018.02.22 09:22 間接的に、適用される。ただ、このモードでは、テスター自身がターミナルでEAを実行することしかできないのです。 そして、なぜ間接的になのか?例えば、通常の最適化はTesterだけで実行することも可能です。 fxsaber 2018.02.22 08:47 #706 デニス・キリチェンコOKです。また、Expert Advisor に OnTick() ハンドラがある場合、フレームモードでは動作しないのでしょうか? フレームハンドラは Terminal 自身が実行し、テスト用の通常機能 (OnTick(), OnTrade() など) はすべてテストエージェントに渡されることをここで明確にすべきです。) がテストエージェントに 渡される。したがって、フレームモードは特殊な複合テストモードであり、AgentはTerminalと相互作用します。 こんな感じです。 そして、なぜ間接的になのか?例えば、通常の最適化はTesterでしか実行できない。フレームモードでもコンバットエキスパートアドバイザーだから。そのため、OnChartEventでフレームフラグをチェックしないと、このようなトラブルが発生します。 sinput uint Range = 100; #define SETRANGE(A, START, STEP, END) ParameterSetRange(#A, true, A, START, STEP, END) void OnTesterInit() { SETRANGE(Range, 0, 1, Range); } void OnTesterDeinit() {} void OnChartEvent(const int id,const long& lparam,const double& dparam,const string& sparam) { static const bool IsFrame = MQLInfoInteger(MQL_FRAME_MODE); // if (!IsFrame) // без этой проверки Терминал (не только Агент) начнет выставлять ордера на реальном счете во время запуска Оптимизации OrderSend(_Symbol, OP_BUY, 1, Ask, 100, 0, 0); } このような声は、今回が初めてのようです。つまり、Market Productsは厄介な脆弱性を作り出してしまうのです...。そして、この脆弱性を回避するのはとても難しいのです。しかも、それを検知するのは非常に難しい。 Denis Kirichenko 2018.02.22 10:53 #707 fxsaber: フレームモードでも戦闘EAだから。OnChartEventでフレームフラグをチェックしないと、このようなトラブルが発生するためです。このような声は、今回が初めてのようです。つまり、Market Productsは厄介な脆弱性を作り出してしまうのです...。そして、この脆弱性を回避することは非常に困難です。検出も同様に難しい。しかし!もし本当なら、テスト モードでのEAの動作がおかしいのでは...とイミフです。 よくぞ気づいてくれました。 fxsaber 2018.02.27 07:03 #708 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム バグ、バグ、質問 fxsaber さん 2018.02.27 08:01 OBJ_CHART上のEAに関する結論 OnInit, OnDeinit, グローバルコンストラクタ/デストラクタ, OnChartEventが動作します。OnTimer、OnTick、OnBookEventが動作しない。CHARTEVENT_CHART_CHANGEとカスタムイベントのみ捕捉されます。OnChartEvent+EventChartCustom EAを通じて、OnTimerとOnTickの「イベント」を作成 することは可能ですが、OnBookEventはできません。したがって、適切なインジケータ(例)を組み込むことで、あらゆるタイプのチャート上でOnTimer + OnTickを動作させるなど、Expert Advisorを本格的なものにすることができます。 Lf OBJ_CHART が CHART_IS_OBJECT で定義されている場合。 fxsaber 2018.02.28 07:52 #709 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム "管理された最適化:アニーリング法 "についてのディスカッション fxsaber さん 2018.02.28 08:45 tester_file はコンパイル時に存在する場合のみ読み込まれます(内容は関係ありません)。 対応するファイルがないときにmq5をコンパイルすると、EX5ではその先の存在すら認識できない。 従って、OnTesterInit で tester_file のファイルを生成する場合は、少なくとも空のパスされたファイルで Expert Advisor をコンパイルするようにしてください。tester_file ディレクティブが存在する場合、オプティマイザーのキャッシュは機能しません。 Roffild 2018.03.03 19:32 #710 また、Files_Commonフォルダのファイルをtester_fileでインクルードすることはできません...。 1...646566676869707172737475767778...247 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
fxsaber
記事「MetaTrader 5におけるトレード戦略の最適化の可視化」についての考察
fxsaber さん 2018.02.22 08:39
フレームモードでは、OnInit、OnDeinit、OnTick、OnTrade、OnTradeTransaction、OnTimerは無視されます。OnChartEventのみ動作します。
もちろん、OnChartEventのため、フレームモードフラグの必須チェックを必要とします。
どこからそんな暗黙の了解が生まれたのでしょうか。:-)
なぜ、そう言い切れるのですか?:-)
もちろん、練習からです。
それでは質問です。フレームモードは、一般的にテスティングを指すモードなのか、そうでないのか。
それでは質問です。Frameモードは、一般的にTestingに適用されるモードなのか、そうでないのか。
間接的にはそうです。このモードでは、Expert AdvisorはTesterによってのみターミナルで起動することができるというだけです。
OKです。また、Expert Advisor に OnTick() ハンドラがある場合、フレームモードでは動作しないのでしょうか?
フレームハンドラは Terminal 自身が実行し、テスト用の通常機能 (OnTick(), OnTrade() など) はすべてテストエージェントに渡されることをここで明確にすべきです。) がテストエージェントに 渡されます。したがって、フレームモードは特殊な複合テストモードであり、AgentはTerminalと相互作用する。
つまり、こうだ...。
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
mql5言語の特徴、微妙なニュアンスとコツ
fxsaber さん 2018.02.22 09:22
間接的に、適用される。ただ、このモードでは、テスター自身がターミナルでEAを実行することしかできないのです。
そして、なぜ間接的になのか?例えば、通常の最適化はTesterだけで実行することも可能です。
OKです。また、Expert Advisor に OnTick() ハンドラがある場合、フレームモードでは動作しないのでしょうか?
フレームハンドラは Terminal 自身が実行し、テスト用の通常機能 (OnTick(), OnTrade() など) はすべてテストエージェントに渡されることをここで明確にすべきです。) がテストエージェントに 渡される。したがって、フレームモードは特殊な複合テストモードであり、AgentはTerminalと相互作用します。
こんな感じです。
そして、なぜ間接的になのか?例えば、通常の最適化はTesterでしか実行できない。
フレームモードでもコンバットエキスパートアドバイザーだから。そのため、OnChartEventでフレームフラグをチェックしないと、このようなトラブルが発生します。
このような声は、今回が初めてのようです。つまり、Market Productsは厄介な脆弱性を作り出してしまうのです...。そして、この脆弱性を回避するのはとても難しいのです。しかも、それを検知するのは非常に難しい。
フレームモードでも戦闘EAだから。OnChartEventでフレームフラグをチェックしないと、このようなトラブルが発生するためです。
このような声は、今回が初めてのようです。つまり、Market Productsは厄介な脆弱性を作り出してしまうのです...。そして、この脆弱性を回避することは非常に困難です。検出も同様に難しい。
しかし!もし本当なら、テスト モードでのEAの動作がおかしいのでは...とイミフです。
よくぞ気づいてくれました。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
バグ、バグ、質問
fxsaber さん 2018.02.27 08:01
OBJ_CHART上のEAに関する結論
したがって、適切なインジケータ(例)を組み込むことで、あらゆるタイプのチャート上でOnTimer + OnTickを動作させるなど、Expert Advisorを本格的なものにすることができます。
Lf OBJ_CHART が CHART_IS_OBJECT で定義されている場合。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
"管理された最適化:アニーリング法 "についてのディスカッション
fxsaber さん 2018.02.28 08:45
tester_file はコンパイル時に存在する場合のみ読み込まれます(内容は関係ありません)。
対応するファイルがないときにmq5をコンパイルすると、EX5ではその先の存在すら認識できない。
従って、OnTesterInit で tester_file のファイルを生成する場合は、少なくとも空のパスされたファイルで Expert Advisor をコンパイルするようにしてください。
tester_file ディレクティブが存在する場合、オプティマイザーのキャッシュは機能しません。