Discussão do artigo "Guia passo a passo para iniciantes para escrever um Expert Advisor no MQL5"

 

Novo artigo Guia passo a passo para iniciantes para escrever um Expert Advisor no MQL5 foi publicado:

A programação de Expert Advisors no MQL5 é simples, e você pode aprender facilmente. Neste guia passo-a-passo, você verá os passos básicos necessários para escrever um simples Expert Advisor com base em uma estratégia de negócio de desenvolvimento. São apresentados, a estrutura de um Expert Advisor, o uso de indicadores técnicos embutidos e funções de negociação, os detalhes do modo de Depuração e uso do Strategy Tester.

Figura 15. Depurador para no primeiro breakpoint

Autor: Samuel

 
Parabéns! Excelente artigo! Me ajudou muito.
 
Muito bom! Obrigado!
 

Baixei o arquivo e Depurei o codigo, e apresentou esse warning alguem poderia me dar uma ajuda quanto a isso ?


return value of 'OrderSend' should be checked


 

Olá, sou novato e também estou testando o Robô

Tente isso:

 //    OrderSend(mrequest,mresult);

     

         bool res=OrderSend(mrequest,mresult);

         // get the result code

         if(res && (mresult.retcode==10009 || mresult.retcode==10008)) //Request is completed or order placed

           {

            Alert("A Buy order has been successfully placed with Ticket#:",mresult.order,"!!");

           }

         else

           {

            Alert("The Buy order request could not be completed -error:",GetLastError());

            ResetLastError();           

            return;

           }

Se eu estiver errado, alguem me corrija por favor!

Fonte de pesquisa: https://www.mql5.com/en/forum/23663

return value of 'OrderSend' should be checked
return value of 'OrderSend' should be checked
  • 2014.05.03
  • www.mql5.com
Hi ! I'm wondering how to do that ...:/ the warning appeared @ the last update...
 

Quando estou depurando sempre da erro na hora de enviar a ordem. Eu pensei que fosse meu código, mas mesmo testando o arquivo mql5 pra download da erro também.



 
northedan:

Quando estou depurando sempre da erro na hora de enviar a ordem. Eu pensei que fosse meu código, mas mesmo testando o arquivo mql5 pra download da erro também.



Eu acho que no exemplo é em moedas, então a variavel lot que está 0.1 não serve pra seu teste, tente mudar assim (mudando a variavel mrequest.volume):


         double minSymbolLot =  SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN);

         

         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 = minSymbolLot;                                            // number of lots to trade

         mrequest.magic = EA_Magic;                                        // Order Magic Number

         mrequest.type = ORDER_TYPE_BUY;                                     // Buy Order

         mrequest.type_filling = ORDER_FILLING_FOK;                          // Order execution type

         mrequest.deviation=100;  

 
Alguém sabe se posso utilizar esse EA para mini-índice ou mini-dólar ?
 
Sella170:
Alguém sabe se posso utilizar esse EA para mini-índice ou mini-dólar ?

Você compreendeu a estratégia? Está ciente dos riscos? Analisou os níveis de SL e TP? Conhece os indicadores técnicos utilizados? Sabe parametrizá-los? Sabe personalizar as variáveis para cada ativo (WIN e WDO)?

O código em si foi desenvolvido para qualquer ativo e pode identificar isso através do "_Symbol" e para qualquer tempo gráfico "_Period".

Agora é importante que você saiba o que está fazendo ao colocar o EA para rodar. Se optar por fazê-lo, sugiro que opere apenas em contas demo até dominar a ferramenta e ter maior conhecimento de mercado de capitais.

[ ]´s

 

Comigo aconteceu o mesmo. Consegui corrigir o problema.

Na linha do script my_first_ea.mq5,  onde está escrito

mrequest.type_filling = ORDER_FILLING_FOK;                             // Order execution type

alterei para

mrequest.type_filling = ORDER_FILLING_IOK;                             // Order execution type

Abraços,


 northedan:

Quando estou depurando sempre da erro na hora de enviar a ordem. Eu pensei que fosse meu código, mas mesmo testando o arquivo mql5 pra download da erro também.



 
Alguém poderia me ajudar na execução de otimização do EA?
Quais o valor inicial, final e passo que eu utilizo?
Posso utilizar otimização genética?