Sou novato em MQL5 (e em FOREX), mas programador há muito tempo. Abri o arquivo My_First_EA.mq5 e compilei, mas não estou obtendo as funções de depuração. Se eu abrir qualquer um dos arquivos de script de exemplo, obtenho a opção Debug. Também recebi um aviso de que o valor de retorno de 'OrderSend' deve ser verificado. O que devo fazer para obter a funcionalidade Debug?
Sou novato em MQL5 (e em FOREX), mas programador há muito tempo. Abri o arquivo My_First_EA.mq5 e compilei, mas não estou obtendo as funções de depuração. Se eu abrir qualquer um dos arquivos de script de exemplo, obtenho a opção Debug. Também recebi um aviso de que o valor de retorno de 'OrderSend' deve ser verificado. O que devo fazer para obter a funcionalidade Debug?
Louis
Olá a todos,
Descobri meu próprio problema. Criei um novo projeto com o Expert Advisor Wizard e, em seguida, copiei o arquivo My_First_EA.mq5 e obtive a funcionalidade de depuração.
Descobri meu próprio problema. Criei um novo projeto com o Expert Advisor Wizard e, em seguida, copiei o arquivo My_First_EA.mq5 e obtive a funcionalidade de depuração.
Louis
Mas você corrigiu o aviso "OrderSend should be checked"?
Recebi o erro 4756, vi a solução na página 2 e verifiquei o código original, havia ZeroMemory(mrequest); na própria linha 218, mas continuo com o erro 4756.
Também continuo com esse erro depois de fazer as duas correções sugeridas:
ZeroMemory(mrequest);
e também
if(Buy_opened || Sell_opened)
Alguém pode me ajudar com o erro 4756? Parece que não é possível fazer uma ordem de compra.
Eu mudei várias coisas no código, mas não funciona, adicionei o código que tenho:
Original: mrequest.type_filling = "Eu o coloquei das três maneiras que estão na documentação".
mrequest.action = TRADE_ACTION_DEAL; // execução imediata da ordem
mrequest.price = NormalizeDouble(latest_price.ask,_Digits); // último preço de venda
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; // par de moedas
mrequest.volume = Lot; // número de lotes a serem negociados
mrequest.magic = EA_Magic; // Número mágico do pedido
mrequest.type = ORDER_TYPE_BUY; // Ordem de compra
mrequest.type_filling = ORDER_FILLING_RETURN; // Tipo de execução da ordem
mrequest.deviation=100;
Tambien he probado este codigo:
//--- declaração e inicialização da solicitação e do resultadoMqlTradeRequest request={0};
MqlTradeResult result={0};
//--- parâmetros do aplicativo
request.action =TRADE_ACTION_DEAL; // tipo de operação comercial
request.symbol =Symbol(); // símbolo
request.volume =0.1; // volume de 0,1 lote
request.type =ORDER_TYPE_BUY; // tipo de ordem
request.price =SymbolInfoDouble(Symbol(),SYMBOL_ASK); // preço de abertura
request.deviation=5; // desvio de preço permitido
request.magic =EA_Magic; // Número mágico do pedido//--- enviando o aplicativoif(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError()); // se a solicitação não puder ser enviada, digite o código de erro//--- informações sobre a operaçãoPrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
Olá, obrigado pelo tutorial, ele foi muito útil. Mas tenho um mal-entendido, as variáveis New_Time foram declaradas e inicializadas com a função CopyTimes, mas Old_Time foi declarada, mas não inicializada no início e, em seguida, foi comparada com a variável New_Time para verificar se há uma nova barra. A Old_Time deveria estar vazia. Não sei se descrevi bem o problema, mas obrigado pela leitura.
Olá a todos,
Sou novato em MQL5 (e em FOREX), mas programador há muito tempo. Abri o arquivo My_First_EA.mq5 e compilei, mas não estou obtendo as funções de depuração. Se eu abrir qualquer um dos arquivos de script de exemplo, obtenho a opção Debug. Também recebi um aviso de que o valor de retorno de 'OrderSend' deve ser verificado. O que devo fazer para obter a funcionalidade Debug?
Louis
Olá a todos,
Sou novato em MQL5 (e em FOREX), mas programador há muito tempo. Abri o arquivo My_First_EA.mq5 e compilei, mas não estou obtendo as funções de depuração. Se eu abrir qualquer um dos arquivos de script de exemplo, obtenho a opção Debug. Também recebi um aviso de que o valor de retorno de 'OrderSend' deve ser verificado. O que devo fazer para obter a funcionalidade Debug?
Louis
Olá a todos,
Descobri meu próprio problema. Criei um novo projeto com o Expert Advisor Wizard e, em seguida, copiei o arquivo My_First_EA.mq5 e obtive a funcionalidade de depuração.
Louis
Olá a todos,
Descobri meu próprio problema. Criei um novo projeto com o Expert Advisor Wizard e, em seguida, copiei o arquivo My_First_EA.mq5 e obtive a funcionalidade de depuração.
Louis
Recebi o erro 4756, vi a solução na página 2 e verifiquei o código original, havia ZeroMemory(mrequest); na própria linha 218, mas continuo com o erro 4756.
Também continuo com esse erro depois de fazer as duas correções sugeridas:
ZeroMemory(mrequest);
e também
if(Buy_opened || Sell_opened)
Alguém pode me ajudar com o erro 4756? Parece que não é possível fazer uma ordem de compra.
Olá, estou recebendo um erro:
O valor de retorno de 'OrderSend' deve ser verificado nas linhas 213 e 259.
Você conseguiu resolver o problema?
Bom dia Tchuso,
Aconteceu a mesma coisa comigo. Resolvi o problema substituindo essas linhas em ambas as operações por isto.
Se precisar de ajuda, me avise, pois também sou novato.
Atenciosamente!
Gostei muito do código de exemplo, também sou novato nisso. Corrigi o código como aparece nos comentários e ele não apresenta mais erros.
O problema é que o robô não abre negociações, ele nem mesmo abre uma negociação.
Alguém conseguiu resolver esse problema?
Estou usando a opção "Unico" do testador de estratégias: é um erro meu?
Obrigado por seu tempo e apoioPercebi que o robô tenta abrir as ordens, mas sempre dá um erro:
Exit:
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].
Eu mudei várias coisas no código, mas não funciona, adicionei o código que tenho:
Original: mrequest.type_filling = "Eu o coloquei das três maneiras que estão na documentação".
Percebi que o robô tenta abrir as ordens, mas sempre dá um erro:
Exit:
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].
Eu mudei várias coisas no código, mas não funciona, eu adiciono o código que tenho:
Original: mrequest.type_filling = "Eu o coloquei das 3 maneiras que estão na documentação".
Adicione isso na parte superior do código:
#include <Trade\Trade.mqh>E, para abrir uma operação, basta digitar isso:
Hi,
Da mesma forma, tenho o código de erro 4756 ao executar o teste e diz: "A solicitação de ordem de venda não pôde ser concluída".
Por favor, informe como resolver isso.
Muito obrigado