簡體   English   中英

MQL4:如何將 iHigh() - iLow() 的值轉換為 integer?

[英]MQL4: How to convert the value of iHigh() - iLow() to integer?

  double _high = iHigh(Symbol(), Period(), 0);
  double _low = iLow(Symbol(), Period(), 0);
  double result = _high - _low;

請原諒我有限的英語。

結果的類型是double number,想把double number轉換成integer的數,但是每個符號對應的結果小數點后的位數是不確定的。

除了根據符號做不同的事情外,我真的不知道該怎么做。

問: “如何將 iHigh( iHigh() - iLow()的值轉換為 integer?
...根據符號做不同的事情。

A:
是的,我們需要根據每個符號來做不同的事情。

像這樣的事情可能是處理這個問題的一種方法:

...
int iSymbolSpecificDIGITs = SymbolInfoInteger( Symbol(), /* here, or
                                          OrderSymbol(),          if looping OrderBook */
                                               SYMBOL_DIGITS
                                               );
...
int iHiLoDIFF = (int)( MathPow( 10, iSymbolSpecificDIGITs ) * _high )
              - (int)( MathPow( 10, iSymbolSpecificDIGITs ) * _low  );

主要是將 NomalizeDouble 添加到結果中並在括號中添加 Digits 以總結所有內容:

 Alert(NormalizeDouble(result,Digits));

Or 

Print("result:" + NormalizeDouble(result,Digits));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM