構造体に必要情報を詰め込んで配列で返せなかった

MQL4で構造体が作れるようになったので、DT OscillatorでSK,SDが反転した時の情報を返そうとしたんですけど…

MQL,というかC++は配列を戻り値にできないんですね。
C++だとstdlib使ってListを返すことができるみたいですけど、MQLではよく分からず。

苦肉の策で使ったのがこちら。

struct DtoCrossData
  {
      bool isBuy;
      datetime time;
      int index;
  };
  
struct DtoCrossDataSet {
   DtoCrossData list[5];
};

こうするとDtoCrossDataSetを戻り値にすることができるので、実質的に配列を返してるのと変わらなくなります。

逐一構造体のコピーが発生するので頻繁に呼び出される処理に使うのはやめた方が良さそうですけど。

てかクラスについてもう少し勉強しとかないと…他にもっといい方法あるかと。

コメント

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