MT4 CopyArray で価格情報を効率よくコピーするには

FX
スポンサーリンク

3808452611_e887f84e9e_b

ArrayCopySeriese の使用は避けたほうがいい

double close[];
int size1 = ArrayCopySeries(close1, MODE_CLOSE, Symbol());

ArrayCopySeriese で上記のように価格情報を取得してしまうと、 バックテスト時にCloseの配列がとても巨大になってしまうため、致命的なボトルネックが発生してしまう。コピーする配列のサイズを指定する引数も存在しないため、この使用方法しかない。

また、価格情報配列をそのままDLLに渡す方法はなさそうである。1

ArrayCopy

int bars = 2000;
double close_array[];
ArrayResize(close_array, bars);
ArrayCopy(close_array, Close, 0, 0, bars);

上記のようにすると、極端なオーバーヘッドなしで価格情報配列のコピーした配列を確保できた。


  1. RateInfoを除く。 

コメント

  1. デイ より:

    はじめまして よろしくお願いします。
    プログラムのことはあまりわかりませんが、
    もし、よろしければ インジゲーターでMYLineというのがあるんですが、アラート機能がついてないんです。このインジゲーターにチャートがクロスして確定でアラートつけるには どうすればいいんでしょうか。お教えいただきませんでしょうか。よろしくお願いします。

タイトルとURLをコピーしました