Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1778

 
Janis Ozols #:

Ou existe alguma maneira mais fácil de obter este valor?

   zz=iCustom(NULL,0,"ZigZag",InpDepth,InpDeviation,InpBackstep,0,InpBackstep);
   if(zz!=EMPTY_VALUE)
     {prev_zz=curr_zz; curr_zz=zz;}
 
Janis Ozols #:

Questão de atenção: é uma abordagem válida para percorrer os valores do tampão indicador, começando com um deslocamento zero no fundo, chamando a função iCustom a cada iteração, até que o valor resultante seja diferente de EMPTY_VALUE?

sim

Janis Ozols #:

Ou existe alguma maneira mais simples de obter este valor?

não

 

Como escrever o código de modo que ele realizasse o seguinte.


verificação de ordem de venda em aberto dentro da faixa +/- (acima/abaixo) de 10 pips do preço, se não houver ordem de venda em aberto

Se eu não tenho certeza se tenho uma ordem de Venda em aberto, então eu deveria abrir uma ordem de Venda. O livro é similar ao C++.

Sinto muito se estas perguntas são muito sensatas.


 
valentin104 #:

Como escrever o código de modo que ele realizasse o seguinte.


verificação de ordem de venda em aberto dentro da faixa +/- (acima/abaixo) de 10 pips do preço, se não houver ordem de venda em aberto

Se eu não tenho certeza se tenho uma ordem de Venda em aberto, então eu deveria abrir uma ordem de Venda. O livro é similar ao C++.

Sinto muito se estas perguntas são muito inteligentes.

Faça as ofertas abertas e compare o preço de abertura - se está dentro da faixa Ask+10 a Ask-10, se está, significa que você tem uma oferta aberta.

"Como último recurso, abra um Codebase e veja como fazer isso)

 

valentin104 #:

Verificação de uma ordem de venda em aberto dentro de +/- (acima/abaixo) do preço 10 pips, se não, abrir uma ordem de venda

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   if(FindOrders(OP_BUY)<1) покупаем;
   if(FindOrders(OP_SELL)<1) продаем;
  }
//+----------------------------------------------------------------------------+
int FindOrders(int ot=-1)
  {
   int order=0;
   for(int i = OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(ot==OP_BUY&&OrderType()==ot)
           {
            if(OrderOpenPrice()>Bid-10*Point&&OrderOpenPrice()<Bid+10*Point)
            order=1;
           }
         if(ot==OP_SELL&&OrderType()==ot)
           {
            if(OrderOpenPrice()>Ask-10*Point&&OrderOpenPrice()<Ask+10*Point)
            order=1;
           }
        }
     }
   return(order);
  }
//+----------------------------------------------------------------------------+
 
MakarFX #:
obrigado
 
valentin104 #:
obrigado


 
MakarFX #:


Estou vendo. Eu sou apenas um Belorusso assustado.
 
valentin104 #:
Estou vendo. Eu sou apenas um Belorusso assustado.
Desculpe, eu não estava pensando)
 

Mihail Matkovskij #:

Obrigado. Não teve qualquer efeito por algum motivo.

Razão: