wie kann ich auf

Einloggen oder registrieren, um einen Kommentar zu schreiben
amando
2908
amando  

0,25 runden?

ich habe das Problem, das manche symbole nur Preise oder Lot in 0,25 er steps akzepieren. 

Hat wer eine Idee wie ich das runden kann?


danke

Carl Schreiber
Moderator
9942
Carl Schreiber  
amando:

0,25 runden?

ich habe das Problem, das manche symbole nur Preise oder Lot in 0,25 er steps akzepieren. 

Hat wer eine Idee wie ich das runden kann?


danke

double NearestLO(double v, double to){ return(to * MathFloor(v / to)); }
double NearestHI(double v, double to){ return(to * MathCeil( v / to)); }
double Nearest(  double v, double to){ return(to * MathRound(v / to)); }

amando
2908
amando  

danke, funktioniert


hier das script zum testen für alle anderen

void OnStart()
  {


   Print(Nearest(SymbolInfoDouble(_Symbol,SYMBOL_ASK),0.25));


  }
//+------------------------------------------------------------------+


//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Nearest(double v, double to)
  {
   return(to * MathRound(v / to));
  }
Christian
3202
Christian  
für alle anderen
Fein so mögen wir das :-)
Alain Verleyen
40443
Alain Verleyen  

Forum über Handel, automatische Handelssysteme und Strategietests

Ergebnisse Runden für Handelsaktion

Alain Verleyen, 2020.05.06 22:12

Bitte beachten Sie, dass die Verwendung von NormalizeDouble () zur Normalisierung eines Preises für eine Handelsanfrage keine universelle Methode ist, sondern für Forex und einige CFDs funktioniert, da 1 Tick 1 Punkt entspricht. Sie können aber auch Symbole verwenden, bei denen dies nicht der Fall ist. Die richtige Methode zum Normalisieren eines Preises besteht darin, sicherzustellen, dass es sich um ein Vielfaches der Tickgröße handelt.

   double normalizedPrice = MathRound (price/ticksize)*ticksize;
Gleiches gilt für die Losgröße.
Einloggen oder registrieren, um einen Kommentar zu schreiben