Einzelnen Beitrag anzeigen
  #6 (permalink)  
Alt 11.03.18
next user next user ist offline
Premium Mitglied
 
Registriert seit: May 2015
Beiträge: 367
next user befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Ceo Beitrag anzeigen
Ich verstehe das mit LongTicket noch nicht so ganz also LongTicket =0; ist ja falsch.
Nicht ganz. Die Zeile
Code:
int LongTicket = 0;
in deinem Code ist ok. Hier wird LongTicket erstellt und mit "0" initialisiert. Das Problem ist, das du offensichtlich nicht wirklich weißt,
was du mit "LongTicket" machen musst (obwohl DU sie ja erstellt hast.). Der Grund, warum dein Code fehlerhaft ist, ist ja der, dass
du "LongTicket" eben KEINEN WERT gibst.
Einen echten Wert (eben eine ECHTE Ticketnummer) erhält deine Variable "LongTicket" in dieser Zeile:
Code:
LongTicket = OrderSend(Symbol(),OP_BUY,1.0,Ask,0,StopLossLevel,0.0,"Buy Order");
Du jedoch benutzt diese Variable schon VOR dieser Zeile, nähmlich bei den beiden:
Code:
bool Ord = OrderSelect(LongTicket,SELECT_BY_TICKET);
...
if(OrderCloseTime() != 0 || LongTicket == 0)
obwohl sie zu diesem Zeitpunkt eben NOCH KEINE TICKETNUMMER BEINHALTET!!!

Zitat:
Zitat von Ceo Beitrag anzeigen
Aber wie weise ich ihm denn einen Wert zu? Ich möchte ja genau dieses Ticket aufrufen.
Das tust du doch bereits in dieser Zeile
Code:
LongTicket = OrderSend(Symbol(),OP_BUY,1.0,Ask,0,StopLossLevel,0.0,"Buy Order");
aber erst NACH dieser Zeile hast du besagten Ticket!
Deine Frage lässt leider wirklich darauf schließen, das der Code 1-1 von extern übernommen wurde, und du wirklich keine
Ahnung davon hast, was da eingentlich passiert!

Zitat:
Zitat von Ceo Beitrag anzeigen
Fangen wir mal ganz von vorne an mir geht es ja in erster Linie darum das nur 1 Order eröffnet wird.
Ich denke, in erster Linie geht es dir darum, deinen Stop mit dem Indikator zu verbinden, aber naja...
Es nur auf eine Order zu beschränken ist ja nicht das Problem, welches wir hier die ganze Zeit durchgehen!

Zitat:
Zitat von Ceo Beitrag anzeigen
Ich hab jetzt gesehen das kann ich auch mit
Code:
If(OrdersTotal()==0)
machen.
Unter anderem. Aber bitte richtig und passend im Code unterbringen. Aber nochmal, ums Begrenzen ging es hier bisher doch überhaupt nicht.

Zitat:
Zitat von Ceo Beitrag anzeigen
So dann schaut er ob die Bedienung stimmt und ist so lange in einer schleife bis LongTicket größer als 0 ist also 1.
Ja, bis auf die Tatsache, das "LongTicket" NICHT 1 ist, sondern eine Ticketnummer beinhaltet (3783043 als Beispiel...).