MQLでよく使う数学関数あれこれ

こんにちは~。

MQLをマスターしたくて、夏が終わって涼しくなってきたので自宅でのパンイチ生活を止めようか検討中のりょうです。

今回はMQLの数学関数について学んだことをまとめる試みです。

僕はMQLを勉強していてこれまで色んな関数を使用してきましたが、その中で『Math~』っていう関数を何種類か使用することがよくありました。

この『Math~』という関数は数学関数と呼ばれ、たくさん種類があるのですが、中には頻繁に使用する関数がありました。

にゃんぽこ

こいつ、よく見るぞ・・・!
っていうのがある


なので今回は覚えておいたら便利だよ~という数学関数をまとめてみました。

りょう

便利だよ~

TOC

MathMax

まず最もよく使用するのはMathMaxです。

この関数は2つの値の最大の値を返します。

double MathMax(
  double value1,     //1つ目の値
  double value2      //2つ目の値
);


↑書式はこのようになっています。

実際の使い方としては、このように感じです↓。

//最新足の15単純移動平均線の値を取得
double SMA = iMA( NULL, PERIOD_CURRENT, 15, 0, MODE_SMA, PRICE_CLOSE, 0 );

//SMAの値がローソク足の実体より大きければ・・・
if( MathMax(Open[0], Close[0]) > SMA ){
・
・
・
 


上記は『ローソク足が陽線か陰線かを問わず、単純にローソク足と移動平均線との位置関係を調べる』という状況ですが、こういった時に使うと便利ですね。

MathMin

続いてはMathMinです。

MathMinはMathMaxと対になる、こちらも最もよく使用する関数です。

MathMinは2つの値の最小の値を返します。

double MathMin(
  double value1,     //1つ目の値
  double value2      //2つ目の値
);

↑書式はこのようになっています。

ムゥ

MathMaxと一緒にゃ

//最新足の15単純移動平均線の値を取得
double SMA_15 = iMA( NULL, PERIOD_CURRENT, 15, 0, MODE_SMA, PRICE_CLOSE, 0 );
//最新足の20単純移動平均線の値を取得
double SMA_20 = iMA( NULL, PERIOD_CURRENT, 20, 0, MODE_SMA, PRICE_CLOSE, 0 );

//2本のSMAのうち、値の小さい方より終値が小さければ・・・
if( MathMin(SMA_15, SMA_20) > Close[0] ){
・
・
・
 


↑もちろんですが、OpenやClose以外にも任意の値を入れることができます。

にゃんぽこ

MathMaxとMathMinは対になってるから覚えやすいね

MathAbs

続いてMathAbsです。

このMathAbsは指定した値の絶対値を返す関数です。

double MathAbs(
  double value,     //値
);


↑書式はこのようになっています。

input double KAIRI = 1.0;          //15SMAと21SMAの乖離

//最新足の15単純移動平均線の値を取得
double SMA_15 = iMA( NULL, PERIOD_CURRENT, 15, 0, MODE_SMA, PRICE_CLOSE, 0 );
//最新足の20単純移動平均線の値を取得
double SMA_20 = iMA( NULL, PERIOD_CURRENT, 20, 0, MODE_SMA, PRICE_CLOSE, 0 );

//2本のSMAの乖離が指定した値以上に離れたら・・・
if( MathAbs(SMA_15 - SMA20) >= KAIRI ){
・
・
・


↑上記のようにどれだけ離れているかを条件としたい時、例えば

100 – 80 = 20


となれば「20離れている」とわかりますが、

80 – 100 = -20


とマイナスになってしまうと調べるのに困ってしまうため、こういう状況で絶対値を返すMathAbsは便利ですね。

りょう

絶対値って、こんなに便利だったんですね

にゃんぽこ

生まれて初めて絶対値という概念の恩恵を受けるおっさん

という事で、この3つが僕の思う便利な数学関数の3つです。

数学関数はこれ以外にも沢山ありますが、とりあえずこの3つを覚えておけばとっても便利ですよ。

りょう

すぐに「あっ、ここはMathMax使えるな」って判断出来たらとても効率的になるね


MQLを始めたばかりという方は、この3つの関数を是非活用してみてください~。

TOC
閉じる