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

 
このバグは、私の携帯電話のプライベート メッセージでウェブサイト上で気づきました。
標準的なスワイプダウンによるページの更新がうまくいかない。

.1〜2ヶ月後くらいに登場。ただ、注意力が足りなかっただけなんです。

携帯電話はアンドロイド10です。
プライベートメッセージに入り、新しい.メッセージが到着している場合、常に自動的に更新されるわけではありません。

また、指で更新(トップダウン)すると、更新が止まってしまいます。

プライベートメッセージのアイコンをもう一度押さなければならない。

プライベートメッセージにのみバグが発生
更新:この現象はsamsungのインターネットでのみ発生します。
むしろアップデート後の方が問題あり。

クロームではすべてOKです。
 

なぜ3行目に。

  datetime dt = 0;
  ulong x = 0;
  if(dt < x) x++;

"符号の不一致 "の警告?

Datetimeは符号なし数値(ulongのように8バイト)であることが前提です。ネガティブデートの例を教えてください。

 

ex5ライブラリのデバッグ方法を教えてください。

数年間、問題なく動作したライブラリーがあります。しかし、最新のビルドでコンパイラがいくつか変更された後、ライブラリからのポインタ関数呼び出しが "invalidfunction pointer call" エラーで終了してしまうようになりました。ライブラリのソースがリンクを通じて直接Expert Advisorに含まれている場合は、エラーは発生しません。

一般に、ライブラリで生成されるポインタ(関数プロトタイプ)と、ライブラリを読み込むExpert Advisorで生成されるポインタの型を比較する方法が必要です。

サポートは終了しました。ここでは、マーケットプレイスからのソースコードは表示しないことにします。

参考までに、同じソースコードで、build 2190でライブラリ呼び出しが正常に動作しました。
 
Stanislav Korotky:

参考までに、同じソースコードで、ライブラリからの呼び出しは、ビルド2190で問題なく動作しました。

2170では、私はもはや関数へのポインタを持っていない、以下は、MQL4ではまだ動作するが、MQL5ではもはや動作しない例です。

https://www.mql5.com/ru/forum/323539/page3#comment_13444791

 
Igor Makanu:

私は2170年に関数ポインタを扱うのをやめました。 以下は、MQL4ではまだ動作しますが、MQL5では動作しなくなった例です。

https://www.mql5.com/ru/forum/323539/page3#comment_13444791

読ませていただきました。私は別のケースを持っています。しかし、これは同じ「締め付け」の結果なのだろう。しかし、この場合のグッドプラクティスは、既存の開発品の移行について、事例やキャリパーの有無など、人間が指示することを意味します。

 

かなり面白い数学

//+------------------------------------------------------------------+
double volume_step = 0.01;
void OnStart()
  {
   int total = 10;
   double aVolume = 0.01;
   
   for(int i=0; i<total; i++)
     {
      aVolume = volume_step * MathFloor(aVolume / volume_step);
      Print(DoubleToString(aVolume,8)+"   "+ DoubleToString(volume_step,2)+"   "+DoubleToString(MathFloor(aVolume / volume_step),2)+"  Next lot = "+(aVolume+0.01));
      aVolume+=0.01;
     }
  }
//+------------------------------------------------------------------+

結果

2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Next lot = 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Next lot = 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Next lot = 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Next lot = 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Next lot = 0.06999999999As 0.06000000 + 0.01 becomes 0.06999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.05000000 0.01 5.00 次のロット = 0.06
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.04000000 0.01 4.00 次のロット = 0.05
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.03000000 0.01 3.00 次のロット = 0.04
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.02000000 0.01 2.00 次のロット = 0.03
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.01000000 0.01 1.00 次のロット = 0.02


 
Vladimir Pastushak:

注目の数学

0.06000000+0.01が0.06999999999になるのはなぜか

なぜなら,0.069999999999999 はdouble 型で 表現できる 0.07 に最も近い数だからです。

 
Vladimir Pastushak:

かなり面白い数学

結果

2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Next lot = 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Next lot = 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Next lot = 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Next lot = 0.06999999999As 0.06000000 + 0.01 becomes 0.06999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.05000000 0.01 5.00 次のロット = 0.06
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.04000000 0.01 4.00 次のロット = 0.05
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.03000000 0.01 3.00 次のロット = 0.04
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.02000000 0.01 2.00 次のロット = 0.03
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.01000000 0.01 1.00 次のロット = 0.02


ドックをお読みいただければ、きっとご満足いただけると思います。

そして、IEEE754について ですが、勉強してみてください。

 
Igor Makanu:

なぜなら,0.069999999999999 はdouble 型で 表現できる 0.07 に最も近い数だからです。

ウラジミール・シマコフ

ドキュメントを読めば、きっと満足できるはずです。

題して:IEEE754、-勉強してください。

何を教えてるんだ...。現在、49点の商品を発売しています。彼はもう自分ですべてを知っている...。
 
Alexey Viktorov:
何を教えてるんだ...。現在、49点の商品を発売しています。彼はもう自分ですべてを知っている...。

つまり、マーケットに投稿する人は無視しろということですか?質問もあったし、議論もあったし、普通の状況だと思うのですが、どうなんでしょう?

PS:

そのうえでprintf() でdoubleをunprintしようとすると、「悟りの精神は我々にどれだけの不思議な発見を用意してくれているのだろうか...」という疑問が湧いてきます。

;)