ordersend()-Codierung helfen...

 

Hallo Leute,

Wirklich seltsam, aber wenn ich den folgenden Code ausführe, tut sich nichts. GetLastError() gibt 130 zurück.

   Print("running");
   OrderSend(Symbol(),OP_BUY,1,Ask,3,Ask-25*Point,Ask+25*Point,"My order #2",16384,0,Green)


Aber wenn Sie den gleichen Code und entfernen Sie die Stop & Ziel-Info spuckt es Aufträge ganz gut.

   Print("running");
   OrderSend(Symbol(),OP_BUY,1,Ask,3,0,0,"My order #2",16384,0,Green);


Ich verwende eine leere Expertenvorlage und habe nur diese beiden Codezeilen in der Startfunktion.

Nicht sicher, was verursacht es...


Danke!

 
mugged:

Hallo Leute,

Wirklich seltsam, aber wenn ich den folgenden Code ausführe, tut sich nichts. GetLastError() gibt 130 zurück.


Aber wenn Sie den gleichen Code und entfernen Sie die Stop & Ziel-Info spuckt es Aufträge ganz gut.


Ich verwende eine leere Expertenvorlage und habe nur diese beiden Codezeilen in der Startfunktion.

Bin mir nicht sicher, woran es liegt...


Vielen Dank!

Welche Art von Makler?

Bruchteil Punkt Symbol?

 
diostar:

Welche Art von Broker?

Symbol für Bruchteile von Punkten?


Ich verwende ein IBFX-Mini-Konto.


Ich lasse es auf Eur/Usd laufen.

 
Auch wenn ich den Code im Strategietester ausführe, funktioniert er einwandfrei... wenn ich ihn im echten Leben ausführe, bekomme ich Probleme.
 

Sie haben Ihre SL- und TP-Berechnungen falsch

Wenn es ein Kauf ist:

SL = Bid - StopLoss* Punkt

TP = Bid + TakeProfit* Punkt

Wenn es ein Verkauf ist:

SL = Ask + StopLoss* Punkt;

TP = Ask - TakeProfit* Punkt;

Abgesehen davon müssen Sie bei einigen Brokern die OrderSend() ohne SL- und TP-Levels ausführen und dann OrderModify() ausführen und die TP und SL eingeben

 
mugged:

Ich verwende ein IBFX-Mini-Konto.


Ich lasse es auf Eur/Usd laufen

Ok.... Entschuldigung, dass ich nicht genau bin.

Versuchen Sie dies:

(1)bei ordersend: sl=tp=0. dann ordermodify the sl=tp.

(2) eur/usd: welche Ziffern? 4 oder 5?

 
SDC:

Sie haben Ihre SL- und TP-Berechnungen falsch

Wenn es ein Kauf ist:

SL = Bid - StopLoss* Punkt

TP = Bid + TakeProfit* Punkt

Wenn es ein Verkauf ist:

SL = Ask + StopLoss* Punkt;

TP = Ask - TakeProfit* Punkt;


Hey Kumpel, ich habe versucht, das "Ask", mit dem ich meinen SL und TP definiert habe, durch "Bid" zu ersetzen, wie Sie vorgeschlagen haben, aber immer noch kein Glück.
 

OK, das liegt wahrscheinlich daran, dass Sie erst OrderSend() und dann OrderModify() ausführen müssen.

 
diostar:

Ok.... Entschuldigung, dass ich nicht genau bin.

Versuchen Sie dies:

(1) bei orderend: sl=tp=0. dann ordermodify the sl=tp.

(2) eur/usd: welche Ziffern? 4 oder 5?



1) Ja, diese Methode funktioniert! Gibt es eine Möglichkeit, dies zu umgehen? Ich hasse den Gedanken an den schlimmsten Fall, in dem die ursprüngliche Bestellung eingeht, aber die Änderung nicht erfolgt (Verbindung bricht ab, Fehler tritt auf usw. usw.)


2) 5-stelliger Makler

 
bei einem 5-stelligen Broker müssen Sie Ihre SL- und TP-Beträge mit zehn multiplizieren, da Sie sonst bei 2,5 Pips aussteigen oder TP setzen
 
SDC:
für eine 5-stellige Broker müssen Sie möglicherweise Ihre SL und TP Beträge mit zehn multiplizieren sonst Sie TP oder stoppen Sie bei 2,5 Pips

Scheint mit der Methode "Senden und dann ändern" gut zu funktionieren. Irgendwelche Ideen, wie ich sowohl die Bestellung und stoppen in auf dem gleichen Schuss bekommen kann? Ich würde es bevorzugen, wenn sie in einer Produktionsumgebung zusammen eingehen.