Discusión sobre el artículo "Experto comercial universal: Modelo de eventos y prototipo de estrategia comercial (Parte 2)" - página 4

Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Como mínimo, analice el precio. Quizá no necesites entrar en absoluto.
Sí, existe tal mecanismo. ¿Y dónde debería incorporarse, si no es en la clase de órdenes comerciales? ¿Y cómo formalizar dicho mecanismo, qué movimiento brusco debe considerarse crítico?
Bueno, ¡esa es la cuestión! Por eso no está incorporado en el motor.
Para una estrategia un deslizamiento de 20 pips no importa, y usted debe entrar de todos modos, mientras que para otra estrategia un deslizamiento de 2 pips rompe todas las estadísticas, y usted no debe entrar peor.
¿Y qué debería hacer un motor de trading universal para estas dos estrategias? Correcto, devolver el precio de recotización y dejar que la lógica de trading tome una decisión.
Bueno, o añadir una personalización. Más precisamente, la configuración para todos los casos de la vida )
En la compilación 1241, el código está compilando bien, así que traté de ejecutar una prueba retrospectiva. No toma ninguna operación.
Después de indagar un poco he encontrado que es debido al modo de llenado. El modo permitido en el broker/símbolo que estoy usando es ORDER_FILLING_IOC. Su clase TradeCustom establece el modo de llenado por defecto a ORDER_FILLING_FOK. ¿Cómo puedo cambiar este modo de llenado para que el EA Agent.mq5 pueda operar? Podría buscar, pero me llevaría mucho tiempo.
Ese es el problema con este tipo de herramientas, muy similar a MQL5 asistente EA de Metaquotes, es casi inutilizable para cualquier persona que no conoce todos los detalles de las clases. Una vez que te enfrentas a un problema que no fue proporcionado por el autor se convierte en un verdadero dolor para arreglarlo o modificar / añadir a la misma. No veo ninguna diferencia real entre tu solución y la de Metaquotes (asistente).
De todas formas, enhorabuena por el enorme trabajo. Es un gran trabajo de programación.
Hay algunas clases en MetaEditor5 incluir carpeta. Si alguien nos puede dar una explicación profunda de las clases de la carpeta de expertos, será muy útil, porque se ve muy complicado. La gente le gusta escribir EA estándar basado en clases base formales y no siempre volver a crear ruedas.... De todos modos, este artículo ayuda mucho para no volver a crear ruedas.
Estoy de acuerdo. El problema es cuando hay un error en el framework. Antes de usar un framework deberíamos decidir aprenderlo en profundidad o asegurarnos de que está bien soportado por el autor.
Por eso quiero aprender clases en MetaEditor5, son de "gobierno" ;)
Sr. Vasily,
muy bonito codigo... y util para mi...
en el mt5 news builds (1952), tenemos un "mensaje" en el compilador,
//+------------------------------------------------------------------+
expresión no booleana NewBarDetector.mqh 87 24
¿lo correcto debería ser esto? por favor confirmen
Hola Vasiliy,
Por favor, perdóname por hacer una pregunta sobre tu artículo tan abajo después de que lo escribiste. Ahora estoy revisando bien los artículos en busca de alternativas a un framework. Hay algo que me ha parecido raro, muy probablemente debido a un malentendido mío.
Con respecto a los manejadores de eventos New Tick y New Bar. Haces un bucle a través de la lista de ticks añadidos, y luego construyes la estructura de eventos, pasándola a los manejadores de eventos Init y Support, por ejemplo el evento new tick de abajo:
En uno de sus ejemplos, p.e. clip de media móvil abajo;
¡Esta función IsTrackEvents parece anular el propósito de la función NewTickDetect de arriba! Así que el ejemplo de la Media Móvil de arriba debería ser capaz de operar en múltiples instrumentos basado en su habilidad de chequear múltiples símbolos como en el NewTickDetect, pero el IsTrackEvents permite operar sólo para el marco de tiempo de la Estrategia y el Símbolo (el símbolo es la clave aquí). ¿No significa esto que el bucle NewTickDetect no es realmente necesario, ya que la estrategia sólo puede operar con su símbolo? En efecto, el nuevo tick detectar sólo debe comprobar si el tick recibido es del símbolo de la estrategia - sin bucle. Que en efecto es similar a tener un objeto de estrategia para cada símbolo de interés, que los bucles CStragyList sobre?
Espero que tenga sentido, y espero que usted puede aclarar esto para mí.
Me encanta tu trabajo. He aprendido mucho de sus artículos, así que muchas gracias.
Saludos cordiales,
Shep