2015年6月16日火曜日

MQL4のiMAOnArrayの使い方

使い方が分かりそうで分からないiMAOnArrayの使い方を、実際に動かして調べてみた。ソースコードはこちら

まず基本中の基本として、配列のインデックスが大きい方が時系列的に新しいデータ。組み込み変数のOpen[]やClose[]とは逆順なので、SMA以外の時系列で重みが変化するMAに適用する場合は注意。

次にtotal。とりあえず0を指定しておけば配列のサイズを指定したことになるのはドキュメント通りなのだが、気になるのは0以外を指定した場合。結果としては、指定した個数のデータを新しい(インデックスが大きい)方から使う。ついでにMAのperiodより小さい個数を指定してみると、実質total=periodと同じ動き。

shift, ma_shiftは、意味合い的にはiMA等のshift, ma_shift引数と同じ模様。指定した数だけ新しいデータを飛ばして、古いMAを計算する。違うのは、インデックスの大小とデータの新旧が逆順なことだけ。また、データを飛ばしすぎて残り個数がMAのperiodに満たなくなると、0が返ってくる。カスタムインジケータで使いたいだけだから、ma_shiftは0固定でいいかな。

0 件のコメント:

コメントを投稿