Especialistas: Surefirething

 

Surefirething:

Trabalhando com ordens pendentes Buy Limit e Sell Limit. O trailing das posições é possível.


Autor: Vladimir Karputov

 
Boa tarde este robô faz exatamente o que eu estava procurando! Estou com uma duvida, como faço para que novas ordens sejam inseridas sempre que for finalizado uma. e não somente no nascimento de um novo bar, estou operando um ativo que repete varias vezes o mesmo preço e dava para fazer mais de um trade por minuto. desde já agradeço
 
Fabio_tec :
Boa tarde este robô faz exatamente o que eu estava procurando! Estou com uma duvida, como faço para que novas ordens sejam inseridas sempre que for finalizado uma. e não somente no nascimento de um novo bar, estou operando um ativo que repete varias vezes o mesmo preço e dava para fazer mais de um trade por minuto. desde já agradeço

Desculpe, este código só funciona quando a nova barra nasce.

 
Vladimir Karputov:

Desculpe, este código só funciona quando a nova barra nasce.

Pra vc fazer novas ordens antes de abrir o novo candle,  vc deve tratar o isnewbar. 
 
sergiomt :
Hi, what on the next bar defines whether it will be buying or selling ? thankful

O EA trabalha com pedidos pendentes: BuyLimit e SellLimit.

 
sergiomt :

Aqui o meu lote é de 1 em 1. Se eu quiser que a cada ordem o lote vá somando +1 (1,2,3,4,5....) é neste trecho que eu tenho que alterar ?

//--- get minimal step of volume changing

   double volume_step=m_symbol.LotsStep();

   int ratio=(int)MathRound(volume/volume_step);

   if(MathAbs(ratio*volume_step-volume)>0.0000001)


Como ficaria ? ...grato

Não Errado Para aumentar o lote atual, você precisa saber qual foi a última transação.

 

Como eu poderia limitar o número de ordens abertas ?

Grato

 
sergiomt :

Como eu poderia limitar o número de ordens abertas ?

Grato

Para limitar - é necessário contar todas as POSIÇÕES.

 
De qualquer forma, o autor do Expert Advisor não responderá. Se for possível entender o código, alguém pelo menos responda em que princípio as ordens de limite pendentes são colocadas. Parece que é na defasagem do preço, mas em que princípio e onde no código isso pode ser regulado, se possível. Mesmo sem ajuste, apenas para entender como e sob quais condições elas são colocadas.
 
Vladimir Gulakov #:
De qualquer forma, o autor do Expert Advisor não responderá. Se for possível entender o código, alguém pelo menos responda em que princípio as ordens de limite pendentes são colocadas. Parece que é na defasagem do preço, mas em que princípio e onde no código isso pode ser regulado, se possível. Mesmo sem ajuste, apenas para entender como e sob quais condições elas são colocadas.

Olá, Vladimir!

Nesse bloco, você pode ajustar/alterar o código destacado em amarelo conforme sua necessidade:

//---
   MqlRates rates[];
   ArraySetAsSeries(rates,true);
   int copied=CopyRates(m_symbol.Name(),Period(),1,1,rates);
   if(copied!=1)
     {
      PrevBars=0;
      return;
     }
   double H4=((((rates[0].high-rates[0].low)*1.1)/2)+rates[0].close);
   double H3= ((((rates[0].high-rates[0].low)*1.1)/4)+rates[0].close);
   double L3= (rates[0].close-((rates[0].high-rates[0].low)*1.1)/4);
   double L4= (rates[0].close-((rates[0].high-rates[0].low)*1.1)/2);

   double price=0.0;
   double sl=0.0;
   double tp=0.0;

   price=L4;
   sl=(InpStopLoss==0.0)?0.0:ExtStopLoss;
   tp=(InpTakeProfit==0.0)?0.0:ExtTakeProfit;
   m_trade.BuyLimit(InpLots,m_symbol.NormalizePrice(price),m_symbol.Name(),
                    m_symbol.NormalizePrice(price-sl),
                    m_symbol.NormalizePrice(price+tp));

   price=H4;
   sl=(InpStopLoss==0.0)?0.0:ExtStopLoss;
   tp=(InpTakeProfit==0.0)?0.0:ExtTakeProfit;
   m_trade.SellLimit(InpLots,m_symbol.NormalizePrice(price),m_symbol.Name(),
                     m_symbol.NormalizePrice(price+sl),
                     m_symbol.NormalizePrice(price-tp));

Atenciosamente, Vladimir.

 
MrBrooklin #:

Olá, Vladimir!

Nesse bloco, você pode ajustar/alterar o código destacado em amarelo conforme sua necessidade:

Atenciosamente, Vladimir.

Obrigado, vou tentar