2020年8月31日月曜日

MT5 の過去データ (スプレッド編)

MT5ーFXが現在AVA、OANDA、フィリップ証券、外為ファイネスト(近日?)と増えています。
余談ですがMT5ーCFD(株価)はOANDA、eワラント

MT4からMT5移行は利用者にとっては便利なことばかりですが、開発者目線では様々な課題があります。もちろん、MT4でできなかったことがMT5でできるといったこともありますので、それhそれで楽しみです。

今回は課題の一つ過去データの中のスプレッドについてです

その前に時間について
MT4ではGMT +2/+3がスタンダードです
日足が1週間5日にするためにはこの時間がいいようです
さて、MT5は
AVA       GMT0
OANDA     GMT+2/+3(冬+2/夏+3)
フィリップ証券   JST(日本時間GMT+9)
外為ファイネスト  GMT+2/+3(予想)

AVA社、フィリップ証券は本社時間です
ちなみにフィリップ証券は結婚できない男のビルだったと・・・
阿部寛 いや 正確には阿部寛 のHPのファンです

さて過去データーとスプレッド
今回はこんなコードをで月別にスプレッドを最低、平均、最高とティック数(Cnt)をし「操作ログ」に出力します。
3社をまとめてEXCELにいれて紹介させていただきます。

#property strict
long Sum[2100][13],Cnt[2100][13],Max[2100][13],Min[2100][13],SP;
MqlDateTime AMSER;
void OnInit()
   {
   for(int i=0;i<2100;i++)
      {
      for(int j=1;j<=12;j++)Min[i][j]=99999;
      } 
   }
void OnTick()
   {
   TimeToStruct(TimeCurrent(),AMSER);
   SP=SymbolInfoInteger(_Symbol,SYMBOL_SPREAD);
   Cnt[AMSER.year][AMSER.mon]++;
   Sum[AMSER.year][AMSER.mon]+=SP;
   if(Min[AMSER.year][AMSER.mon]>SP)Min[AMSER.year][AMSER.mon]=SP;
   if(Max[AMSER.year][AMSER.mon]<SP)Max[AMSER.year][AMSER.mon]=SP;
   }
void OnDeinit(const int reason)
   {
   Print(_Symbol);
   for(int i=0;i<2100;i++)
      {
      for(int j=1;j<=12;j++)
         {
         if(!Cnt[i][j])continue;
         Print(i,".",j," Average: ",Sum[i][j]/Cnt[i][j]," Max: ",Max[i][j]," Min: ",Min[i][j]," Cnt: ",Cnt[i][j]);       
         }
      }
   }


①開始時期3社ともに1971.5からです。
平均、最大、最小すべて固定です。
Cntがほぼ同じです。時差で多少ずれるのかもしれません。
データーも1日1回程度、現在スプレッド1Pips以下ですのでここのデータ試験をしても参考にはなりません。おそらく一方的な右肩下がりになるでしょう




②その後27年ほどしてから急にCntが増えます。


③さらに2004年になると
ここで固定されていたスプレッドが急に10下がります。
2005年にさらに10下がります。







④そして2009年11月~各社揃って変動スプレッドの開始です。




⑤ここまでAVA社は常に他2社より7少ないスプレッドをキープしていましたが、
他社が6以下になると0になります。
マイナススプレッドは無いようです(笑)



⑥スプレッドが1pipsを下回るのは2013年付近です。
このあたりならバックテストに使用できそうです




⑦AVA社は2019.1から他社ー7ではなくなりました。
確かMT5始めたのはこの頃です。
OANDAは2019.7から平均スプレッドが現実的な値になっています。
フィリップ証券と同じ値なので過去データーは実配信データーでなくメタ社の物かもしれません。
フィリップ証券
ローンチした2020.7あたりからスプレッドが増えています。
ここからは実配信データのように見えます。



結論 配信される過去データはメタ社の物

1999年以前は日足でしか使えない(配信数が少ない)
2013年以前はスプレッドが大きい3-5PIPs バックテストしても現実的ではない。
AVA フィリップ証券はローンチ後からリアルデータ

※途中フィリップ証券と間違えて書いているところがあります。
フィリップスはオランダの家電屋さんですね💦
ごめんなさいm(__)m