Wie programmiert man? - Seite 144

 

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.

 
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

Versuchen 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

Dateien:
 
 

Am Anfang des Programms hinzufügen

extern int pips=2;//(oder Ihre Anzahl von Pips)

dann ersetzen

if ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice()))

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!

Dateien:
hilow3.mq4  2 kb
 

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.