Торговая платформа обладает множеством настроек, что позволяет организовать работу в ней так, как это удобно именно вам. Выполните команду " Настройки" меню "Сервис" или нажмите "Ctrl+O". Графики — общая настройка отображения ценовых графиков, а также настройка параметров управления объектами: выделение объектов после их создания, немедленная...
データ ウィンドウの時刻は同じですか?
はい。
はい。
なるほど、本当にバータイムなんですね。ただ、「Precise timeline」のパラメーターに疑惑があったんです。
こんにちは!
「for」ループで「double」を使用する正しい方法は何ですか?ヘルプに "double "の使用禁止はないようです。i」を正規化しなければならないのはわかるのですが、私にはうまくいきません。
expr2=2.6」の場合は9回の繰り返しでまだ大丈夫ですが、「expr2=2.8」の場合はすでに9回の繰り返しが間違って表示されています(正しい値は10です)。
こんにちは!
「for」ループで「double」を使用する正しい方法は何ですか?ヘルプに "double "の使用禁止はないようです。i」を正規化しなければならないのはわかるのですが、私にはうまくいきません。
expr2=2.6」の場合は9回の繰り返しでまだ良いのですが、「expr2=2.8」の場合はすでに不正な9回の繰り返しを表示しています(正しい値は10です)。
おそらく、値を正規化する必要があるのでしょう。
おそらく、値を正規化する必要があるのでしょう。
このような意味であれば、それも仕方がない。
このような意味であれば、それも仕方がない。
いいえ、最低でも最適化する必要があります。
というのは、それが間違った値を与えてしまうからです。そして、他の人はそうする必要がないかもしれません。
こんにちは!
「for」ループで「double」を使用する正しい方法は何ですか?ヘルプに "double "の使用禁止はないようです。i」を正規化しなければならないのはわかるのですが、私にはうまくいきません。
expr2=2.6 "の場合は、9回の繰り返しで問題ありませんが、"expr2=2.8 "の場合は、9回の繰り返しでは正しくありません(正しくは10回です)。
ここで、Nikolayの投稿を読むと、ダブルhttps://www.mql5.com/ru/forum/1111/page2623#comment_14473837 の非常に詳細かつ非常に定性的な記述があります。
初回で理解できなかった場合は、少なくとも15桁目までのdoubleを出力するコードで、Print()をprintf()に置き換えてみてください。https://www.mql5.com/ru/forum/1111/page2623#comment_14474138
そうすれば、なぜそうなのかがわかるかもしれません
いいえ、最低でもこの最適化は必要です。
というのは、それが間違った値を与えてしまうからです。そして、他の人はそうする必要がないかもしれません。
ありがとうございます。しかし、あなたの例も正しい結果を得ることができませんでした。printfでは、正規化が行われないことがわかります。
0 10:29:31.595 Test_Double_For EURCHF,H4: i = 1.00000000000000000000
0 10:29:31.595 Test_Double_For EURCHF,H4: i = 1.0000000000000000000000000000 0 10:29:31.595 Test_Double_For EURCHF,H4: i = 1.1999999999995559107901499373838305473327636718750000
0 10:29:31.595 Test_Double_For EURCHF,H4: i = 1.1.399999999999991111182158029987476766109466552734375000000000
0 10:29:31.595 Test_Double_For EURCHF,H4: i = 1.5999999999999866773237044981212151491164199829101562500000000
0 10:29:31595 Test_Double_For EURCHF,H4: i = 1.7999999999982236431605997495353221893310546875000000
0 10:29:31.595 Test_Double_For EURCHF,H4: i = 1.799999999999.1.0.0.0.0.1.0.0.0.0.0.0.0.1.0.1.0 0.0999999999997779553950749686919152736638618359375000000
0 10:29:31.595 Test_Double_For EURCHF,H4: i = 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1999999999999997335464740899624302983283996582031250000000
0 10:29:31.595 Test_Double_For EURCHF,H4: i = 2.399999999999991191821580299874766109466552734375000000000
0 10:29:31595 Test_Double_For EURCHF,H4: i = 2.60000000000887841970012523233890533447265625000000000
0 10:29:31595 Test_Double_For EURCHF,H4: MaxPass: 10 count: 9
0 10:29:31.595 Test_Double_For EURCHF,H4: Last i = 2.800000000002664535259100375697016716003417968750000000
ここで、Nikolayの投稿を読むことができます。彼は、非常に詳細かつ非常に定性的な方法で、ダブルでの作業について説明しています。https://www.mql5.com/ru/forum/1111/page2623#comment_14473837
初回から教材を消化できない場合は、少なくとも15桁目までのdoubleを出力するprintf()に置き換えてみてください。https://www.mql5.com/ru/forum/1111/page2623#comment_14474138。
そうすれば、なぜそうなるのかがわかるかもしれません。
ありがとうございます。なぜそうなるのか、その理由がわかりました。だから正常化しようとしたのです。私には効果がありませんでした。Alexey Viktorovのオプションでも直らず、値は正規化されないままです。 そこで疑問が残るのですが、ループ内で「double」を使用して、常に正しい反復回数を得ることができるのでしょうか?
そこで疑問が残るのですが、「double」はループの中で使えるのでしょうか
缶
で、常に正しい反復回数を得ることができますか?
doubleの値は常に正しいですが、あなたが見たり得たりしたい位置の10進法には対応しません。
ありがとうございます。なぜこのようなことが起こるのか、それが正常化しようとした理由です。私には効果がありませんでした。Alexey Viktorovのオプションも修正されず、値は正規化されていないままです。
ダブルコンバージョンによる操作には常に限界があり、この問題があなたの例のような方法で解決されるとは思えません。
信頼性の高いソリューションを作る:ループとdoubleの結果値を計算する式でintを使用し、ループ内の繰り返し時に結果としてdoubleの加算を使用しないでください - もう一度ニコラエフとの対話で私の例を見てください