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
Saludos a todos.
Pregunta - Quiero utilizar métodos de la clase CTrade en mi EA. ¿Qué comandos debo añadir al código para ello?
He probado mucho con #include, #import... Todavía no sale nada :(
Saludos a todos.
Pregunta - Quiero utilizar métodos de la clase CTrade en mi EA. ¿Qué comandos debo añadir al código para ello?
He probado mucho con #include, #import... Nada funciona hasta ahora :(
El ejemplo de asesor experto en MACD puede ayudarle.
Conecte el módulo de la siguiente manera
#include <Trade\Trade.mqh>
Declare una variable de una de las dos maneras (dependiendo del algoritmo y de la necesidad de ciertas características de implementación)
Esto puede hacerse como un objeto independiente, o como parte de la clase principal.
Un ejemplo de cierre de una posición (en detalle en el código).
m_trade.PositionClose(Symbol())
Ejemplo de modificación de una posición (ver detalles en el código).
m_trade.PositionModify(Symbol(),sl,tp)
PS
También puede estudiar la clase CExpert en detalle.
¿Qué significa?
2011.07.15 13:30:35 2011.07.08 00:00:01 Se ha detectado un bucle de reposo infinito durante las pruebas.
¿Qué significa?
Teóricamente, esto es una razón para descalificar a un participante del campeonato (al menos, problemas durante la prueba automática del EA), pero de hecho, es un trabajo incorrecto con sleep().
Aconsejo estudiar este artículo (y quizás otros) con más detalle.
En cuanto a su pregunta, aquí está la cita del artículo:
Función Sleep() en el probador
La función Sleep() permite suspender la ejecución de un programa mql5 durante algún tiempo mientras se trabaja en un gráfico en un Asesor Experto o en un script. Esto puede ser necesario cuando se solicitan algunos datos, que en el momento de la solicitud no están listos y hay que esperar hasta que lo estén. Un ejemplo detallado del uso de la función Sleep() puede encontrarse en la sección Organización del acceso a los datos.
En el probador, las llamadas a Sleep() no retrasan el proceso de prueba. Cuando se llama a Sleep(), los ticks generados se "reproducen" dentro del retardo especificado, como resultado de lo cual pueden dispararse órdenes pendientes, stops, etc. Después de llamar a Sleep(), el tiempo modelado en el probador se incrementa en el intervalo especificado en el parámetro de la función Sleep.
Si, como resultado de la ejecución de Sleep() el tiempo actual en el probador excede el final del período de prueba, se recibirá un error "bucle infinito en Sleep". Si se produce un error de este tipo, los resultados de las pruebas no se descartan, se completan todos los cálculos (número de operaciones, reducción de la deuda, etc.) y los resultados se pasan al terminal.
La función Sleep() no funcionará en OnDeinit() porque después de su llamada se garantiza que el tiempo del probador está más allá del intervalo de prueba.
¡Camaradas!
Voy a añadir un análisis del historial al Asesor Experto. ¿Puede decirme cómo organizar la salida de datos?
Digamos, la barra más larga de un año de historia. La forma de obtener el valor está clara, pero ¿dónde salir? Sería más conveniente que la salida fuera directamente al gráfico. ¿O utilizar la función de impresión del diario, pero no sé cómo funcionaría? ¿Reimprimirá continuamente los valores? ¿Tendré que establecer alguna condición complicada para la impresión? ¿Cuál sería su recomendación general?
¡Camaradas!
Voy a añadir un análisis del historial al Asesor Experto. ¿Puede decirme cómo organizar la salida de datos?
Digamos que la barra más larga de un año de historia. La forma de obtener el valor está clara, pero ¿dónde salir? Sería más conveniente que se imprimiera directamente en el gráfico. ¿O utilizar la función de impresión del diario, pero no sé cómo funcionaría? ¿Reimprimirá continuamente los valores? ¿Tendré que establecer alguna condición complicada para la impresión? ¿Cuál sería su recomendación general?
Pruebe a utilizar la función Comment(). Coloca el texto en la esquina superior izquierda del gráfico.
Allí también puede utilizar el símbolo "\n" para pasar a la siguiente línea. Desgraciadamente, "\t" no funciona.
Pruebe a utilizar la función Comment(). Coloca el texto en la esquina superior izquierda del gráfico.
También puede utilizar "\n" para pasar a la siguiente línea. Desgraciadamente, "\t" no funciona.
¿Puede decirme cuántos datos se pueden meter en una matriz? Array de la estructura MqlRates, voy a poner todo el historial de barras horarias desde 2009, ¿cabrá?
p.d. Algo más con el probador de estrategias, no funciona los fines de semana porque el servidor no está disponible o algo me falla? El viernes parecía funcionar correctamente))
1. Todo parece ser. Si hay un límite, está en el nivel de umbral int o long. No hay tanta memoria RAM en el ordenador. =)
2. Describa con mayor precisión el problema del probador que no funciona. Códigos de error, capturas de pantalla...