Fehler, Irrtümer, Fragen - Seite 2136

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

Und warum?

Weil SILVER,H1: ungültiger Stoploss für OrderModify-Funktion

OrderStopLoss() = 15,15 sollte sein = 15,155
 
Комбинатор:
Ich möchte es für OrderModify, nicht für Print
 
Igor Golieniev:

Weil SILVER,H1: ungültiger Stoploss für OrderModify-Funktion

An der dritten Stelle wird eine "0" stehen, und das löst das Problem nicht.

Sie müssen woanders suchen

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

Das ist verrückt: Ich habe angefangen, den Auftrag zu ändern, den ich gerade eröffnet hatte... und wie!!! 1912619.624!!!

SILBER,M15: ändern #1 verkaufen 0.01 SILBER bei 16.965 sl: 1912619.624 tp: 0.000 ok

 
Igor Golieniev:

Das ist verrückt: Ich habe angefangen, den Auftrag zu ändern, den ich gerade eröffnet hatte... und wie!!! 1912619.624!!!

SILBER,M15: ändern #1 verkaufen 0.01 SILBER bei 16.965 sl: 1912619.624 tp: 0.000 ok

NormalizeDouble() ist eine Funktion, die eine bestimmte Anzahl von Nachkommastellen herstellt. Sie korrigiert keine Fehler im Code, sondern zeigt, welche Parameter Sie übergeben und woher sie kommen.

 
Pavel Kolchin:

NormalizeDouble() ist eine Funktion, die eine bestimmte Anzahl von Nachkommastellen herstellt. Sie korrigiert keine Fehler im Code, sondern zeigt, welche Parameter Sie übergeben und woher sie kommen.

Einfaches Schleppnetz. BUT: SILVER,H1: Ungültiger Stoploss für OrderModify-Funktion. Warum? Wie kann man das beheben? Auf allen anderen Märkten funktioniert es.
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:
Einfaches Schleppnetz. BUT: SILVER,H1: Ungültiger Stoploss für OrderModify-Funktion. Und warum? Wie kann man das beheben? Auf allen anderen Märkten funktioniert es.

SYMBOL_TRADE_STOPS_LEVEL

 

Fehler bei der Kompilierung

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

Wird voraussichtlich ersetzt durch:

void OnStart()
{
                int i;
}