Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 13.08.17
icepick1661 icepick1661 ist offline
Neues Mitglied
 
Registriert seit: Jul 2017
Beiträge: 20
icepick1661 befindet sich auf einem aufstrebenden Ast
Standard Fehler in While-Schleife?

Hallo,

zum Test habe ich folgende While-Schleife separat vom Hauptcode getestet (hier mit einfacheren, lesbareren Variablen...).

Bei einem Startkurs (Ask) von DAX 12.041,8 wird der StopBuy bei 12.072,5 gesetzt. Er sollte aber 1,5% über 11.980,5, also bei 12.160,2 gesetzt werden.

Das Ziel: Hätte ich bei einer Basis von 11.980,5 einen Ask von 12.300, soll 11.980,5 + 1,5% = 12160,2, dann (weil <Ask) bei 12160,2 + 1,5% = 12.342,6 der StopBuy gesetzt werden (weil ja nun >Ask...

Noch ein Hinweis: Prüfuwert "Ask + 30" tut nichts zur Sache, den hab ich nur gesetzt, um eine Spanne zu bekommen...

Danke für eure Hilfe!

Hier der Code:

Code:
   bool Ereignis=true;
   int ticketL;
   
   double Price=11980.5;

      if (Ereignis == true)
         {
         if (OrderType() == OP_BUYSTOP)
            {
            bool LongResult=true;
            }
         }
   
      if (LongResult)

         double StopBuyOpenValue = Price;
         double StopBuy2Low;
         double LongValuePerc;
         
            while (Ask +30 > StopBuyOpenValue)
            if (LongResult)
               {
               LongValuePerc = NormalizeDouble(StopBuyOpenValue * NextBuyPercent / 100,Digits); //NextBuyPercent = 1.5
               
               StopBuy2Low = StopBuyOpenValue + LongValuePerc;
               StopBuyOpenValue++;
               }

            bool LStopBuyResult_Restore=false;
            LStopBuyResult_Restore = ticketL= OrderSend(Symbol(),OP_BUYSTOP,LotsTraded,StopBuyOpenValue,Slippage,0,0,"BUY(#" + MagicNumberLong + ")",MagicNumberLong,0,Green);
            LongResult=false;