どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 548

 
evillive:

桁も、対応する記号から「抜く」のが望ましい ;)
しかも、それだけではありません。他のツールの価格を正規化するためには、他のツールから桁を取る必要があります。また、コメントで出力する場合は、実数を正規化するのではなく、DoubleToString()を実行する必要があります。
 
evillive:

数字も 、できれば適切な記号から「引く」べきである ;)

ありがとうございます、うまくいっています。
 
artmedia70:
しかも、それだけではありません。また、実数を正規化するのではなく、DoubleToString(); 、コメントで出力するようにすればよいでしょう。

コメントはどうでもよくて、私にとって一番重要なのは注文を出すことなのですが、ターミナルはまだエラーを発生させ、DoubleTtoStr()でも、間違った価格を 書き込んでしまいます。

 
Example2:

コメントはどうでもよくて、一番重要なのは注文が開くことなのですが、ターミナルはまだエラーを発生し、DoubleTtoStr()でも、間違った価格を書き込んでいます。

指摘の通り、正規化に失敗することがあるが、それはよくない。MetaTrader 4 Client Terminalのビルド610で開発者に書き込み、確認してください。しかし、不正な正規化を再現できたのは2回だけです。

DoubleTtoStr()は切れますが、このために数値自体は変化しませんので、変数の比較や発注などでエラーが発生する場合があります。16ビット目にオーダー1を設定する際にどの程度重要なのかは今は言えませんが、数値の比較は間違いなく不正確です。

 
GSB:

ご指摘の通りなのですが、正規化に失敗することがあるのは困りものです。MetaTrader 4 Client Terminal build 610に書き込んで、開発者に検証してもらう必要があります。しかし、不正な正規化を再現できたのは2回だけです。

DoubleTtoStr()は切れますが、このために数値自体は変化しませんので、変数の比較や発注などでエラーが発生する場合があります。16ビット目にオーダー1を設定する際にどの程度重要なのかは今は言えませんが、数値の比較は間違いなく不正確です。

Expert Advisorは一度だけ注文を開くので、各ペアに別々に書く必要があるのでしょうか?
 
Example2:
Expert Advisorはたまに注文を開くので、各ペアに分けて書く必要があるのでは?
いいえ、そんなことはありません。このため、注文が「断続的に」開くことはまずありません。ログを見て、注文する前に、必ずResetLastError();をして、if(GetLastError()>1) Print(GetLastError()); でエラーを修正し、必ずDigits
 
GSB:
いいえ、そんなことはありません。このため、注文が「断続的に」開くことはまずありません。ログを見て、注文する前に、必ずResetLastError();して、if(GetLastError()>1) Print(GetLastError()); そして必ずDigits

エラーを修正するようにしてください。

GetLastError()に「価格が間違って いる」と表示される。すでに各通貨ペアで別々にDigitsをとっています。
 
Example2:

GetLastError()に「価格が間違っている」と表示される。各通貨ペアで別々に撮影済みの数字。

停止レベルは考慮されているのか?スクリプトで内容を確認する
 
GSB:

停止レベルは考慮されているのか?どの程度のものなのか、スクリプトで確認する


成行注文をしています。

 

129エラーは、DCがあなたの注文を実行する前に価格が変化する時間がある場合に発生します、より大きなスリッページを使用してください。