エラー、バグ、質問 - ページ 1129 1...112211231124112511261127112811291130113111321133113411351136...3185 新しいコメント Artem Temnikov 2014.04.13 11:45 #11281 A100: 32'535'244'799 != 32'535'215'999 - какое правильное? 正しくは、"3000.12.31 23:59:59" の 32'535'215'999 となります。そして32'535'244'799は"3001.01.01 07:59:59" が正しいでしょう。 A100 2014.04.13 13:25 #11282 Fleder:datetime 型の 制限値が正しく定義されていないだけです。 どうやら、ローカルタイムをGMTとUTCで同時に表示する可能性を考慮して、制限を設けているようです。そうすると、-43'200から32'535'291'599まで、より広い範囲(±12時間)を作るのが理にかなっていると言えるでしょう Slava 2014.04.13 14:27 #11283 Fleder:コンパイラは数値13.7をdouble型として扱います。しかし同時に、この数値は可逆的にfloat型に 変換することができますであり、この警告は不要です。 実数13.7を損失なくfloat型に変換できるとどうしてわかるのでしょうか? Artem Temnikov 2014.04.13 14:54 #11284 stringo: 実数13.7が損失なくfloat型に変換できるとどうしてわかるのでしょうか?そうでしょう?13.7=0.137*1e+2という数字があります。小数点以下3桁をfloat型に 変換することで、損失はないのでしょうか?私の見たところ、変換しようとすると精度が落ちてしまいます。小数点以下が6桁以上の数字float型を使って、5桁の文字引用符(例:1.38829)をバイナリファイルに保存してみました。として、ファイルから読み出してグラフに表示しようとしたところチャート自体のローソク足に適用されるチャートインジケータは、若干のズレがあります。しかし、5桁に正規化した後は、それらは消えてしまった。しかし、そこでは、まずdoubleからfloatに、そしてfloatからdoubleにと、二重に精度が落ちている。 Slava 2014.04.13 16:11 #11285 https://www.mql5.com/ru/docs/convert/normalizedouble Fleder:そうでしょう?13.7=0.137*1e+2という数字があります。小数点以下3桁をfloat型に 変換することで、損失はないのでしょうか?私の見たところ、変換しようとすると精度が落ちてしまいます。小数点以下が6桁以上の数字float型を使って、5桁の文字引用符(例:1.38829)をバイナリファイルに保存してみました。として、ファイルから読み出してグラフに表示しようとしたところチャート自体のローソク足に適用されるチャートインジケータは、小さな齟齬がある。しかし、5桁に正規化した後は、それらは消えてしまった。しかし、最初はdoubleからfloatに、そしてfloatからdoubleにと、二重に精度を落としていたのです。 いいえ、無限の分数です。私たちは書いても書いても、あなたは読まない。 Artem Temnikov 2014.04.13 16:25 #11286 stringo: いいえ、無限の分数です。私たちは書いても書いても、あなたは読まない読みました!しかし、損失は「技術的に」(フォーマットの特殊性)、そして必要でさえない端数で発生するのです。void OnStart() { Print((float)(13.7)); //13.7 - потерь "не видно" Print((double)(13.7)); //13.7 - здесь тоже } Особенности работы с числами типа double в MQL4 - Статьи по MQL4 www.mql5.com Особенности работы с числами типа double в MQL4 - Статьи по MQL4: примеры использования экспертов, тестирования и оптимизации A100 2014.04.13 17:40 #11287 A100:私もこのクラッシュを経験したことがあります。ターミナル(910)とコンパイラ(921)が一致しない場合、スクリプト実行時に発生する以下はそのコードです。class A { int array[]; }; void OnStart() { A *a = new A(); if ( a != NULL ) delete( a ); }コンパイラ930、ターミナル910。結果 Artem Temnikov 2014.04.13 18:03 #11288 A100:以下はそのコードです。コンパイラ930、ターミナル910。結果どうしてターミナルが910で、コンパイラが930なんだ?両方が910であれば、このスクリプトは「クラッシュ」しない。 A100 2014.04.13 18:10 #11289 ただ、1端末ではない(正確にはわからないが、Marketではよくあることだと思う)オリジナルは...⇄Scripts フォルダから共有できます。 ファイル: Crash.ex5 4 kb Artem Temnikov 2014.04.13 18:24 #11290 A100:ただ、1端末ではない(正確にはわからないが、Marketではよくあることだと思う)。オリジナルは ...\MQL5Scripts フォルダから共有できます。まあ、それは私がWin XP 32 bitを 証明しなければならなかったことです。 1...112211231124112511261127112811291130113111321133113411351136...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
A100:
32'535'244'799 != 32'535'215'999 - какое правильное?
正しくは、"3000.12.31 23:59:59" の 32'535'215'999 となります。
そして32'535'244'799は"3001.01.01 07:59:59" が正しいでしょう。
datetime 型の 制限値が正しく定義されていないだけです。
コンパイラは数値13.7をdouble型として扱います。しかし同時に、この数値は可逆的にfloat型に 変換することができます
であり、この警告は不要です。
実数13.7が損失なくfloat型に変換できるとどうしてわかるのでしょうか?
そうでしょう?13.7=0.137*1e+2という数字があります。小数点以下3桁をfloat型に 変換することで、損失はないのでしょうか?私の見たところ、変換しようとすると精度が落ちてしまいます。
小数点以下が6桁以上の数字
float型を使って、5桁の文字引用符(例:1.38829)をバイナリファイルに保存してみました。として、ファイルから読み出してグラフに表示しようとしたところ
チャート自体のローソク足に適用されるチャートインジケータは、若干のズレがあります。しかし、5桁に正規化した後は、それらは消えてしまった。
しかし、そこでは、まずdoubleからfloatに、そしてfloatからdoubleにと、二重に精度が落ちている。
そうでしょう?13.7=0.137*1e+2という数字があります。小数点以下3桁をfloat型に 変換することで、損失はないのでしょうか?私の見たところ、変換しようとすると精度が落ちてしまいます。
小数点以下が6桁以上の数字
float型を使って、5桁の文字引用符(例:1.38829)をバイナリファイルに保存してみました。として、ファイルから読み出してグラフに表示しようとしたところ
チャート自体のローソク足に適用されるチャートインジケータは、小さな齟齬がある。しかし、5桁に正規化した後は、それらは消えてしまった。
しかし、最初はdoubleからfloatに、そしてfloatからdoubleにと、二重に精度を落としていたのです。
いいえ、無限の分数です。私たちは書いても書いても、あなたは読まない
読みました!しかし、損失は「技術的に」(フォーマットの特殊性)、そして必要でさえない端数で発生するのです。
私もこのクラッシュを経験したことがあります。ターミナル(910)とコンパイラ(921)が一致しない場合、スクリプト実行時に発生する
以下はそのコードです。
コンパイラ930、ターミナル910。結果
以下はそのコードです。
コンパイラ930、ターミナル910。結果
どうしてターミナルが910で、コンパイラが930なんだ?
両方が910であれば、このスクリプトは「クラッシュ」しない。
ただ、1端末ではない(正確にはわからないが、Marketではよくあることだと思う)
オリジナルは...⇄Scripts フォルダから共有できます。
ただ、1端末ではない(正確にはわからないが、Marketではよくあることだと思う)。
オリジナルは ...\MQL5Scripts フォルダから共有できます。
まあ、それは私がWin XP 32 bitを 証明しなければならなかったことです。