Fehler-Codes - Seite 4

 
 

MT4 - Fehler #130 bei Ordersend()

Hallo. Ich versuche, eine Order mit OrderSend() in MT4 zu generieren, erhalte aber immer wieder Error #130. Ich verstehe, dass der Fehler #130 mit den Stop-Loss- oder Take-Profit-Levels zusammenhängt, die zu nahe am aktuellen Marktpreis gesetzt sind. Ich habe sie ohne Erfolg variiert. Ich habe sowohl relative als auch tatsächliche Werte verwendet.

1. Verwendung relativer Take-Profit- und Stop-Loss-Werte für einen Kauf:

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-50*Point,Ask+50*Point, "Long Breakout",16384,0,Green);

2. tatsächliche Werte für Stoploss und TakeProfit für einen Kauf verwenden:

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss,TakeProfit, "Long Breakout ",16384,0,Green);

wo:

double StopLoss = NormalizeDouble(StopLoss, Digits);

double TakeProfit = NormalizeDouble(TakeProfit, Ziffern);

und diese Werte als externe Werte gesetzt werden (z.B. extern double StopLoss=1.5000, extern double=TakeProfit=1.6000)

Mein Broker ist FXCM. Ich habe versucht, die Werte für StopLoss und TakeProfit mit 10 zu multiplizieren. Ich erhalte das gleiche Ergebnis für alle Währungspaare.

In jedem Fall erhalte ich Error #130. Irgendwelche Ideen?

Vielen Dank

 

Beim Festlegen des Take-Profits für eine Kaufposition. Der TP ist

Bid+(50*Point)

Im Gegensatz zu Ask+...

Chris

 

Tut mir leid, ja, mein Fehler beim Tippen. Ich fürchte, das Problem besteht nach wie vor.

 

Versuchen Sie, kurz vor der Funktion ordersend einen Kommentar oder einen Ausdruck zu platzieren, um die Stoploss- und Takeprofit-Ebenen auszudrucken. Vergewissern Sie sich außerdem, dass der Stoploss/Tp mehr als der Mindestabstand beträgt.

Platzieren Sie dies vor dem Senden der Order:

if(StopLoss!=0 && StopLoss<(MarketInfo(Symbol(),MODE_STOPLEVEL)))

{

StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL);

}

if(TakeProfit!=0 && TakeProfit<(MarketInfo(Symbol(),MODE_STOPLEVEL)))

{

TakeProfit=MarketInfo(Symbol(),MODE_STOPLEVEL);

}

Chris

 
kvhutch:
Hallo. Ich versuche, eine Order mit OrderSend() in MT4 zu generieren, erhalte aber immer wieder den Fehler #130. Soweit ich weiß, bezieht sich der Fehler #130 darauf, dass die Stop-Loss- oder Take-Profit-Levels zu nahe am aktuellen Marktpreis gesetzt sind. Ich habe sie ohne Erfolg variiert. Ich habe sowohl relative als auch tatsächliche Werte verwendet.

1. Verwendung relativer Take-Profit- und Stop-Loss-Werte für einen Kauf:

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-50*Point,Ask+50*Point, "Long Breakout",16384,0,Green);

2. tatsächliche Werte für Stoploss und TakeProfit für einen Kauf verwenden:

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss,TakeProfit, "Long Breakout ",16384,0,Green);

wo:

double StopLoss = NormalizeDouble(StopLoss, Digits);

double TakeProfit = NormalizeDouble(TakeProfit, Ziffern);

und diese Werte als externe Werte gesetzt werden (z.B. extern double StopLoss=1.5000, extern double=TakeProfit=1.6000)

Mein Broker ist FXCM. Ich habe versucht, die Werte für StopLoss und TakeProfit mit 10 zu multiplizieren. Ich erhalte das gleiche Ergebnis für alle Währungspaare.

In jedem Fall erhalte ich Error #130. Irgendwelche Ideen?

Prost

FXCM mit 5 Ziffern.. oder Sie benutzen FXCM aus welchem Land?

 

Vielen Dank für Ihre Antworten. Ja, ich habe Druckanweisungen verwendet, um die Werte für Stop Loss und Take Profit zu überprüfen. Auf dem Ausdruck schienen sie in Ordnung zu sein.

Ich verwende FXCM in Großbritannien. Nicht-Yen-Währungen haben 5 Ziffern nach dem Komma (z.B. GBPUSD: 1.55125). Yen-Kreuzungen haben drei Ziffern (z. B. GBPJPY: 132,393). Ich habe mir gedacht, dass in diesem Fall die Werte wahrscheinlich mit 10 multipliziert werden müssen.

Vielen Dank

 
kvhutch:
Ich dachte mir, dass in diesem Fall die Werte wahrscheinlich mit 10 multipliziert werden müssen.

Haben Sie etwas Ähnliches in der Init-Funktion?

if (Digits == 3 || Digits == 5)

{

Factor = 10;

StopLoss *= 10;

TakeProfit *= 10;

MaxSpread *= 10;

Slippage *=10;

}
 

Nein, in der OrderSend()-Anweisung multipliziere ich einfach die Werte für Take Profit und StopLoss mit 10. Können Sie die Verwendung dieser Werte etwas genauer erläutern? Vielen Dank

 

Sie sind lediglich die externen Variablen, die mit zehn multipliziert werden. Sie passen sie an, um Ihre Variablen einzubeziehen. Aber Sie passen nur Variablen an, die sich bei Brokern mit fraktionierten Pips unterscheiden, wie Stoploss.

Das heißt, wenn Stoploss als 20 Pips in der Eingabeliste eingegeben wird, wird es automatisch auf 200 angepasst, wenn der Broker fraktional ist.