Ошибки, баги, вопросы - страница 2136

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

Зачем?

Потому что SILVER,H1: invalid stoploss for OrderModify function

OrderStopLoss() = 15,15
должно быть = 15,155
 
Комбинатор:
Мне для OrderModify а не Print
 
Igor Golieniev:

Потому что SILVER,H1: invalid stoploss for OrderModify function

Там будет "0" в третьем знаке, и это проблему не решит.

Искать нужно в другом месте

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

Вообще бред какой-то: начал модифицировать только что открытый ордер... и как!!! 1912619.624!!!

SILVER,M15: modify #1 sell 0.01 SILVER at 16.965 sl: 1912619.624 tp: 0.000 ok

 
Igor Golieniev:

Вообще бред какой-то: начал модифицировать только что открытый ордер... и как!!! 1912619.624!!!

SILVER,M15: modify #1 sell 0.01 SILVER at 16.965 sl: 1912619.624 tp: 0.000 ok

NormalizeDouble() - это функция которая сделает определенное количество знаков после запятой, она не исправит ошибки в коде, смотрите какие параметры вы передаете и откуда они берутся

 
Pavel Kolchin:

NormalizeDouble() - это функция которая сделает определенное количество знаков после запятой, она не исправит ошибки в коде, смотрите какие параметры вы передаете и откуда они берутся

Простой трал. НО: SILVER,H1: invalid stoploss for OrderModify function. Почему? Как исправить? На всех остальных рынках работает.
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:
Простой трал. НО: SILVER,H1: invalid stoploss for OrderModify function. Почему? Как исправить? На всех остальных рынках работает.

SYMBOL_TRADE_STOPS_LEVEL

 

Ошибка при компиляции

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

Ожидалась замена на:

void OnStart()
{
                int i;
}
Причина обращения: