EBK: Oh, tut mir leid, dass ich meine Meinung falsch ausgedrückt habe.
Ich möchte Code (aber ich bin nicht in der Lage zu tun) etwas, das EA Handel (oder Teil von ea Handel) zu stoppen, wenn das Eigenkapital unter einem Wert ist.
Vielen Dank für Ihre Hilfe Roger09, aber ich brauche nicht, um die Equity auf dem Chart anzuzeigen
vielen Dank für deine Hilfe bei diesem Code. Mein Skriptcode sieht jetzt wie folgt aus (ich habe die Änderungen in rot nur für diese Antwort hinzugefügt, der Code in MQ4 sieht genauso aus wie der Rest, der dort war):
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
dies ist falsch : if(totalOrders==0 && Magic==OrderMagicNumber() &&
OrderSelect(i-1 , SELECT_BY_POS,MODE_HISTORY)==true)
weil Sie OrderMagicNumber() vor OrderSelect() aufrufen, so dass es sich wahrscheinlich auf den vorherigen Aufruf bezieht.
Oh, tut mir leid, dass ich meine Meinung falsch ausgedrückt habe.
Ich möchte Code (aber ich bin nicht in der Lage zu tun) etwas, das EA Handel (oder Teil von ea Handel) zu stoppen, wenn das Eigenkapital unter einem Wert ist.
Vielen Dank für Ihre Hilfe Roger09, aber ich brauche nicht, um die Equity auf dem Chart anzuzeigenVersuchen Sie diesen EA
CloseAllBuySell - MQL4 Code Base
Verwenden Sie seine Idee und machen Sie einen Code mit etwas wie
if (AccountEquity()<YourValue) closeallorders();
Könnte jemand bitte den EMA-Trailing-Stop zum Beispiel Moving Average EA hinzufügen
EMA-Trailing auf 1 setzen
Dann ändern Sie den Eintrag in
Buy=Open[1]>ma && Close[1]>ma;
Sell=Open[1]<ma && Close[1]<ma;
Dies sollte einen sehr guten einfachen Scalper ergeben.
Prost
Beno
Am Anfang des Programms hinzufügen
extern int pips=2;//(oder Ihre Anzahl von Pips)
dann ersetzen
sl = OrderOpenPrice() ;
if ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() ;[/CODE]
to
[CODE]if ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice()))
sl = OrderOpenPrice() +pips*Point;
if ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() -pips*Point;Kann mir jemand dabei helfen, eine Warnung in diesen Indikator einzufügen, wenn er einen neuen Pfeil zeichnet?
Danke!
Nein, korrigieren Sie es
extern int pips=2;
//+------------------------------------------------------------------+
//| Skript Programmstartfunktion |
//+------------------------------------------------------------------+
int start()
{
//----
string curr = Symbol();
int ot = OrdersTotal();
int ords[200], ordType[200], ordTicket[200]; double ordLots[200];
string ordComments[200];
int ix=0;
for (int i=0; i<ot; i++)
{
int o = OrderSelect(i, SELECT_BY_POS);
if (AuftragSymbol() == Symbol())
if ((OrderType() == OP_BUY) || (OrderType() == OP_SELL))
{
double sl = 0;
if ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice()))
sl = OrderOpenPrice() +pips*Point;
if ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() -pips*Point;
if (sl != 0+10)
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0);
}
}
//----
return(0);
OK, der Code sieht jetzt wie folgt aus:
extern int pips=10;//.
//+------------------------------------------------------------------+
//| Skript Programmstartfunktion |
//+------------------------------------------------------------------+
int start()
{
//----
string curr = Symbol();
int ot = OrdersTotal();
int ords[200], ordType[200], ordTicket[200]; double ordLots[200];
string ordComments[200];
int ix=0;
for (int i=0; i<ot; i++)
{
int o = OrderSelect(i, SELECT_BY_POS);
if (AuftragSymbol() == Symbol())
if ((OrderType() == OP_BUY) || (OrderType() == OP_SELL))
{
double sl = 0;
if ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice()))
sl = OrderOpenPrice() +pips*Point;
if ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() -pips*Point;
if (sl != 0)
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0);
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
Hallo Roger09,
vielen Dank für deine Hilfe bei diesem Code. Mein Skriptcode sieht jetzt wie folgt aus (ich habe die Änderungen in rot nur für diese Antwort hinzugefügt, der Code in MQ4 sieht genauso aus wie der Rest, der dort war):
//+------------------------------------------------------------------+
//| Skript Programm Startfunktion |
//+------------------------------------------------------------------+
int start()
{
//----
extern int pips=2;//
string curr = Symbol();
int ot = OrdersTotal();
int ords[200], ordType[200], ordTicket[200]; double ordLots[200];
string ordComments[200];
int ix=0;
for (int i=0; i<ot; i++)
{
int o = OrderSelect(i, SELECT_BY_POS);
if (AuftragSymbol() == Symbol())
if ((OrderType() == OP_BUY) || (OrderType() == OP_SELL))
{
double sl = 0;
if ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice()))
sl = OrderOpenPrice() +pips*Point;
if ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() -pips*Point;
if (sl != 0)
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0);
}
}
//----
return(0);
Können Sie mir sagen, ob ich das richtig verstanden habe? Ich bin hier blind, also haben Sie Geduld mit mir.
Eigentlich wird es funktionieren, aber dieser Code ist nicht gut. Leider kenne ich Ihre Hauptziele nicht und kann Ihnen nichts anderes empfehlen.