まずは移動平均線の情報を取得する方法を調べてみます。
移動平均線の情報は iMA() を使うことで取得でき、例えば、20 時間分の移動平均値の終値を取得するには次のように記載します。
iMA(NULL,0,20,0,MODE_SMA,PRICE_CLOSE,0);
NULL:チャート上で表示されている通貨を使う
0:チャート上で表示されているローソク足の時間枠を使う
20:移動平均値を計算するために利用するローソク足数
0:画面にグラフ表示する際のシフト値
MODE_SMA:移動平均値の計算方法で MODE_SMA は単純移動平均で計算
PRICE_CLOSE:移動平均値を出す際に利用する価格で PRICE_CLOSE は終値を指す
0:現在のローソク足から何本前の移動平均値を取得するか指定
今回は「XX 回移動平均値を超えたら」という判断が必要になるため、iMA() の一番最後のパラメーターを順次変更しながら過去 XX 回分の移動平均値を取得することになります。
つまり、最後の 0 の部分を過去 XX 回分指定できるように次のように変数指定にし、必要回数分回すようにします。
y=10;
for(x=0; x<y; x++)
{
iMA(NULL,0,20,0,MODE_SMA,PRICE_CLOSE,x)
}