Werkzeuge "Alle schließen"/"Öffnen - Seite 2

 
glader:
Ich handle LIVE. Handeln Sie LIVE? Könnte es ein Problem sein? Danke für die Hilfe im Voraus...

Es war das Alpari-Demokonto.

Sie meinen, Sie haben versucht, es mit einem echten Konto zu benutzen?

Das sollte auch funktionieren.

 
newdigital:
Es war das Alpari Demokonto.

Sie meinen, dass Sie versucht haben, es mit einem echten Konto zu verwenden?

Sollte also auch funktionieren.

Ja, ich habe versucht, es mit einem echten Konto auf Live zu verwenden, aber es gab eine Fehlermeldung...

Ziemlich verwirrend, aber trotzdem danke für Ihre Hilfe...

 
glader:
Ich habe es versucht, aber ERROR : 4109

Werkzeuge->Optionen->Expertenberater-> V Expertenberater aktivieren(...und Skripte)

 
ma6:
Werkzeuge->Optionen->Expertenberater-> V Expertenberater aktivieren(...und Skripte)

Vielen Dank... es funktioniert jetzt!!!

 

CloseOnTime EA von Kimiv.

Dateien:
 
ma6:
Werkzeuge->Optionen->Expertenberater-> V Expertenberater aktivieren(...und Skripte)

Ich erhalte immer noch denselben Fehler. Was meinen Sie mit"V"?

Danke

 

Ich habe das gleiche Problem.

Auftrag ...... konnte nicht geschlossen werden .Fehler:4109

 

Alle geöffneten Aufträge schließen

Ich habe eine Frage dazu, wie ich alle geöffneten Aufträge schließen kann. Dazu gehören auch Geschäfte, die manuell geöffnet wurden.

Hier ist der Code:

if(BalanceEquityProtectionLevel > 0 && AccountEquity() <= AccountBalance ()* BalanceEquityProtectionLevel)

{

AllowTrading = false;

Print("Min. Equity Level Reached - Trading Halted For ",Symbol());

// Alert("Min. Equity Level Reached - Trading Halted For",Symbol()); // Alert("Min. Equity Level Reached - Trading Halted For") Equity Level Reached - Trading Halted For ",Symbol());

for(cnt=OrdersTotal();cnt>=0;cnt--)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

mode=Auftragsart();

if (mode==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Blue); }

if (mode==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Rot); }

// }

}

}

Das Problem ist, dass, wenn ich ein paar Paare geöffnet habe, es nicht immer wahr ist, dass alle Trades auch geschlossen werden. Außerdem ist es vorgekommen, dass EA trotz des Parameters allowtrading == false weiterhin einen Handel eröffnet hat.

Bei der Fehlersuche habe ich festgestellt, dass dieser Codeblock aus irgendeinem Grund nicht für alle Paare ausgeführt wurde. Warum, weiß ich nicht. Weiß jemand eine Antwort darauf?

Dieser Block sollte alle geöffneten Orders schließen und den weiteren Handel verhindern, vielleicht könnte ich dieses Problem lösen, indem ich den Parameter false in eine Datei schreibe oder so? Das Problem besteht in dieser Situation auch bei Paaren, die keine offenen Aufträge haben.

Danke...

Dejan

 

Hier ist mein Code, den ich vor langer Zeit geschrieben habe, er wird alle laufenden Positionen schließen.

#include

#include

int start()

{

double sA;

int cnt, totalOrders;

totalOrders = OrdersTotal();

if (totalOrders>0)

{

for (cnt=0;cnt<totalOrders;cnt++)

{

OrderSelect(0, SELECT_BY_POS);

if (OrderType() == OP_BUY) sA = MarketInfo(OrderSymbol(),MODE_BID);

sonst sA = MarketInfo(OrderSymbol(),MODE_ASK);

OrderClose(OrderTicket(),OrderLots(),sA,3,CLR_NONE);

}

}

return(0);

}

 

Ihr Code ist dem meinen sehr ähnlich. Die Ergebnisse sind die gleichen. Ich habe ein Bild beigefügt, um einige Dinge deutlicher zu machen.

EA schließt alle Trades für das Paar GBPUSD (Bild). Wie Sie sehen können, wird danach ein weiterer Handel eröffnet. (1 bedeutet allowtrade ist wahr, 0 allowtrade ist falsch).

Dateien:
image3.jpg  359 kb