Nuevo en MQL5 (y FOREX para el caso), pero, programador de mucho tiempo. Abrí el archivo My_First_EA.mq5 y compilado, pero, no estoy recibiendo las funciones de depuración. Si abro cualquiera de los archivos de script de ejemplo me sale la opción Debug. También he recibido una advertencia de que el valor de retorno de 'OrderSend' debe ser comprobado. ¿Qué tengo que hacer para obtener la funcionalidad de depuración?
Nuevo en MQL5 (y FOREX para el caso), pero, programador de mucho tiempo. Abrí el archivo My_First_EA.mq5 y compilado, pero, no estoy recibiendo las funciones de depuración. Si abro cualquiera de los archivos de script de ejemplo me sale la opción Debug. También he recibido una advertencia de que el valor de retorno de 'OrderSend' debe ser comprobado. ¿Qué tengo que hacer para obtener la funcionalidad de depuración?
Louis
Hola a todos,
Descubrí mi propio problema. He creado un nuevo proyecto con el Asistente de Asesor Experto y luego acaba de copiar en el archivo My_First_EA.mq5 y me sale la funcionalidad de depuración.
Descubrí mi propio problema. He creado un nuevo proyecto con el Asistente Asesor Experto y luego simplemente copiado en el archivo My_First_EA.mq5 y me sale la funcionalidad de depuración.
Louis
Pero, ¿has arreglado la advertencia 'OrderSend should be checked'?
Tengo 4756 error, vi la solución en la página 2, y he comprobado el código orginal, había ZeroMemory(mrequest); en la línea 218 en sí. pero todavía tengo el error 4756.
También sigo teniendo este error habiendo hecho las dos correcciones sugeridas:
ZeroMemory(mrequest);
y también
if(Compra_abierta || Venta_abierta)
¿Puede alguien ayudarme con el error 4756? Parece que no se puede colocar una orden de compra.
He cambiado Varias cosas en el código pero ne se me da, les agrego el código que tengo:
Original: mrequest.type_filling = "Lo he puesto de las 3 formas que estan en la documentación"
mrequest.action = TRADE_ACTION_DEAL; // immediate order execution
mrequest.price = NormalizeDouble(latest_price.ask,_Digits); // latest ask price
mrequest.sl = NormalizeDouble(latest_price.ask - STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble(latest_price.ask + TKP*_Point,_Digits); // Take Profit
mrequest.symbol = _Symbol; // currency pair
mrequest.volume = Lot; // number of lots to trade
mrequest.magic = EA_Magic; // Order Magic Number
mrequest.type = ORDER_TYPE_BUY; // Buy Order
mrequest.type_filling = ORDER_FILLING_RETURN; // Order execution type
mrequest.deviation=100;
Tambien he probado este codigo:
//--- declaracion e inicializacion de la solicitud y el resultadoMqlTradeRequest request={0};
MqlTradeResult result={0};
//--- parametros de la solicitud
request.action =TRADE_ACTION_DEAL; // tipo de operacion comercial
request.symbol =Symbol(); // simbolo
request.volume =0.1; // volumen de 0.1 lote
request.type =ORDER_TYPE_BUY; // tipo de orden
request.price =SymbolInfoDouble(Symbol(),SYMBOL_ASK); // precio de apertura
request.deviation=5; // desviacion permisible del precio
request.magic =EA_Magic; // Numero magico de la orden//--- envio de la solicitudif(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError()); // si no se ha logrado enviar la solicitud, introducir el codigo de error//--- informacion sobre la operacionPrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
Hola, Gracias por el tutorial, fue muy útil. Pero tengo un malentendido, las variables New_Time declaradas e inicializadas con la función CopyTimes pero Old_Time fue declarada pero no inicializada al principio y luego fue comparada con la variable New_Time para verificar si hay una nueva barra. Se supone que Old_Time está vacía. No se si lo he descrito bien pero gracias por leer.
Hola a todos,
Nuevo en MQL5 (y FOREX para el caso), pero, programador de mucho tiempo. Abrí el archivo My_First_EA.mq5 y compilado, pero, no estoy recibiendo las funciones de depuración. Si abro cualquiera de los archivos de script de ejemplo me sale la opción Debug. También he recibido una advertencia de que el valor de retorno de 'OrderSend' debe ser comprobado. ¿Qué tengo que hacer para obtener la funcionalidad de depuración?
Louis
Hola a todos,
Nuevo en MQL5 (y FOREX para el caso), pero, programador de mucho tiempo. Abrí el archivo My_First_EA.mq5 y compilado, pero, no estoy recibiendo las funciones de depuración. Si abro cualquiera de los archivos de script de ejemplo me sale la opción Debug. También he recibido una advertencia de que el valor de retorno de 'OrderSend' debe ser comprobado. ¿Qué tengo que hacer para obtener la funcionalidad de depuración?
Louis
Hola a todos,
Descubrí mi propio problema. He creado un nuevo proyecto con el Asistente de Asesor Experto y luego acaba de copiar en el archivo My_First_EA.mq5 y me sale la funcionalidad de depuración.
Louis
Hola a todos,
Descubrí mi propio problema. He creado un nuevo proyecto con el Asistente Asesor Experto y luego simplemente copiado en el archivo My_First_EA.mq5 y me sale la funcionalidad de depuración.
Louis
Tengo 4756 error, vi la solución en la página 2, y he comprobado el código orginal, había ZeroMemory(mrequest); en la línea 218 en sí. pero todavía tengo el error 4756.
También sigo teniendo este error habiendo hecho las dos correcciones sugeridas:
ZeroMemory(mrequest);
y también
if(Compra_abierta || Venta_abierta)
¿Puede alguien ayudarme con el error 4756? Parece que no se puede colocar una orden de compra.
Hola, me aparece un error:
return value of ´OrderSend´should be checked líneas 213 y 259
lo habéis resuelto?
Buenos días Tchuso,
A mi me pasó lo mismo. Lo arreglé sustituyendo esas líneas en ambas operaciones por esto.
Dime si te vale la ayuda que yo también soy nuevo.
Un saludo!
El ódigo de ejemplo me gusta bastante, soy nuevo en esto tambien, arregle el codigo tal como aparece en los comentarios y ya no da errores.
El problema es que el robot no abre operacciones, ni siquiera abre una operación
¿Alguno pudo resolver este problema?
Estoy usando La opción "Unico" del probador de estrategías: ¿Es un error mio?
Gracias por su tiempo y en apoyarmeMe di cuenta que el Robot intenta abris las ordenes pero siempre da error:
Salida:
2020.05.06 20:35:16.141 Core 1 2020.04.20 20:25:00 failed market sell 0.10 EURUSD sl: 1.08965 tp: 1.07665 [Invalid request]
He cambiado Varias cosas en el código pero ne se me da, les agrego el código que tengo:
Original: mrequest.type_filling = "Lo he puesto de las 3 formas que estan en la documentación"
Me di cuenta que el Robot intenta abris las ordenes pero siempre da error:
Salida:
2020.05.06 20:35:16.141 Core 1 2020.04.20 20:25:00 failed market sell 0.10 EURUSD sl: 1.08965 tp: 1.07665 [Invalid request]
He cambiado Varias cosas en el código pero ne se me da, les agrego el código que tengo:
Original: mrequest.type_filling = "Lo he puesto de las 3 formas que estan en la documentación"
Añade esto arriba del codigo:
#include <Trade\Trade.mqh>Y luego para abrir una operacion solo tienes que escribir esto:
Hola,
De manera similar, tengo el código de error 4756 cuando se ejecuta la prueba y dice " Sell order request could not be completed".
Por favor informen como solucionar esto.
Gracias