Incollaggio di futures - trovare le cuciture

 

Per testare l'EA, dobbiamo sbarazzarci delle cuciture sulle colle dei futures, in particolare su Si.

Come faccio a sapere le date dei punti per eliminarli?

L'idea è il giorno di scadenza - ma dov'è la lista di tutti i giorni di scadenza? Forse c'è un modo per scoprire la data di scadenza senza dover raccogliere informazioni?


 

Ecco il Si compilato da http://www.moex.com/ru/contract.aspx?code=Si-12.17

Anno/Trimestre36912
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


Qual è il modo migliore per escludere queste date?

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

Attuato in questo modo


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] );
  }
//+------------------------------------------------------------------+

C'è un modo più intelligente?

 
Aleksey Vyazmikin:

Per testare l'EA, dobbiamo sbarazzarci delle cuciture sulle colle dei futures, in particolare su Si.

Come faccio a sapere le date dei punti per eliminarli?

L'idea è il giorno di scadenza - ma dov'è la lista di tutti i giorni di scadenza? Forse c'è un modo programmatico per trovare questo, così non ho bisogno di raccogliere informazioni.


Perché indovinare?

A partire dalla data attuale, è possibile ottenere il nome del futures più liquido per lo strumento e quello successivo. E confronta le barre della colla e questi due futures. In questo modo capirete dove fanno la transizione e secondo quale algoritmo.

 
pivomoe:

Perché indovinare?

A partire dalla data attuale, si può ottenere il nome del futures più liquido sullo strumento e quello che lo segue. E confronta le barre della colla e questi due futures. In questo modo capirete dove fanno la transizione e secondo quale algoritmo.

Non capisco la vostra logica.

Non sto suggerendo di indovinare - ho raccolto le date di scadenza su Si.


 
Aleksey Vyazmikin:

Non capisco la tua logica...

Non sto suggerendo di indovinare - ho raccolto le date di scadenza su Si.


Dove prendete l'informazione che l'incollaggio avviene l'ultimo giorno di circolazione? Capisco che pensiate (o sappiate) che la colla è composta da un futuro e poi dall'altro. E se non fosse così? Da dove viene questa informazione?
 
A proposito, c'è un ultimo giorno di circolazione nelle proprietà dei simboli. Vi si può accedere dal consulente.
 
pivomoe:
A proposito, nelle proprietà del simbolo è l'ultimo giorno di circolazione. Si può accedere a questo dall'EA.

c'è, ma è inutile per escludere giunzioni di colla

Per esempio l'attuale Si-9.17 è il 21.09.2017


ed è meglio escludere non solo il 15, ma anche il 16, imho

 
Aleksey Vyazmikin:

Attuato in questo modo


Forse c'è un modo più razionale?


Suppongo che si potrebbe semplicemente escludere il 14 al 17 del 3°, 6°, 9° e 12° mese

 
pivomoe:
Dov'è l'informazione che l'incollaggio è l'ultimo giorno? Per quanto ho capito tu pensi (o sai) che fino a un certo punto la colla è composta da un futuro e poi da un altro. E se non fosse così? Da dove viene questa informazione?

Lo stack è composto da diversi futures. A proposito dell'ultimo giorno - un'osservazione, compreso il grafico lo mostra. Ma questo è al broker Otkritie, altri possono essere diversi.

 
pivomoe:
A proposito, c'è un ultimo giorno di circolazione nelle proprietà dei simboli. Vi si può accedere dall'EA.

Come trovare i vecchi futures - non sono negli strumenti.