作者:William
本章節内容很簡單,主要讓大家認識一下EA編程中經常遇到的一些數據轉換函數。在MQL4中,數據類型轉換是指将一種數據類型的值轉換爲另一個數據類型的過程。這種轉換可以用于執行不同類型之間的操作或将值從一種類型轉換爲另一種類型以滿足特定的需求。下圖爲常見的幾種用于數據類型轉換的函數。
每個函數都有特定的使用格式,可以根據需求在編寫邏輯時自由切換,在MQL4中,雖然在不轉換格式時也能使用,但這樣做出現黃标報錯,大概率會導緻計算的結果出現偏差。所以,規範化使用數據轉換函數,正确使用數據參與計算是一種良好的編程習慣。
下列爲使用頻率最高的一些轉換函數:
1、NormalizeDouble():将浮點數四舍五入到指定的精度。
2、StringFormat(): 根據預設格式将數字轉換爲字符串。
3、IntegerToString(): 将整數轉換爲字符串。
4、DoubleToString()/DoubleToStr(): 将double類型浮點數轉換爲字符串。
5、StringToDouble()/StrToDouble(): 将數字的字符串轉換爲double類型。
6、StringToTime()/StrToTime(): 将格式爲“yyyy.mm.dd hh:mi”的字符串轉換爲日期時間類型
7、TimeToString()/TimeToStr(): 将日期時間類型的值轉換爲“yyyy.mm.dd hh:mi”格式的字符串。
數學函數也可以視爲另一種數據轉換方式,但數學計算函數(例如求絕對值、取整、計算平方根等)和前面提到的類型轉換函數在MQL4中具有一些區别,用于參與特定的數學運算。雖然很多數學運算都可以直接使用表達式運算完成,但是通過數學函數直接返回會大大提升效率。
以下是一些常見的數學計算函數示例:
1、 MathAbs():計算絕對值。
2、MathRound():将浮點數四舍五入爲最接近的整數。
3、 MathMin()/MathMax():返回兩個數中的最小值/最大值。
4、MathSqrt():計算平方根。
5、MathPow():計算給定基數的指定幂次。
以上函數都是MQL4官方的預定義函數,每一個函數都具有特定的傳入參數,在上一期的自定義函數中我們也了解到參數傳遞與返回的概念,在這些函數中就是一個很好帶返回參數的例子,可以直接傳入指定參數然後返回你想要的值。爲了方便我們認識這些函數的結構,我們以DoubleToString()爲例:
當然,MQL4中的這些預定義函數有的具有多樣化的使用場景,傳入的參數數量也是根據實際需求而定的,比如IntegerToString()函數,這個函數在官方文檔中可以傳入3個參數,每個參數的位置和功能是固定的,但通常情況下我們很少用到剩餘的兩個參數,了解即可。
删除后无法恢复
删除后无法恢复