Discusión sobre el artículo "Buscando patrones estacionales en el mercado de divisas con la ayuda del algoritmo CatBoost" - página 2

 
Maxim Dmitrievsky:

spread se tiene en cuenta en el probador personalizado, luego los modelos se comprueban en el probador MT5 (véase el 1er artículo de la serie).

Es decir, la lógica se transfiere fácilmente (relativamente) a MT5, de forma casi automática.

Sí, ya lo he mirado. Entiendo que tomas el precio medio (ask+bid)/2 para el análisis. Lo he visto en tu software y creo que lo añadiré a mi software también. Este spread lo estropea todo, el ruido del spread en muchos pares es mayor que el tamaño medio de la vela. Aquí está la solución ). Pero en los picos altos y bajos sería más propagación para corregirlos también ). ¿Tienes correcciones en los 4 puntos o solo en apertura y cierre? o eso me parece a mi))). Si no las tiene, puede intentar añadirlas. Habrá suavizar inmediatamente la serie de precios, y las variantes que están dentro de la propagación caerá casi todos a la vez

 
Tengo porque la propagación está más cerca del punto 0:00 en todas partes aumenta en la mayoría de las variantes de búsqueda llega allí )))) usted prueba en el probador y la propagación es superior a la expectativa )). Creo que con la introducción de este filtro todo va a cambiar drásticamente ))
 
Evgeniy Ilin:

Sí, ya lo he mirado. Tengo entendido que también toma el precio medio (ask+bid)/2 para el análisis. Lo vi en tu software, así que creo que lo añadiré a mi software también. Este spread lo estropea todo, el ruido del spread en muchos pares es mayor que el tamaño medio de la vela. Aquí está la solución ). Pero en los picos altos y bajos sería más propagación para corregirlos también ). ¿Tienes correcciones en los 4 puntos o solo en apertura y cierre? o eso me parece a mi))). Si no las tiene, puede intentar añadirlas. Inmediatamente se alisará la serie de precios, y las variantes que están dentro del spread caerán casi todas a la vez.

No, los precios de apertura. El spread se fija en la fase de entrenamiento del modelo, es decir, las operaciones por debajo del spread se descartan.

 
Maxim Dmitrievsky:

no, el precio de apertura. El diferencial se fija en la fase de formación del modelo, es decir, las operaciones por debajo del diferencial se descartan.

pero no se ajustan los valores de Open[]. En general, el hecho de que yo entendiera mal todo esto me dio la idea correcta DDD. Puedes intentar desechar los ruidos del spread corrigiendo los valores de Open[] Close[] High[] Low[] usando el Spread en los mismos puntos. entonces obtendrás el precio de digamos OpenX[i]=Open[i]+(Spread/2)*_Point. Exactamente el medio entre Ask y Bid ). Esta serie es más fiable, porque el ruido del spread será expulsado del análisis.

 
Evgeniy Ilin:

pero no ajustas los valores de Open[]. En general, porque entendí mal todo esto, tenía la idea correcta DDD. Puedes intentar eliminar los ruidos de spread corrigiendo los valores de Open[] Close[] High[] Low[] usando Spread en los mismos puntos. entonces obtendrás el precio de digamos OpenX[i]=Open[i]+(Spread/2)*_Point. Exactamente el medio entre Ask y Bid ). Esta serie es más fiable porque el ruido del spread será expulsado del análisis.

He intentado corregir de otras maneras, moviendo clusters en el espacio de características, pero esa es otra historia ) Sí, puedes hacerlo de esa manera.

 
Maxim Dmitrievsky:

lógica se transfiere fácilmente (relativamente) a MT5, casi en automático.

¿puede publicar un EA para este mismo modelo con los tiempos?

 
Evgeni Gavrilovi:

¿puedes publicar un EA para este mismo modelo con tiempos?

La respuesta es la misma que en el 2º artículo, pero en el terminal hay que añadir la limitación de apertura de operaciones por tiempo, y todo lo

mismo para días de la semana y diferentes combinaciones. Además en MT5 la cuenta atrás de las horas se desplaza 1 a la derecha, es decir, si en python la 4ª hora, entonces en MT la 5ª hora.

MqlDateTime hours;

void OnTick() {
//---
   if(!isNewBar()) return;
   TimeToStruct(TimeCurrent(), hours);
}

if(hours.hour == 5 && countOrders() == 0 && CheckMoneyForTrade(_Symbol,LotsOptimized(),ORDER_TYPE_BUY)) {
      if(sig < 0.5)
         OrderSend(Symbol(),OP_BUY,LotsOptimized(), Ask, 0, Bid-stoploss*_Point, Ask+takeprofit*_Point, NULL, OrderMagic);
      else if(sig > 0.5)
         OrderSend(Symbol(),OP_SELL,LotsOptimized(), Bid, 0, Ask+stoploss*_Point, Bid-takeprofit*_Point, NULL, OrderMagic);
      return;
   }
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Информация об инструменте - Состояние окружения - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Maxim Dmitrievsky:

La respuesta es la misma que en el 2º artículo, pero en el terminal hay que añadir la limitación de apertura de operaciones por tiempo, y ya está

lo mismo para días de la semana y diferentes combinaciones. Además, en MT5 la cuenta atrás de las horas se desplaza 1 a la derecha, es decir, si en Python la 4ª hora, entonces en MT la 5ª

gracias.

[Eliminado]  
¡Bravo! Una idea increíble. Me quito el sombrero ante ti, eres increíblemente original y creativo!!!!
 

Tema interesante y cercano.

Sería muy curioso ver la equidad final de un probador estándar MT5 en cualquiera de los instrumentos FORTS de su elección, obtenido mediante la aplicación de este método.

Como feedback, estoy dispuesto a publicar la equidad de mi algoritmo estacional sobre el instrumento seleccionado :)