Errores, fallos, preguntas - página 2136

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

¿Por qué?

Porque SILVER,H1: stoploss inválido para la función OrderModify

OrderStopLoss() = 15,15 debería ser = 15,155
 
Комбинатор:
Lo quiero para OrderModify, no para Print
 
Igor Golieniev:

Porque SILVER,H1: stoploss inválido para la función OrderModify

Habrá un "0" en el tercer dígito, y eso no resolverá el problema.

Hay que buscar en otra parte

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

Esto es una locura: empecé a modificar la orden que acababa de abrir... ¡¡¡y cómo!!! ¡¡¡1912619.624!!!

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

 
Igor Golieniev:

Esto es una locura: empecé a modificar la orden que acababa de abrir... ¡¡¡y cómo!!! ¡¡¡1912619.624!!!

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

NormalizeDouble() es una función que hará un cierto número de decimales, no corregirá errores en el código, mira qué parámetros pasas y de dónde vienen

 
Pavel Kolchin:

NormalizeDouble() es una función que hará un cierto número de decimales, no corregirá errores en el código, ver qué parámetros se pasan y de dónde vienen

Una simple red de arrastre. PERO: PLATA,H1: stoploss inválido para la función OrderModify. ¿Por qué? ¿Cómo solucionarlo? En todos los demás 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:
Una simple red de arrastre. PERO: PLATA,H1: stoploss inválido para la función OrderModify. ¿Por qué? ¿Cómo solucionarlo? En todos los demás mercados funciona.

NIVEL_DE_COMERCIO_DE_SIMBOLOS

 

Error durante la compilación

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

Se espera que sea sustituido por:

void OnStart()
{
                int i;
}