エラー、バグ、質問 - ページ 3034

 

本日、フリーランスの求人ページにエラーが表示されました。

Chromeブラウザ。これと何の関係があるのですか?

 
Aleksey Vyazmikin:

M1で動作するEAがM1(または他のTF?)で、上限TFからデータを取得するインジケータを使用する場合、新しいバーの最初のティックで、上限TFが計算されるまでnティックかかるため、いかなる 場合も実際の値を返すことができないという理解で正しいですか?


実は、OnTickはOnCalculateと 同じシンボルで同期していません。理論的には、OnTickは遅く、その開始までにすべてのTFのすべてのインデックスが計算されるかもしれません?

 
Slava:

もう一方の時間軸からは、現在準備中のデータを取り込みます。つまり、出力ではすべてのデータが完全に同期していることになる。

では、なぜインジケーターは最初のリクエストで受け取ることができないのでしょうか?

タイマーを使わずに、通常のマルチTF(理想的にはマルチキャラクタ)インジケータを作るにはどうしたらよいでしょうか?

 
Andrey Khatimlianskii:

では、なぜインジケータは最初のリクエストでそれらを取得できないのでしょうか?

タイマーを使わずに、普通のマルチTF(理想的にはマルチキャラクター)のインジケーターを作るにはどうしたらいいでしょうか?

+

現在のアーキテクチャでは、残念ながらEAによる信号受信の遅延が避けられないのではないかと心配しています

 
こんにちは

Mql Cloudを使用した最適化中にエラーが表示される。

2021.05.31 18:24:57.348 MQL5 Cloud Europe pass 34 tested with error "critical runtime error 0 in OnInit function (error code 0, module ExpertsAdvisors123 expert.ex5, file 65535, line 1, col 1)" in 0:00:00.001 (PR 274)


何が問題なのか、アドバイスをお願いします。

Mql Cloudを使わずに最適化した場合、すべてがうまくいきます。この問題は05/29に始まり、それ以前はすべて順調だった。

 
Marat Bayburin:
こんにちは

Mql Cloudを使用した最適化中にエラーが表示される。

2021.05.31 18:24:57.348 MQL5 Cloud Europe pass 34 tested with error "critical runtime error 0 in OnInit function (error code 0, module ExpertsAdvisors123 expert.ex5, file 65535, line 1, col 1)" in 0:00:00.001 (PR 274)


何が問題なのか、アドバイスをお願いします。

Mql Cloudを使わずに最適化した場合、すべてがうまくいきます。問題は29.05に発生しました。それ以前はすべて順調でした。

コンパイラのビルドに問題があるのだと思います。同じエラーが出ます。
例えば、新しいビルドでコンパイルしたのに、エージェントはまだ古いビルドを使用している、などです。そうそう。
 
Marat Baiburin:
では、エージェントの更新を待てばいいのか?

もし、これらがエージェントとデスクトップPCの異なるビルドによるエラーであれば、はい、お待ちください。例えば私のエージェントは2950に更新されず、2949のままです。

 
Andrey Khatimlianskii:

では、なぜインジケータは最初のリクエストでそれらを取得できないのでしょうか?

タイマーを使わずに、通常のマルチTF(理想的にはマルチキャラクター)のインジケーターを作るにはどうしたらよいでしょうか?

最初のリクエストで、インジケータはそのシンボルからデータを受信しないかもしれませんが、別のタイムフレームについては、一つの理由だけで - 要求されたタイムシリーズが構築されていないか、リクエストがなかったときに、いくつかの時間後にすでに破壊されています。

リクエストに失敗した後は、チャートを更新するコマンドを 送るだけで、OnCalculateを直ちに終了させます。OnCalculateが呼び出され、この時間までにタイムスケールが準備されることが保証されています。

Документация по MQL5: Операции с графиками / ChartSetSymbolPeriod
Документация по MQL5: Операции с графиками / ChartSetSymbolPeriod
  • www.mql5.com
ChartSetSymbolPeriod - Операции с графиками - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Slava:

最初のリクエストで、インジケータはそのシンボルからではなく、別のタイムフレームからデータを受信しないかもしれません - 必要なタイムシリーズはまだ構築されていないか、リクエストがなかったときに、いくつかの時間後にすでに破棄されています。

リクエストに失敗した 後は、 チャートを更新するコマンドを 送るだけで、OnCalculateを直ちに終了させます。
OnCalculateが呼ばれることが保証されており、この時までに必要な時系列が準備されていることが保証されている。


最初のインジケータ呼び出しで、すべてのデータに対して計算がループされます。

//Расчёт количества просчитываемых баров
int limit = rates_total-prev_calculated;
   
//Если первый запуск
if(limit > 1)
{
   //какая нибудь инициализация
   
}

//================================================================
for(int i=limit; i>=0 && !IsStopped(); i--)
{
   ...  

このループの中で、失敗したリクエストがあった場合、何を返すべきでしょうか?
Limit+1では 失敗したのですか?
それとも何?この点がよくわからない。

 
Roman:


教えてください、例えば最初にインジケータを呼び出すと、すべてのデータに対してループで計算が実行されます。

また、このループの中で失敗したリクエストがあった場合、何を返すべきなのでしょうか?
Limit+1では 失敗したのですか?
それとも何?この点がよくわからない。

自分で確認することはできないのですか?