Einzelnen Beitrag anzeigen
  #70 (permalink)  
Alt 06.02.18
Lampe Lampe ist offline
Auf eigenen Wunsch deaktiviert
 
Registriert seit: Jan 2018
Beiträge: 40
Lampe befindet sich auf einem aufstrebenden Ast
Standard

Hi Next! Mir raucht schon wieder der Kopf ey

Das mit dem LotSize wird ich morgen umsetzen. Ich habe halt ausserhalb von OnTick, also vermutlich Global, die LotSize Berechnung die ungefähr so aussieht:

Code:
double LotSize()
         {
         if(Kontostand==5000)
           {
           LotSize=6;
           }
         ....
         return(LotSize)
         }

Ich denke der allerwichtigste Punkt ist die Geschichte mit dem OrderSend, und verstanden habe ich das noch nicht..

So wie ich das jetzt verstehe sieht dein Code die While Schleife vor zum OrderSenden und mit Else fragst du dann, eventuelle Fehler ab.
Soweit so gut. Selbst wenn ich jetzt mal ausser acht lasse das ich keine Ahnung habe wie ich konkret die Fehler auslesen kann..., stell ich mir noch eine andere Frage.

Wie schaffe ich es denn dann, das er die Fehlerhafte Order noch sendet?

Nehmen wir an er schickt nur die Longorder raus und die Shortorder geht, aus welchen Gründen auch immer, nicht raus. Dann habe ich die LongOrder im Markt liegen und möchte nurnoch die ShortOrder hinterher schicken.

Wie geh ich denn das nun an?

Alternativ, habe ich denn noch andere Möglichkeiten ausser mit einer Schleife zu arbeiten?

*ich wechsel mal kurz in den Editor und schreib dann hier weiter*

So. Ich habe jetzt mal folgendes geschrieben.

Code:
if(a==0)
         if(t==0)
            {
            LotSize();
            LongOrder1=OrderSend(NULL,OP_BUYSTOP,LotSize,KaufPreis,NULL,VerkaufPreis,0,"DAX_H1_StrategieLong",MagicNummer,0,clrGreenYellow);
            ShortOrder1=OrderSend(NULL,OP_SELLSTOP,LotSize,VerkaufPreis,NULL,KaufPreis,0,"DAX_H1_StrategieShort",MagicNummer,0,clrRed);
            if(LongOrder1<=0)
               {
               LongOrder1=OrderSend(NULL,OP_BUYSTOP,LotSize,KaufPreis,NULL,VerkaufPreis,0,"DAX_H1_StrategieLong",MagicNummer,0,clrGreenYellow);
               }
            if(ShortOrder1<=0)
               {
               ShortOrder1=OrderSend(NULL,OP_SELLSTOP,LotSize,VerkaufPreis,NULL,KaufPreis,0,"DAX_H1_StrategieShort",MagicNummer,0,clrRed);
               }   
            if((LongOrder1>0)&&(ShortOrder1>0))
               {
               TradeActionVierZehnUhr++;
               }
            } 
         }

Mein Gedanke, wenn eine der beiden Orders nach dem ersten Senden noch keine Ticketnummer hat, geht er in die if Bedingung und sendet die fehlende Order nach. Wenn am Ende beide ne Ordernummer haben also größer als 0 sind => TradeAction++.

Ist das eine Herangehensweise die irgendwo Sinn macht oder ist das Blödsinn?

Die Entscheidene Frage ist ja auch, muss ich zwangsläufig FehlerCodes abfragen?


Nochmals vielen Dank das du so Geduldig bist!!

MfG
Lampe

Edit: wenn irgendwo ne Klammer fehlt oder Zuviel ist liegt es am Kopieren. Zumindest lässt sich nach wie vor alles Compilieren.