Errori, bug, domande - pagina 2136

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

Perché?

Perché SILVER,H1: stoploss non valido per la funzione OrderModify

OrderStopLoss() = 15,15 dovrebbe essere = 15,155
 
Комбинатор:
Lo voglio per OrderModify, non per Print
 
Igor Golieniev:

Perché SILVER,H1: stoploss non valido per la funzione OrderModify

Ci sarà uno "0" nella terza cifra, e questo non risolverà il problema.

Dovete cercare altrove

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

È pazzesco: ho iniziato a modificare l'ordine che avevo appena aperto... e come!!! 1912619.624!!!

SILVER,M15: modifica #1 vendere 0.01 SILVER a 16.965 sl: 1912619.624 tp: 0.000 ok

 
Igor Golieniev:

È pazzesco: ho iniziato a modificare l'ordine che avevo appena aperto... e come!!! 1912619.624!!!

SILVER,M15: modifica #1 vendere 0.01 SILVER a 16.965 sl: 1912619.624 tp: 0.000 ok

NormalizeDouble() è una funzione che farà un certo numero di decimali, non correggerà gli errori nel codice, vedi quali parametri passi e da dove vengono

 
Pavel Kolchin:

NormalizeDouble() è una funzione che farà un certo numero di decimali, non correggerà gli errori nel codice, vedi quali parametri passi e da dove vengono

Una semplice pesca a strascico. MA: SILVER,H1: stoploss non valido per la funzione OrderModify. Perché? Come risolvere il problema? Su tutti gli altri mercati funziona.
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 semplice pesca a strascico. MA: SILVER,H1: stoploss non valido per la funzione OrderModify. Perché? Come risolvere il problema? Su tutti gli altri mercati funziona.

LIVELLO DEL SIMBOLO_TRADE_STOPS

 

Errore durante la compilazione

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

Si prevede che sarà sostituito da:

void OnStart()
{
                int i;
}