Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 509

 
Aleksey Stukalov:
O que há de errado com uma paragem de reboque? Já está integrado no terminal.
Experimente-o e compreenderá
 

As pessoas amáveis ajudam na compilação de EA muito por favor, não sou bom em programação.

Este é o erro que recebo ao compilar 'apagar' - nome esperado

O erro no código é realçado a vermelho

anular apagar(tipo int){

if(OrdersTotal()>0){

for(i=OrdensTotal()-1;i>=0;i--){

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(type!=6 && type!=7 && type!=8)if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType()==type)OrderDelete(OrderTicket();

if(type===6)if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP || OrderType()==OP_BUYLIMIT || OrderType()==OP_SELLLLIMIT)OrderDelete(OrderTicket());

if(type===7)if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT)OrderDelete(OrderTicket());

if(type===8)if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLLIMIT)OrderDelete(OrderTicket());

}

}

}


Aqui está outro erro "(' - apontador de objectos esperado

if(oppositedelete){delete(OP_SELLSTOP);delete(OP_SELLLIMIT);}

E aqui '}'. - nem todos os caminhos de controlo devolvem um valor

int countglobal(){

int cnt=0;

if(OrdersTotal()>0){

for(i=OrdensTotal()-1;i>=0;i--){

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

cnt+++;

}

retorno(cnt);

}

}

 
Anton Razmyslov:

As pessoas amáveis ajudam na compilação de EA muito por favor, não sou bom em programação.

Este é o erro que recebo ao compilar 'apagar' - nome esperado

O erro no código é realçado a vermelho

apagar(tipo int){.

..............

Diz que não pode ser chamado dessa forma. Deve chamar a função por outro nome.

e este "nem todos os caminhos de controlo devolvem um valor" sobre a função sem caminho de retorno e sem retorno de valor, escrever return(0); antes do último "}" da função

 
Спасибо большое!
 
Tema97:
Boa tarde a todos) Partilhar o código para um stop loss móvel - para conduzir o preço )))) Obrigado de antemão
//---------------------------------
void Trailing3(int Mag,string Symb,int Dist,int Shag,bool Isp_shag,bool Isp_bezubitok)
  {
   double dist=0,shag;
   if(Digits==3 || Digits==5)
      dist=Dist*10*Point; shag=Shag*10*Point;
   if(Digits==2 || Digits==4)
      dist=Dist*Point; shag=Shag*Point;

   for(int pos=OrdersTotal()-1; pos>=0; pos--)
     {
      int res=OrderSelect(pos,SELECT_BY_POS,MODE_TRADES);
      if(OrderMagicNumber()==Mag && OrderSymbol()==Symb)
        {
         if(OrderType()==OP_BUY)
           {
            if(!Isp_shag && !Isp_bezubitok && NormalizeDouble(Bid-OrderStopLoss(),Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Bid-dist,OrderTakeProfit(),0,clrTeal);
            if(Isp_shag && !Isp_bezubitok && NormalizeDouble(Bid-OrderOpenPrice(),Digits)>=NormalizeDouble(shag,Digits) && 
               NormalizeDouble(Bid-OrderStopLoss(),Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Bid-dist,OrderTakeProfit(),0,clrTeal);
            if(!Isp_shag && Isp_bezubitok && NormalizeDouble(OrderStopLoss(),Digits)<NormalizeDouble(OrderOpenPrice(),Digits) && 
               NormalizeDouble(Bid-OrderStopLoss(),Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Bid-dist,OrderTakeProfit(),0,clrTeal);
            if(Isp_shag && Isp_bezubitok && NormalizeDouble(Bid-OrderOpenPrice(),Digits)>=NormalizeDouble(shag,Digits) && 
               NormalizeDouble(OrderStopLoss(),Digits)<NormalizeDouble(OrderOpenPrice(),Digits) && NormalizeDouble(Bid-OrderStopLoss(),Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Bid-dist,OrderTakeProfit(),0,clrTeal);
           }
         else  if(OrderType()==OP_SELL)
           {
            if(!Isp_shag && !Isp_bezubitok && NormalizeDouble(OrderStopLoss()-Ask,Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Ask+dist,OrderTakeProfit(),0,clrCrimson);
            if(Isp_shag && !Isp_bezubitok && NormalizeDouble(OrderOpenPrice()-Ask,Digits)>=NormalizeDouble(shag,Digits) && 
               NormalizeDouble(OrderStopLoss()-Ask,Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Ask+dist,OrderTakeProfit(),0,clrCrimson);
            if(!Isp_shag && Isp_bezubitok && NormalizeDouble(OrderStopLoss(),Digits)>NormalizeDouble(OrderOpenPrice(),Digits) && 
               NormalizeDouble(OrderStopLoss()-Ask,Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Ask+dist,OrderTakeProfit(),0,clrCrimson);
            if(Isp_shag && Isp_bezubitok && NormalizeDouble(OrderOpenPrice()-Ask,Digits)>=NormalizeDouble(shag,Digits) && 
               NormalizeDouble(OrderStopLoss(),Digits)>NormalizeDouble(OrderOpenPrice(),Digits) && NormalizeDouble(OrderStopLoss()-Ask,Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Ask+dist,OrderTakeProfit(),0,clrCrimson);
           }
        }
     }

  }
//-----------------------------------------------
 
Olá a todos! Descarregado MT4, o testador de estratégias só funciona desde Dezembro de 2015, quem é que sabe como chular o terminal?
 
olleg.1:
Olá a todos! Descarregado MT4, o testador de estratégias só funciona desde Dezembro de 2015, quem sabe como remendar o terminal?
Descarregar as citações para o instrumento necessário. Serviço - Arquivo de Citações.
 
Obrigado!
 

Olá a todos!

Poderia dizer-me como implementar na EA a possibilidade de verificar se a variável de entrada está ou não ao alcance, de uma forma mais simples e correcta. Por exemplo:

a) Mais de 10, mas menos de 20

b) Mais de 20 ou menos de 10

c) etc.

ZS: até ao momento temos 3 valores para verificar cada variável: caso para interruptor (maior/menos do que/mais do que, mas menor/menos do que ou maior do que) e 2 valores. Acho que se poderia fazer um loop nesta construção e passar por todas as variáveis. Será esta a direcção certa?

 
Антон:

Olá a todos!

Poderia dizer-me como implementar na EA a possibilidade de verificar se a variável de entrada está ou não no intervalo. Por exemplo:

a) Mais de 10, mas menos de 20

b) Mais de 20 ou menos de 10

c) etc.

ZS: até ao momento temos 3 valores para verificar cada variável: caso para interruptor (maior/menos do que/mais do que, mas menor/menos do que ou maior do que) e 2 valores. Acho que se poderia fazer um loop nesta construção e passar por todas as variáveis. Será esta a direcção certa?

Quais as variáveis a laçar? Dê-me o código ou escreva-o mais claramente