MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 990

 
Alexandr Sokolov:

***

ここでは、アレルギーを起こしただけで、EMPTY_VALUEを掛けただけで、infになります。

***

О!とても良い例です保存する必要がある ...

   double a=EMPTY_VALUE;
   Print("- - -");
   Print("EMPTY_VALUE / 2 = ",a/2.0);
   Print("EMPTY_VALUE * 2 = ",a*2.0);
   Print("EMPTY_VALUE - 2 = ",a-2.0);
   Print("EMPTY_VALUE + 2 = ",a+2.0);
   Print("EMPTY_VALUE = ",a);

と結果が出ました。

2019.11.02 07:50:48.131 INF (ATD.B.XTSE,H1)     - - -
2019.11.02 07:50:48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE / 2 = 8.988465674311579 e+307
2019.11.02 07:50:48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE * 2 = inf
2019.11.02 07:50:48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE - 2 = 1.797693134862316 e+308
2019.11.02 07:50:48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE + 2 = 1.797693134862316 e+308
2019.11.02 07:50:48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE = 1.797693134862316 e+308
 

https://www.mql5.com/ru/docs/constants/namedconstants/otherconstants

EMPTY_VALUE  Пустое значение в индикаторном буфере DBL_MAX


infはオーバーフロー
 
werter:

愉快だ。

これはBuySellVolumeです。総量はBuyとSellの合計に等しくなく、わずかに多い程度である。

問題を詳しく説明し、コードから不要なものを削除し...。

そんな糞みたいなコード、小さくてもいいから掘り下げたくない...。

 
Vladimir Pastushak:

問題を詳しく説明し、コードから不要なものを削除し...。

小さいとはいえ、こんなクソみたいなコード、掘りたくないよ...。

これ以上必要ない。ありがとう、間違いがわかった。
 
LuckyTrader:

アレイの範囲外

strictを追加した後にエラーが発生しました。

コンパイラは、エラーが発生する行とカーソル位置を教えてくれる、MEの使い方を学ばなければ、このままでは意味がない

 
LuckyTrader:
ラインは示しました。

ということは、ループ内の変数iが

for(int i=0; i<62; i++)

配列 番号Fibo[]よりも大きくなった。

配列を記述する箇所を探す、またはこの配列のサイズを変更する

でループの前に置くことができます。

Print("Размер массива numberFibo = " , ArraySize(numberFibo));
 

このメッセージを読みやすくするには?

Alert("Тестовое \r\nсообщение №1");
Alert("Тестовое \r\nсообщение №2");


ポイントは、大きなベルの近くにあるアラートウィンドウの最後のメッセージは全部読めますが、前のメッセージはエキスパートログでしか読めないことです(ただしその場合は、互いに仕分けるために注意を集中する必要があります)。


一般ユーザーが便利に使うにはどうしたらいいのでしょうか?例えば、シンボル、タイムフレーム、取引の方向性、始値、ストップ、利益を表示したらどうなるか想像してみてください。

 
LuckyTrader:

アレイの範囲外

strictを追加した後にエラーが発生しました。

この

   for(int i=0; i<62; i++)
     {
      numberFibo            [i]=0;
      numberPesavento       [i]=0;
      numberGartley         [i]=0;
      numberGilmorQuality   [i]=0;
      numberGilmorGeometric [i]=0;
      numberGilmorHarmonic  [i]=0;
      numberGilmorArithmetic[i]=0;
      numberGilmorGoldenMean[i]=0;
      numberSquare          [i]=0;
      numberCube            [i]=0;
      numberRectangle       [i]=0;
      numberExt             [i]=0;
     }

で置き換えることができます。

ZeroMemory(numberFibo);
ZeroMemory(numberPesavento);
ZeroMemory(numberGartley);
ZeroMemory(numberGilmorQuality);
ZeroMemory(numberGilmorGeometric);
ZeroMemory(numberGilmorHarmonic);
ZeroMemory(numberGilmorArithmetic);
ZeroMemory(numberGilmorGoldenMean);
ZeroMemory(numberSquare);
ZeroMemory(numberCube);
ZeroMemory(numberRectangle);
ZeroMemory(numberExt);

そうすると、なぜか配列のリサイズが 表示されないんです。充填前のアレイの大きさは?

 
Alexandr Sokolov:

このメッセージを読みやすくするには?


ポイントは、大きなベルの近くにあるアラートウィンドウの最後のメッセージは全部読めますが、前のメッセージはエキスパートログでしか読めないことです(ただしその場合は、互いに仕分けるために注意を集中する必要があります)。


一般ユーザーが便利に使うにはどうしたらいいのでしょうか?例えば、シンボル、タイムフレーム、取引の方向性、始値、ストップ、利益を表示したらどうなるか想像してみてください。

次のアップデートで、ユーザーがクリックした大きなベルの近くに、アラートウィンドウでメッセージを表示するようにしてほしい。

 
LuckyTrader:

ループで作業しているときにエラーが発生しました

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。

ラッキートレーダー さん 2019.11.04 09:08

文字列が表示される(コンパイラは何も表示せず、テスト時にインジケータにエラーが表示され、ログで発見される)。

      numberFibo            [i]=0;

と、全く違う例を示していますね。前ページの落書きに間違いはないはずです。