チャートに矢印を表示するインジケーターの作成 その4 | メタトレーダー4でプログラムを作ってみよう

メタトレーダー4でプログラムを作ってみよう

無料のトレードソフトであるメタトレーダー4のプログラムを作るコツをアップします。初心者がインジケーターとEAのプログラムを作成できるのを目指します。

クロスに関して色々説明しましたので、実際に修正してみます。

以前作ったma_cross01タイミングを遅らせるようにしてみます。

修正箇所は start です。

以下のように修正してください。

double fast_ma1=iMA(NULL,0,ma1_Period,0,MODE_SMA,PRICE_CLOSE,i+1);
double fast_ma2=iMA(NULL,0,ma1_Period,0,MODE_SMA,PRICE_CLOSE,i+2);
double slow_ma1=iMA(NULL,0,ma2_Period,0,MODE_SMA,PRICE_CLOSE,i+1);
double slow_ma2=iMA(NULL,0,ma2_Period,0,MODE_SMA,PRICE_CLOSE,i+2);

if(fast_ma1>slow_ma1 && fast_ma2<slow_ma2)
{
   ExtMapBuffer1[i]=Close[i];
   ExtMapBuffer2[i]=0;
}
else if(fast_ma1<slow_ma1 && fast_ma2>slow_ma2)




fast_ma0 と slow_ma0 を削除し、

fast_ma2 と slow_ma2 を追加して、

0 と 1 の比較だったものを 1 と 2 の比較に変更しています。


修正が終わったらコンパイルしてみてください。


Before




After





矢印の表示のタイミングが1本遅れているのがわかると思います。

色々試してどちらが好みか確かめるのもいいかもしれません。