MQLでよく使う3つのMath関数

数学関数

ここでは色々なMath関数を紹介していきます

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つ目の値
);

//最新足の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は便利ですね。

yuki
yuki
「あっ、ここはMathMax使えるな」って判断出来るようにあれば効率的になりますよ

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

ツールの二次配布を防止する口座認証はこちら
EAインジケーターに口座番号認証を実装
EAやインジケーターに口座縛りをつけてコピー対策【MQLAuth実装代行】 ※MQLAuth(エム・キュー・エル・オースと呼びます) MQLAuthのイメージ こちらは口座番号を登録するM...