Aquí está el Si recopilado por http://www.moex.com/ru/contract.aspx?code=Si-12.17
Año/trimestre | 3 | 6 | 9 | 12 |
---|---|---|---|---|
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 |
¿Cuál es la mejor manera de excluir estas fechas?
- www.moex.com
Implementado de esta manera
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] ); } //+------------------------------------------------------------------+
¿Hay una forma más inteligente?
Para probar el EA, tenemos que deshacernos de las costuras de las colas de los futuros, sobre todo en el Si.
¿Cómo puedo saber las fechas de los puntos para eliminarlos?
La idea es el día de vencimiento, pero ¿dónde está la lista de todos los días de vencimiento? Tal vez haya una forma programática de encontrar esto, de modo que no tenga que reunir información.
¿Por qué adivinar?
A partir de la fecha actual, puede obtener el nombre de los futuros más líquidos para el instrumento y el siguiente. Y compara las barras de la cola y estos dos futuros. De este modo, entenderás dónde hacen la transición y según qué algoritmo.
¿Por qué adivinar?
A partir de la fecha actual, puede obtener el nombre de los futuros más líquidos del instrumento y del que le sigue. Y compara las barras de la cola y estos dos futuros. De este modo, entenderás dónde hacen la transición y según qué algoritmo.
No entiendo su lógica.
No estoy sugiriendo que se adivine - recogí las fechas de caducidad en Si.
No entiendo su lógica...
No estoy sugiriendo que se adivine - he recogido las fechas de caducidad en Si.
Por cierto, en las propiedades del símbolo está el último día de circulación. Se puede acceder a ella desde la EA.
lo hay, pero es inútil para descartar los empalmes de cola
Por ejemplo, el Si-9.17 actual es el 21.09.2017
y es mejor excluir no sólo el 15, sino también el 16, imho
Implementado de esta manera
¿Quizás haya una forma más racional?
Supongo que podría excluir los días 14 a 17 de los meses 3, 6, 9 y 12
¿Dónde está la información de que el encolado es el último día? Por lo que tengo entendido piensas (o sabes) que hasta cierto punto la cola se compone de unos futuros y luego de otros. ¿Y si no es así? ¿De dónde procede esta información?
La pila consiste en diferentes futuros. Sobre el último día - una observación, incluyendo el gráfico lo muestra. Pero esto es en Otkritie broker, otros pueden ser diferentes.
Por cierto, hay un último día de circulación en las propiedades de los símbolos. Se puede acceder a él desde la EA.
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Para probar el EA, tenemos que deshacernos de las costuras de las colas de los futuros, sobre todo en el Si.
¿Cómo puedo saber las fechas de los puntos para eliminarlos?
La idea es el día de vencimiento, pero ¿dónde está la lista de todos los días de vencimiento? ¿Tal vez haya una forma de averiguar la fecha de caducidad sin tener que recopilar información?