Einzelnen Beitrag anzeigen
  #10 (permalink)  
Alt 25.09.17
piptrade piptrade ist offline
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 157
piptrade befindet sich auf einem aufstrebenden Ast
Standard

Oh-Ha! Sorry traderdoc, - die Unterscheidung von "Funktion" und "Variablen" ist natürlich "So", wie von Dir beschrieben, richtig. Ebenso die Unterscheidung in der Deklaration. Hier der gesamte CodeSchnipsel, in welchem sicher noch zusätzliche Korrekturen von Nöten sind:
Code:
double LotsOptimized()
  {
   double lot=Lots;
   int    orders=HistoryTotal();
   int    OpenPositions=0;
   
//--- select lot size
   lot=NormalizeDouble(AccountFreeMargin() *MaximumRisk / 100, 2);
   
//--- calculate number of OpenPositions without a break
   if(ProfitFactor>0)
     { 
      for(int i=orders; i>=0; i++)
        {
         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)
           {
         if(OrderProfit()>0 ) break;
         if(OrderProfit()<=0) OpenPositions++; 
           }
        }                             
      if(OpenPositions>0) 
         
//     double MathPow(double base,double exponent);   //  Funktion !, 
//     in welche "base" und "exponent" einfließen (globale Deklaration)
int    base = 2;
int    exponent = OpenPositions;
double pow();
//       Formel für Zahlenreihe der Verdopplung: a(n) = 2 *2(hoch OpenPositions - 1)
         lot = NormalizeDouble(lot *2 *(pow()-1),2);
     }  
//--- return lot size
   if(lot<0.01) lot=0.01;
   return(lot);
  }
Das "Teil" soll eigentlich nur prüfen, wieviele Order noch offen sind und (die Anzahl der offenen Order - Minus "1") in der Formel als Exponenten verwenden.
In der Hoffnung, dass wenigstens einige Dinge richtig sind, erwarte ich mit Spannung den nächsten Kommentar.
LG. piptrade