フューチャーズボンディング - シーム(継ぎ目)の発見

 

EAをテスト するためには、先物の接着剤、特にSiの継ぎ目をなくす必要があります。

縫い目をなくすには、どのように日付を知ればよいのでしょうか?

アイデアは有効期限です。しかし、すべての有効期限のリストはどこにあるのでしょうか?もしかしたら、情報収集しなくても有効期限を調べる方法があるのでは?


 

以下は、http://www.moex.com/ru/contract.aspx?code=Si-12.17 がまとめたSiに関するものです。

年/四半期36912
2012 15.03.2012 15.06.2012 17.09.2012 17.12.2012
2013 15.03.2013 17.06.2013 16.09.2013 16.12.2013
2014 17.03.2014 16.06.2014 15.09.2014 15.12.2014
2015 16.03.2015 15.06.2015 15.09.2015 15.12.2015
2016 15.03.2016 15.06.2016 15.09.2016 15.12.2016
2017 16.03.2017 15.06.2017 21.09.2017 21.12.2017


これらの日付を除外するには、どのような方法がありますか?

Московская Биржа - Основные параметры срочного контракта
  • www.moex.com
Код контракта Цена Изменение, % Объем, ₽ Объем, контр. Откр. позиции Изменение Расчетная цена Исполнение Открытые позиции * Физические лица Юридические лица Итого Длинные Короткие Длинные Короткие Итоги торгов
 

このように実装されています


void OnTick()
  {
//--Исключаем экспирацию по Si
   if(Symbol()=="Si Splice")
     {
      datetime  Open_timeExp=iTime(_Symbol,0,0);
      MqlDateTime strExp;
      TimeToStruct(Open_timeExp,strExp);
      strExp.hour=0;
      strExp.min=0;
      strExp.sec=0;
      for(int i=0;i<23; i++)
        {
         if(StructToTime(strExp)==StringToTime(ExpSi(i)))
           {
            BuyNow=false;
            SellNow=false;
            break;
           }
        }
     }
  }
//////
//+------------------------------------------------------------------+
//|Массив с датами экспирации опциона Si                             |
//+------------------------------------------------------------------+
string ExpSi(int i)
  {
   string Exp[24]=
     {
      "15.03.2012 0:00",
      "15.03.2013 0:00",
      "17.03.2014 0:00",
      "16.03.2015 0:00",
      "15.03.2016 0:00",
      "16.03.2017 0:00",
      "15.06.2012 0:00",
      "17.06.2013 0:00",
      "16.06.2014 0:00",
      "15.06.2015 0:00",
      "15.06.2016 0:00",
      "15.06.2017 0:00",
      "17.09.2012 0:00",
      "16.09.2013 0:00",
      "15.09.2014 0:00",
      "15.09.2015 0:00",
      "15.09.2016 0:00",
      "21.09.2017 0:00",
      "17.12.2012 0:00",
      "16.12.2013 0:00",
      "15.12.2014 0:00",
      "15.12.2015 0:00",
      "15.12.2016 0:00",
      "21.12.2017 0:00"
     };

   return (Exp[i] );
  }
//+------------------------------------------------------------------+

もっとスマートな方法はないのか?

 
Aleksey Vyazmikin:

EAをテスト するためには、先物の接着剤、特にSiの継ぎ目をなくす必要があります。

縫い目をなくすには、どのように日付を知ればよいのでしょうか?

アイデアは有効期限です。しかし、すべての有効期限のリストはどこにあるのでしょうか?もしかしたら、プログラム的にこれを見つける方法があるかもしれないので、私は情報を集める必要はありません。


なぜ推測するのか?

現在の日付から、その商品の最も流動性の高い先物とその次の先物の名前を得ることができます。そして、のりとこの2つの先物のバーを比べてみてください。そうすれば、彼らがどこで、どのようなアルゴリズムに従って移行しているのかがわかるでしょう。

 
pivomoe:

なぜ推測するのか?

現在の日付から、その商品の最も流動性の高い先物名とそれに続く先物名を取得することができます。そして、のりとこの2つの先物のバーを比べてみてください。こうすることで、彼らがどこで、どのようなアルゴリズムに従って移行しているかを理解することができます。

あなたの論理が理解できない。

推測しろというわけではないのですが......Siで賞味期限を集めてみました。


 
Aleksey Vyazmikin:

あなたの論理は理解できませんが...。

推測を勧めているわけではないのですが......Siの有効期限を集めてみました。


接着が循環の最終日に行われるという情報はどこから得ているのでしょうか?糊は片方の先物からできている、と思っている(知っている)のは理解できます。そうでない場合はどうするのか?その情報はどこから来るのでしょうか?
 
ちなみに、シンボルプロパティには 最終流通日があります。アドバイザーからアクセスすることができます。
 
pivomoe:
ちなみに、シンボルのプロパティには、流通の最終日が書かれています。EAからアクセスすることができます。

あるにはあるが、接着剤の継ぎ目を除外するには役に立たない。

例えば現在のSi-9.17は2017.09.21です


そして、15日だけでなく、16日も除外した方が良いと思います、イミフ。

 
Aleksey Vyazmikin:

このように実装されています


もっと合理的な方法があるのでは?


3ヶ月、6ヶ月、9ヶ月、12ヶ月のうち、14日から17日までを除外すればよいのでしょうが

 
pivomoe:
接着が最終日という情報はどこにあるのでしょうか?私が理解する限り、あなたはある時点まで糊がある先物で構成され、その後別の先物で構成されると考えている(あるいは知っている)ようです。そうでない場合はどうするのか。その情報はどこから来るのでしょうか?

スタックは異なる先物で構成されています。 最終日について - チャートがそれを示しているを含む観測、。しかし、これはオトクリートブローカーでの話であり、他は違うかもしれません。

 
pivomoe:
ちなみに、シンボルプロパティには 最終流通日があります。EAからアクセスすることができます。

古い先物の見つけ方 - ツールの中にはない。
理由: