Le cautionnement des contrats à terme - trouver les coutures

 

Afin de tester l'EA, nous devons nous débarrasser des coutures sur les futures colles, en particulier sur Si.

Comment connaître les dates des points pour les éliminer ?

L'idée est le jour d'expiration - mais où se trouve la liste de tous les jours d'expiration ? Peut-être existe-t-il un moyen de connaître la date d'expiration sans avoir à collecter des informations ?


 

Voici sur Si compilé par http://www.moex.com/ru/contract.aspx?code=Si-12.17

Année/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


Quelle est la meilleure façon d'exclure ces dates ?

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

Mis en œuvre de cette façon


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

Y a-t-il un moyen plus intelligent ?

 
Aleksey Vyazmikin:

Pour tester l'EA, nous devons nous débarrasser des coutures sur les futures colles, en particulier sur Si.

Comment connaître les dates des points pour les éliminer ?

L'idée est le jour d'expiration - mais où se trouve la liste de tous les jours d'expiration ? Il existe peut-être un moyen programmatique de trouver cette information, de sorte que je n'ai pas besoin de la collecter.


Pourquoi deviner ?

A partir de la date actuelle, vous pouvez obtenir le nom du contrat à terme le plus liquide pour l'instrument et le suivant. Et comparez les barres de la colle et de ces deux futures. Ainsi, vous comprendrez où ils font la transition et selon quel algorithme.

 
pivomoe:

Pourquoi deviner ?

A partir de la date actuelle, vous pouvez obtenir le nom du contrat à terme le plus liquide sur l'instrument et celui qui le suit. Et comparez les barres de la colle et de ces deux futures. Vous comprendrez ainsi où ils font la transition et selon quel algorithme.

Je ne comprends pas votre logique.

Je ne suggère pas de deviner - j'ai recueilli les dates d'expiration sur Si.


 
Aleksey Vyazmikin:

Je ne comprends pas votre logique...

Je ne suggère pas de deviner - j'ai recueilli les dates d'expiration sur Si.


D'où vient l'information que le collage a lieu le dernier jour de la circulation ? Je comprends que vous pensez (ou savez) que la colle est constituée d'un futur puis d'un autre. Et si ce n'est pas le cas ? D'où viennent ces informations ?
 
D'ailleurs, il y a un dernier jour de circulation dans les propriétés des symboles. Il est accessible depuis le conseiller.
 
pivomoe:
D'ailleurs, dans les propriétés du symbole figure le dernier jour de circulation. On peut y accéder à partir de l'EA.

il y en a un, mais il est inutile pour exclure les joints de colle.

Par exemple, le Si-9.17 actuel est le 21.09.2017.


et il est préférable d'exclure non seulement le 15, mais aussi le 16, imho

 
Aleksey Vyazmikin:

Mis en œuvre de cette façon


Peut-être y a-t-il un moyen plus rationnel ?


Je suppose que vous pourriez simplement exclure les 14 au 17 des 3ème, 6ème, 9ème et 12ème mois.

 
pivomoe:
Où est l'information selon laquelle le collage a lieu le dernier jour ? D'après ce que je comprends, vous pensez (ou savez) que jusqu'à un certain moment, la colle est composée d'un futur puis d'un autre. Et si ce n'est pas le cas ? D'où viennent ces informations ?

La pile se compose de différents futurs. A propos du dernier jour - une observation, y compris le graphique le montre. Mais ceci est chez le courtier Otkritie, les autres peuvent être différents.

 
pivomoe:
D'ailleurs, il y a un dernier jour de circulation dans les propriétés des symboles. Il est accessible depuis l'EA.

Comment trouver les anciens contrats à terme - ils ne sont pas dans les outils.