ここでは色々な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
「あっ、ここはMathMax使えるな」って判断出来るようにあれば効率的になりますよ
数学関数はこれ以外にも沢山ありますが、とりあえずこの3つを覚えておけばとっても便利ですよ。
ツールの二次配布を防止する口座認証はこちら
EAやインジケーターに口座縛りをつけてコピー対策【MQLAuth実装代行】
※MQLAuth(エム・キュー・エル・オースと呼びます)
MQLAuthのイメージ
こちらは口座番号を登録するM...