ソースコード完成例
各処理の説明
■プロパティの設定
①#property indicator_chart_window
①#property indicator_chart_window
インジゲータをチャートウインドウに表示する。
■グローバル変数の設定
①extern int shift = 1;
①extern int shift = 1;
外部パラメーターの設定。何本前の足にするか設定。パラメーターで変更可能。初期値は1を指定。
■初期化関数の設定
int OnInit()
{
①double a = High[shift];
②double b = Low[shift];
③double c = a-b;
④string d = DoubleToStr(NormalizeDouble((c/(10*Point)),3),3);
⑤double e = StrToDouble(d);
⑥Comment("1本前の足の高値 - 安値は、"+c+"です。\n"+"Pipsに変換すると、"+e+"Pipsです。");
return(INIT_SUCCEEDED);
}
①double a = High[shift];
double型の変数aにshift本前の足の高値を代入。
②double b = Low[shift];
double型の変数bにshift本前の足の安値を代入。
③double c = a - b;
double型の変数cにa - b(高値 - 安値)の結果を代入。
④string d = DoubleToStr(NormalizeDouble((c/(10*Point)),3),3);
string型の変数dを指定。
NormalizeDoubleでcの値を(10*Point)で割って小数点以下3桁で四捨五入。
その結果をDoubleToStrで小数点以下3桁で文字列に変換。
⑤double e = StrToDouble(d);
double型の変数eにstring型の変数dをdouble型に変換した値を代入。
⑥Comment("1本前の足の高値 - 安値は、"+c+"です。\n"+"Pipsに変換すると、"+e+"Pipsです。");
Commentで結果を表示。