TrimPipsプロト property strict に挑戦

MQL4

TrimPipsプロトの一覧

ご訪問ありがとうございます。

元スーパー店員で不労所得生活を目論むひろしです。

前回

TrimPipsプロト PIPS消去、スクショの追加
TrimPipsプロトの一覧 ご訪問ありがとうございます。 元スーパー店員で不労所得生活を目論むひろしです。 前回 今回は、TrimPipsプロトにPIPS表示を 削除する機能を追加しました。 ...

今回は、

 

を記載することにしました。

 

この指定をすることで、コンパイルの精度が
あがるとのこと。

しかも、こんな風に
パラメーターの変数名も日本語で表示されます。

 

しかーーーーーーーーーーーーーーし、その指定をすると

なぜか

なぜかこんな計算結果になります。

 

原因がわかりました。

小数点の計算をすると結果がおかしくなるのです。

こういう計算をすると。。

こんな風になります。

ということで、計算する前に
掛け算し整数にしてからpips計算し
割り算して元に戻す。

 

なんとなく「イマイチ」感はありますが、
一応うまくいっているので、これで
よしとします。

 

これで、パラメーターの入力画面が日本語になりました。

最後までご覧いただきありがとうございます。

 

 

参考にしたサイト
https://www.cc.kyoto-su.ac.jp/~yamada/programming/float.html
https://tech.pjin.jp/blog/2018/03/20/have_to_use_bigdecimal/
https://techacademy.jp/magazine/19051

 

 

—2020/10/27 追記—

上記変更でもときどき

の表示が発生しました。

基礎からやろうと思い、

さらに

を斜め読みしました。

入門の方は、ほとんど基礎な事で
あまり役に立たず。

実践プログラミングは、豊島先生独自の
ライブラリが添付されており
なかなか良さげでした。

しかもライブラリにはpips取得関数
らしきものがありました。

が。。。。

うまく流用することはできませんでした。

しかーーーし、

という関数で、指定の小数点を四捨五入してくれるとのこと

 

これで解決だー。

と思いきや、動かしていると
時折再現します。

 

検証していくと
なぜか8.3だとNGなのです。

具体的には

 

とやるだけで

こんな具合になってしまいます。

おそらくNormalizeDoubleのバグです。

 

諦めかけていると、ヤフー知恵袋にありました

MQLプログラミングについて。NormalizeDouble()関数の挙動について、よくわからない点がございます。 - ティックが更新... - Yahoo!知恵袋
MQLプログラミングについて。NormalizeDouble()関数の挙動について、よくわからない点がございます。 ティックが更新される頻度で、NormalizeDouble関数を使って、数字を丸めて、それをラベルでチャート上に表示させているのですがたびたび、数字が丸め切らないで0.070000000000001のよう...

 

DoubleToString(変数, Digits)

という関数でstring変換すればいいとのこと

なるほど!!

 

結果解決しました。

 

続きはこちら→「TrimPipsプロト フォント設定をファイルに保存」

TrimPipsプロトの一覧

コメント

タイトルとURLをコピーしました