Erros, bugs, perguntas - página 2136

 
Igor Golieniev:
   PrintFormat("%.3f %.3f", 123.2, 0.1);
 
Vitaly Muzichenko:

Porquê?

Porque SILVER,H1: stoploss inválido para a função OrderModify

OrderStopLoss() = 15,15 deve ser = 15,155
 
Комбинатор:
Quero-o para OrderModify, não para Print
 
Igor Golieniev:

Porque SILVER,H1: stoploss inválido para a função OrderModify

Haverá um "0" no terceiro dígito, e isso não vai resolver o problema.

Tem de procurar noutro lugar

 
Igor Golieniev:
NormalizeDouble(value,3);
 
Pavel Kolchin:

Isto é uma loucura: comecei a modificar uma ordem que tinha acabado de abrir... e como!!!! 1912619.624!!!

SILVER,M15: modificar #1 vender 0.01 SILVER a 16.965 sl: 1912619.624 tp: 0.000 ok

 
Igor Golieniev:

Isto é uma loucura: comecei a modificar a ordem que tinha acabado de abrir... e como!!!! 1912619.624!!!

SILVER,M15: modificar #1 vender 0.01 SILVER a 16.965 sl: 1912619.624 tp: 0.000 ok

NormalizeDouble() é uma função que fará um certo número de casas decimais, não corrigirá erros no código, verá que parâmetros passa e de onde vêm

 
Pavel Kolchin:

NormalizeDouble() é uma função que fará um certo número de casas decimais, não corrigirá erros no código, verá que parâmetros passa e de onde vêm

Rede de arrasto simples. MAS: SILVER,H1: stoploss inválido para a função OrderModify. Porquê? Como repará-lo? Em todos os outros mercados funciona.
void Trailing()
  {
   if(Digits==3 || Digits==5)
     {
      TrailingStep *= 10;
      TrailingOpen *= 10;
      TrailingStop *= 10;
     }
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY)
              {
               if(Bid>OrderOpenPrice()+TrailingOpen*Point)
                 {
                  if(OrderStopLoss()<Bid-(TrailingStop+TrailingStep)*Point)
                    {
                     if(!OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-Point*TrailingStop,Digits),0,0))
                        Print("Oshibka =", DoubleToString(OrderStopLoss(), Digits()));
                    }
                 }
              }
            if(OrderType()==OP_SELL)
              {
               if(Ask<OrderOpenPrice()-TrailingOpen*Point)
                 {
                  if(OrderStopLoss()>Ask+(TrailingStop+TrailingStep)*Point)
                    {
                     if(!OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+TrailingStop*Point,Digits),0,0))
                        Print("Oshibka", DoubleToString(OrderStopLoss(), Digits()));
                    }
                 }
              }
           }
        }
     }
  }
 
Igor Golieniev:
Rede de arrasto simples. MAS: SILVER,H1: stoploss inválido para a função OrderModify. Porquê? Como repará-lo? Em todos os outros mercados funciona.

NÍVEL_DE_COMÉRCIO_SÍMBOLO

 

Erro durante a compilação

#define  MACRO1( x, y )  x
#define  MACRO2                  MACRO1( , unsigned )
void OnStart()
{
         MACRO2 int i; //Error: 'MACRO1' - undeclared identifier
}

Espera-se que seja substituído por:

void OnStart()
{
                int i;
}