FXはやってませんがw
FXも勉強しながらのMQL挑戦ですw
今年の8月頭くらいからなので
まだ1ヶ月半くらいでしょうか。
同じMQLでも、インジケータとEA(Expert Advisor)では
使える関数が違いますし、
インジケータでは
double arr[];
SetIndexBuffer(0,arr);
int limit=Bars - IndicatorCounted() - 1;//例
for(int i=limit;i>=0;i--){
arr[i]=〜〜
}
な感じに書きますが
EAだとこれは動きません。
※他の書き方があるかと思いますが、
あればコメントなどで教えて下さいませ。
double arr[];
int limit;
OnInit(){
limit=Bars - IndicatorCounted() - 1;//例
ArrayResize(arr,limit);
ArrayInitialize(arr,EMPTY_VALUE);
}
■以下tick等
for(int i=limit-1;i>=0;i--){
arr[i]=〜〜
}
※例えばlimitが1000の場合(配列の要素が1000個)
forでiに代入する値は1000ではなく999でないと
配列をいじる時に処理が強制終了します。
また
double ma1,ma2;
ma1=iMA(〜,i);
ma2=iMA(〜,i+1);
などの処理をする場合は
必要な処理だけをして
後は
if(i==limit-1){
//処理をしない
continue;//例
}
で抜けないと
iが要素数MAXの時に
i+1の配列にアクセスする時点で強制終了です。
御注意。