初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1493

 



EventSetTimer(3600); // 3600 seconds = 60 minutes

この場合、ターミナル変数の値の次のチェックは60分後に行われます。
しかし、視覚化されたテスターでは、60分は数秒で実行され、インジケーターは60分後に値をチェックします。
それとも、テスターのExpert Advisorと別ウィンドウのインジケーターは、何らかの方法で時間を「同期」させるべきでしょうか。- 例えば、Expert Advisorが数秒後にターミナル変数に値を送信する場合、Indicatorは数秒後にターミナル変数の値をチェックするように呼び出しますか?
このようなことに遭遇した人はいますか、どのように解決しますか?

 
grezky EventSetTimer(3600); // 3600 seconds = 60 minutes

この場合、ターミナル変数の値の次のチェックは60分後に行われます。
しかし、視覚化されたテスターでは、60分は数秒で実行され、インジケーターは60分後に値をチェックします。
それとも、テスターのExpert Advisorと別ウィンドウのインジケーターは、何らかの方法で時間を「同期」させるべきでしょうか。- 例えば、Expert Advisorが数秒後にターミナル変数に値を送信する場合、Indicatorは数秒後にターミナル変数の値をチェックするように呼び出しますか?
このようなことに遭遇した人はいますか、どのように解決しますか?

テスター分はテスターの中でモデル化されています。なぜそれをチェックできないのですか?簡単なことです。

 
Artyom Trishkin #:

テスター分はテスターの中でモデル化される。何がテストの妨げになっているのか?簡単です。

インジケーターは別ウィンドウで実行されますが、テスターの作業に従って、3600秒後ではなく、数秒後にターミナル変数の値をチェックする必要があることをどうやって知るのでしょうか?
 
grezky #:
インジケーターは別ウィンドウで実行されますが、3600秒後ではなく、テスターの作業に従って数秒後にターミナル変数の値をチェックすることをどうやって知るのでしょうか?

明確な質問ではありません。

 
Artyom Trishkin #:

明確な質問ではない。


視覚化モードのテスターでは、Expert Advisor取引シミュレーター(すでに作成済み)をM5のプライスアクションで実行し、手動で取引します。
分析にはH1チャートも必要です。H1チャートは別ウィンドウで開き、H1のウィンドウでテスターの現在のM5バーの右側に未来を見ることができないように、インジケーターは黒い四角形を描きます。M5の最後の(つまりテスターではゼロの)バーの開始時間は、ターミナル変数を通してインジケーターに送信されます(この時間の右側にある長方形でバーが隠されます)。

テスターから1時間に1回H1のバーの開始時間の新しい値を送信すると、テスターでは実際に1-2-3秒かかりますが、インジケーターは3600秒ごとにターミナル変数の値をチェックします。


追記 メタトレーダーがインターネットから切断され、ティックがインジケーターに来ません。

- - - -

テスト用のインジケーターを書いたのですが、エラーが出ます(init, deinit, startを使用しており、OnCalculate()などには遭遇していません)。
.

OnCalculate function declared with wrong type or/and parameters CHECK___TESTER_TermVariable.mq4 33      5
OnCalculate function not found in custom indicator              1       1
1 errors, 1 warnings            2       2


#property indicator_chart_window

datetime   MTF_Time_0            = 0;




void OnInit() {
//   EventSetTimer(3600);   // 3600 секунд = 60 минут
   EventSetTimer(3);        // 3 секунды - периодичность запуска функции OnTimer()
   return;
}



void OnDeinit(const int reason) {
   EventKillTimer();
}




void OnTimer() {
   if(GlobalVariableGet("_AA__MTF_Time_0")>MTF_Time_0 ) {
      MTF_Time_0                 = GlobalVariableGet("_AA__MTF_Time_0");
      GlobalVariableSet("_AA__MTF_Time_0", 0);
   } // if(GlobalVariableGet("_AA___Time_Control_Check")>=Time[0] ) {
} // void OnTimer() {




int OnCalculate(int Time_tmp) {
   if(MTF_Time_0>0) {
      ObjectDelete(       "VLINE_Name_1");
      FUNCTION_DRAW_VLINE("VLINE_Name_1", clrPink, 1, MTF_Time_0, true, TimeToStr(MTF_Time_0, TIME_DATE|TIME_MINUTES), 0);
   }
   Time_tmp                      = MTF_Time_0;

   return(Time_tmp);
} // void OnCalculate() {


 
grezky #:

