数学関数

📘 数学関数とは(MQL4)

MQL4 における 数学関数(Mathematical Functions) とは、
数値計算を行うために MetaTrader 4 が標準で用意している関数群 のことです。

EAやインジケータを作るときに、価格の処理やインジケータ計算でよく利用されます。
例:四捨五入、絶対値、三角関数、乱数生成など。


1️⃣ 基本的な数学関数

関数説明
MathAbs(x)絶対値を返すMathAbs(-5) = 5
MathSqrt(x)平方根MathSqrt(9) = 3
MathPow(x, y)x の y 乗MathPow(2, 3) = 8
MathExp(x)e^x を計算MathExp(1) ≈ 2.718
MathLog(x)自然対数 ln(x)MathLog(2.718) ≈ 1

2️⃣ 丸め処理系

関数説明
MathFloor(x)小数点以下切り捨てMathFloor(3.9) = 3
MathCeil(x)小数点以下切り上げMathCeil(3.1) = 4
MathRound(x)四捨五入MathRound(3.6) = 4

👉 ロット計算や価格を桁に合わせるときに必須。


3️⃣ 三角関数系

(角度は ラジアン 単位)

関数説明
MathSin(x)サイン(sin)
MathCos(x)コサイン(cos)
MathTan(x)タンジェント(tan)
MathArcsin(x)アークサイン(arcsin)
MathArccos(x)アークコサイン(arccos)
MathArctan(x)アークタンジェント(arctan)

👉 波形のシミュレーションや周期的なインジ作成に使う。


4️⃣ その他便利な関数

関数説明
MathMin(x, y)2つの値の最小値
MathMax(x, y)2つの値の最大値
MathRand()乱数(0〜32767の整数)
MathSrand(seed)乱数の種を設定

👉 EAで「ランダム売買」を作ったり、シミュレーション的に活用できます。


5️⃣ 使用例コード

void OnStart()
{
   double price = 1.23456;

   // 小数処理
   Print("切り上げ: ", MathCeil(price*100)/100);   // 1.24
   Print("切り捨て: ", MathFloor(price*100)/100); // 1.23
   Print("四捨五入: ", MathRound(price*100)/100); // 1.23

   // 数学関数
   Print("絶対値: ", MathAbs(-10));        // 10
   Print("平方根: ", MathSqrt(16));        // 4
   Print("累乗: ", MathPow(2, 5));         // 32
   Print("サイン: ", MathSin(3.14159/2));  // ≈1.0

   // 乱数
   MathSrand(TimeLocal()); // 種をセット
   Print("乱数: ", MathRand());
}

✅ まとめ

  • 数学関数=MQL4が提供する数値計算用の組み込み関数
  • 主なカテゴリは
    ① 基本(絶対値・平方根・累乗など)
    ② 丸め(切り上げ/切り捨て/四捨五入)
    ③ 三角関数(sin, cos, tan など)
    ④ その他(最大値/最小値/乱数生成)
  • EAやインジでは 価格の計算・ロット調整・インジケータの内部処理 に欠かせない

コメント

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