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

 
Renat:
404 ビルドのテスターは、標準の Moving Average Expert Advisor をテストするときにもクラッシュするのですね。
移動平均線 とMACDの両方で混乱が発生する...
 
52_rus:

テスト:TF H1 上のMACDサンプル1年分。第1回テスト直後、第2回テスト:MACDサンプルはTFで1年分 Н4 ; レポートでは、TFH1での 最初のテストの結果を得ることができます。

最初のテストから5分待って、別のTFで次のテストを実行すると、最初のテストレポートとは異なる、新しい正しいレポートが得られます。

ビルド404

同様の問題へのリンクhttps://www.mql5.com/ru/forum/3139

メッセージをありがとうございました。再現、修正します。
 

皆さん、こんにちは。Expert Advisorのコードをいくつか書きました。

   double Open1[1],Open2[1];
   int data1=CopyOpen(Symbol1,0,1,1,Open1);
   int data2=CopyOpen(Symbol1,0,5,1,Open2);
   double ss=MathAbs(Open1[0]-Open2[0]);

1小節と5小節の差を計算します。ログにプリントさ れる

で、こうなりました。

ssはモジュロの違いであり、このラインの前にはオープンナンバーの1と5のバーがあります。

この差はどのように計算されているかは不明ですが、すべての i 番目の

バー、通貨、TF。10件に1件の割合で表示されます。もしかして、サービスなのか、私が何か勘違いしているのか?

...私の思い違い?

 
alexluek:

皆さん、こんにちは。Expert Advisorのコードをいくつか書きました。

1小節と5小節の差を計算します。Printでログに出力する

これはどうでしょう?

Print(DoubleToString(ss,SymbolInfoInteger(Symbol1,SYMBOL_DIGITS)));
 
alexvd:

これはどうでしょう?

OK、テスターが完成したら3-4時間後に確認します。

が、なぜPrintで このようなこと(数値変換)が行われるのかは不明です。

そのように計算され、Expert Advisorがそのように動作するのであれば。

もしかして、コードで同じことをするとヒントがあるのでは?

そうすれば、あなたの作ったものをコードで試すことができるようになります。

Документация по MQL5: Общие функции / Print
Документация по MQL5: Общие функции / Print
  • www.mql5.com
Общие функции / Print - Документация по MQL5
 

同じ ...

 
alexluek:

同じ ...

差分を正規化する

double ss=MathAbs(NormalizeDouble(Open1[0]-Open2[0], SymbolInfoInteger(Symbol1,SYMBOL_DIGITS)));

https://www.mql5.com/ru/articles/1561

https://www.mql5.com/ru/docs/convert/normalizedouble

https://www.mql5.com/ru/docs/basis/types/double

ってか

double ss=NormalizeDouble(MathAbs(Open1[0]-Open2[0]), SymbolInfoInteger(Symbol1,SYMBOL_DIGITS));
Особенности работы с числами типа double в MQL4 - Статьи по MQL4
  • www.mql5.com
Особенности работы с числами типа double в MQL4 - Статьи по MQL4: примеры использования экспертов, тестирования и оптимизации
 

1時間か2時間後に試してみて、返信します...。

 
alexluek:

1時間か2時間後に試してみます・・・。

手始めにヘルプで実数値を読んでみましょう。
 

ふむふむ復活しました。

possible loss of data due to type conversion

おそらく何かを見逃しているNormalizeDouble

配列処理と同様(例えば、...[1]-identify と [0] - use を混同しないように)。