視覚化モードのテスターでは、Expert Advisorのトレーディング・シミュレーター(すでに作成済み)をM5のプライス・アクションで実行し、手動で取引します。 分析にはH1チャートも必要です。H1チャートは別ウィンドウで開き、H1のウィンドウでテスターの現在のM5バーの右側に未来を見ることができないように、インジケーターは黒い四角形を描きます。M5の最後の(つまりテスターではゼロの)バーの開始時間は、ターミナル変数を通してインジケーターに送信されます(この時間の右側にある長方形でバーが隠されます)。 テスターから1時間に1回H1のバーの開始時間の新しい値を送信すると、テスターでは実際に1-2-3秒かかりますが、インジケーターは3600秒ごとにターミナル変数の値をチェックします。 追記 メタトレーダーがインターネットから切断され、ティックがインジケーターに来ません。 - - - - テスト用のインジケーターを書いたのですが、エラーが出ます(init, deinit, startを使用しており、OnCalculate()などには遭遇していません)。 .















繰り返しになりますが、黒い四角やさまざまなグラフがなぜこんなに複雑なのか理解できませんが、繰り返します:テスターの時間はエミュレートされます。テスターの1時間は実時間の1時間ではありません。エミュレートされたテスターの1時間に等しいのです。

エクスパート・アドバイザーが新しい時間足のバーを開くときに、(なぜか)チャートを黒いカーテンで覆ってしまうのを防いでいるのは誰なのだろうか?

 
Artyom Trishkin #:
EA が新しい時間足バーをオープンするときにチャートを黒いカーテンで覆うのを(何らかの理由で)防いでいるのは誰なのか、はっきりしません。

M5チャートはテスターで開いていますが、市場状況を分析するためには(少なくとも)H1が必要です。
(テスターではM5で取引が開始されますが、手動で、H1での分析も「手動」で行われます)。
H1はテスターではなく別のウィンドウで開かれ、右側を閉じるインジケーターはそこで実行されます。
インジケーターはテスターから時間を取得しますが、実際の時間、つまりテスターの時間ではなく実際の時間を通してチェックします。

前のメッセージにあるコードのどこにエラーがあるか確認してください。
多分、3秒後にチェックすれば問題は解決すると思います。
MT4用のPSコード。

 
grezky #:

M5 チャートはテスターで開いていますが、市場の状況を分析するために(少なくとも)H1 が必要です。
(テスターでは M5 で取引が開始されていますが、手動で、H1 での分析も「手動」で行われます)。
H1 はテスターではなく別のウィンドウで開かれ、そこで右の部分をクローズするインジケーターが実行されます。
インジケータはテスターから時間を取得しますが、インジケータは実際の時間、つまりテスターの時間ではなく実際の時間を通してチェックします。

前のメッセージで与えられたコードのどこにエラーがあるか確認してください。
たぶん、3秒後にチェックすれば問題は解決すると思います。
MT4用のPSコード。

MT4に関する質問は、適切なスレッドに書き込んでください。ここ - MQL5とMetaTrader 5ターミナルに関する質問。

 
Artyom Trishkin #:

繰り返しになるが、黒い四角やさまざまなグラフの目的は何なのかわからないが、もう一度言う。テスターの1時間は実時間の1時間と同じではない。エミュレートされたテスターの1時間と同じなのだ。

エクスパート・アドバイザーが新しい時間足を開くときに黒いカーテンでチャートを覆うのを(なぜか)防いでいるのは誰なのだろうか?

通常、時間のエミュレーションは誰にとっても明確ではありません。)

より詳細であることは常に良いことですが、それはテスターが1秒またはより速く1時間のすべてのイベントを通過することを意味します。)

 

こんにちは。

受け取った最適化パラメータを別の期間で再実行する方法を教えてください。

エクセルに記録された1つの通貨ペアのパラメータで、過去半年間最適化されました。昨年1年間の期間を設定し、そのパラメータを実行したい。
何がパスし、何がパスしないかをチェックし、エクセルに書き出す。そうすれば、例えば過去2年分も実行できるかもしれない。

理由: