Floating point representations vary from machine to machine, as I've implied. Fortunately one is by far the most common these days: the IEEE-754 standard. This standard is prevalent enough that it's worthwhile to look at it in depth; chances are good you'd be able to use this information on your platform (look for ieee754.h). An IEEE-754...
コントロールされた条件下でテスト(Strategy Tester)を繰り返すために、使用するHistory Dataをコントロールできるようにしたいのです。
どのような条件で制御 するのですか?
ありがとうございます。
制御された条件とは?
ありがとうございます
私が選んだ条件は、私のブローカーが選んだ条件ではありません。 他にどのようにテストすることを提案しますか? 各テストのためのランダムな条件セット?しかし、話題を逸らさないでください。
理解しました。
ありがとうございました。
私のリンクやRaptorUKのリンクを読めば、もっとはっきりするはずです。そうでない場合は、もう一度読んでください :-D
1.000000000006551e-005は、0.00001000000000006551の別の表記に過ぎません。
こんにちは、angevoyageurさん。
1.000000000006551e-005
0.00001000000000006551
2つ目のdoubleの 小数点以下は5回左に移動しています。 しかし、doubleが返す値は小数点以下16桁(有効数字)までなので、この形式ではテスターで返すことはできません。
モデレーター
1651
こんにちはMQL5コミュニティです。
https://www.mql5.com/en/docs/common/comment
"double 型のデータは、小数点以下16桁までの精度で出力さ れ、どの表記がよりコンパクトになるかによって、伝統的なフォーマットでも科学的なフォーマット でも出力することができます。float型のデータは、小数点以下5桁で 出力されます。別の精度やあらかじめ定義された形式で実数を出力する場合は、DoubleToString() 関数を使用します。"
98.370のUSDJPYの価格表現は float型(小数点以下5桁で出力)のデータです。
USDJPYの価格表現-0.00199999995339は、double型、従来の形式(小数点以下16桁までで出力)のデータです。
doubleの出力は小数点以下16桁までしかないのに、なぜdouble -0.0019999999533[9] は小数点以下18桁 を返すのでしょうか?
ありがとうございます。
価格は常にdoubleで、98.370はdoubleです。 有効数字は16 桁です。 ゼロは重要では ありません。
もしゼロが重要でないなら、なぜ テスターでは1.000000000006551e-005ではなく、0.0000100000006551という 値を返すことができなかったのでしょうか?私は0.00001000000000006551の フォーマットで計算する方が好きです
ありがとうございます。
もしゼロが重要でないなら、なぜ テスターでは1.000000000006551e-005の代わりに0.0000100000006551という 値を返せなかったのでしょうか?私は0.00001000000000006551の フォーマットで計算する方が好きなんです!
浮動小数点数(double)は、常に このフォーマットで内部保持されます ... 1.000000000006551e-005, あなたは与えられたリンクの情報を読み、理解しましたか?
ここから:浮動小数点数
「IEEE-754の浮動小数点(4バイト)または倍精度(8バイト)は、3つの要素(IEEE-854の96ビット拡張精度フォーマットもある)を持っています:数が正か負かを示す符号ビット、数の大きさを示す指数、数の実際の桁数を示す仮数です。単精度の浮動小数点を例にとると、次のようなビット配置になります。"
3つの部分
0.00001000000000xyz を表示したい場合は、DoubleToStr() を使って好みの出力にフォーマットします。
浮動小数点数(double)は、内部では常に この形式で保持されています ... 1.000000000006551e-005, リンク先の情報を読んで理解できましたか?
ここから:浮動小数点数
「IEEE-754の浮動小数点(4バイト)または倍精度(8バイト)は、3つの要素(IEEE-854の96ビット拡張精度フォーマットもある)を持っています:数が正か負かを示す符号ビット、数の大きさを示す指数、数の実際の桁数を示す仮数です。単精度の浮動小数点を例にとると、次のようなビット配置になります。"
3つの部分
0.00001000000000xyz を表示したい場合は、DoubleToStr() を使って好みの出力にフォーマットします。
はい、提供されたリンクをすべて読み、有用であることがわかりました、提供していただき、再度感謝します。私の好みは、DoubleToStringを組み込み、DoubleToStringの2番目のパラメータとして、doubleの最後から2番目の場所の値(例:CADJPY 95.9[5]9)を選択することです。この「can price!=price」問題は、それほど難しい問題ではないと思うのですが!あなたはこれに何を言うのですか?
ありがとうございました。
はい、提供されたリンクをすべて読み、有用であることがわかりました。私の好みは、DoubleToStringを組み込み、DoubleToStringの2番目のパラメータとして、doubleの最後から2番目の場所の値(例:CADJPY 95.9[5]9)を選択することです。この「can price!=price」問題は、それほど難しい問題ではないと思うのですが!これに対して、あなたはどう言いますか?
つまり、次のようなことですか?
この問題は、解決することはできませんが、まず、何が問題かを理解する必要があります。
つまり、次のようなことですか?
Can price != price は、別の問題ですが、少し関係があります。 これは、本当に解決することはできません。まず、何が問題かを理解し、それを回避することが必要です。
この "can price != price "の問題は何だとお考えですか?
ありがとうございました。
WhooDoo22:
...
値段は常に2倍、98.370は2倍。 有効数字は16桁です。 ゼロは重要では ありません。
もし ゼロが重要でないなら、 なぜ テスターでは 1.000000000006551e-005ではなく、0.0000100000006551という 値を返すことができなかったのでしょうか?私は0.00001000000000006551の フォーマットで計算する方が好きです
ありがとうございます。
それは可能性があります、それは唯一の書式設定の出力値の選択です。
まさに ゼロが 意味を なさないから です
はい、提供されたリンクをすべて読み、有用であることがわかりました、提供していただきありがとうございます。私の好みとしては、DoubleToStringを組み込んで、DoubleToStringの第2パラメータとしてdoubleの最後から2番目の値(例:CADJPY 95.9[5]9)を選択 することでしょうか。この「can price!=price」問題は、それほど難しい問題ではないと思うのですが!あなたはこれに何を言うのですか?
ありがとうございます。
それはあり得る、それはフォーマットの出力値の選択だけです。
まさに、ゼロが 意味を なさないからこそ
申し訳ありませんが、私はこの文章を理解していない。"申し訳ありませんが、この文章は理解できません。"
ありがとうございます。