Como enviar ordens pendentes?

 

Estou desenvolvendo um EA e não estou conseguindo criar uma ordem pendente!

O que está de errado?

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
 #include <Trade\Trade.mqh>
CTrade trade;

void OnTick()
  {
        double preco = SymbolInfoDouble(_Symbol,SYMBOL_LAST);
        if(!trade.OrderOpen(_Symbol,ORDER_TYPE_BUY,1,preco,preco,preco-(100*_Point),preco + (100*_Point),ORDER_TIME_GTC,0,"Compra"))
        {
         Print("Erro: ",GetLastError());
        }
  }
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
 #include <Trade\Trade.mqh>
CTrade trade;

void OnTick()
  {
        double preco = SymbolInfoDouble(_Symbol,SYMBOL_LAST);
        if(!trade.OrderOpen(_Symbol,ORDER_TYPE_BUY,1,preco,preco,preco-(100*_Point),preco + (100*_Point),ORDER_TIME_GTC,0,"Compra"))
        {
         Print("Erro: ",GetLastError());
        }
  }
 
Edilson Domingos:

Estou desenvolvendo um EA e não estou conseguindo criar uma ordem pendente!

O que está de errado?

Boa noite,

ORDER_TYPE_BUY não é ordem pendente é ordem a mercado e o método é para ordem pendente.  Tente  ORDER_TYPE_BUY_LIMIT, ORDER_TYPE_BUY_STOP OU ORDER_TYPE_BUY_STOP_LIMIT.