Wie programmiert man? - Seite 28

 

Brauche einfache Code-Hilfe!

Welchen Code kann ich in mein Ea einbauen, damit es nur einmal auf dem aktuellen Balken handelt, wenn sich 2 gleitende Durchschnitte kreuzen?

Ich handele auf einer Minute und manchmal kann der Balkenwert zum Hoch und dann zum Tief und dann wieder zum Hoch gehen. Wenn die Ea einen Handel eröffnet, wenn sich die beiden gleitenden Durchschnitte kreuzen, kann der Balkenwert in derselben Minute unter das Kreuz fallen, und die Ea wird den Handel beenden, wenn der Handelswert vorübergehend sinkt. Infolgedessen kann die Ea eine Position auf demselben einminütigen Balken öffnen und schließen!! Bitte um Rat!!

Vielen Dank im Voraus!

Dave

<<<

 

Ich hatte dieses Problem schon einmal und bin folgendermaßen vorgegangen:

Oben, wo Sie Ihre Variablen deklarieren, setzen Sie

static bool ITradedOnThisBar;

dann, wo Sie Ihre Bestellung senden, setzen Sie

if(Ihre Kriterien && ITradedOnThisBar!=Bars)

{

ticket=OrderSend(Symbol(),OP_BUY,... );

ITradedOnThisBar = Bars;

}

Dadurch wird verhindert, dass Sie einen Handel auf demselben Balken eröffnen, auf dem Sie bereits einen Handel eröffnet haben. Noch wichtiger ist jedoch , dass Sie verhindern wollen, dass der Handel auf demselben Balken geschlossen wird, daher würde ich auch diesen Code hinzufügen, wenn Sie Ihren Handel schließen:

if(Your Criteria && ITradedOnThisBar != Bars)

{

OrderClose(OrderTicket(),... ); // Position schließen

}

Dies ist wahrscheinlich der einfachste Weg, um das zu tun, was Sie versuchen zu tun.

 

Code für Puffer aktualisieren

es gibt Code (Patch, Fix, Upgrade) von Raff 4 Multitimeframe (MTF) Indikatoren, die ziemlich gut funktionieren;

Was könnte ein ähnlicher Code sein, den Sie zu normalen (nicht MTF) Indikatoren hinzufügen können?

Wenn möglich, ein Beispiel, bitte

Vielen Dank!

//---- Puffer aktualisieren +++++++++++++++++++++ upgrade by Raff

if (TimeFrame>Period()) {

int PerINT=TimeFrame/Period()+1;

datetime TimeArr[]; ArrayResize(TimeArr,PerINT);

ArrayCopySeries(TimeArr,MODE_TIME,Symbol(),Periode());

for(i=0;i=TimeArray[0]) {

//----

/*****************************************************

Puffer auffrischen: buffer = buffer[0];

******************************************************/

Puffer1= Puffer1[0];

Puffer2= Puffer2[0];

Puffer3= Puffer3[0];

//----

} } }

//+++++++++++++++++++++++++++++++++++++++++ Raff ++++++

 
Willis11of12:
Ich hatte dieses Problem schon einmal, und ich habe Folgendes getan:

Oben, wo Sie Ihre Variablen deklarieren, setzen Sie

static bool ITradedOnThisBar;

dann, wo Sie Ihre Bestellung senden, setzen Sie

if(Ihre Kriterien && ITradedOnThisBar!=Bars)

{

ticket=OrderSend(Symbol(),OP_BUY,... );

ITradedOnThisBar = Bars;

}

Dadurch wird verhindert, dass Sie einen Handel auf demselben Balken eröffnen, auf dem Sie bereits einen Handel eröffnet haben. Noch wichtiger ist jedoch, dass Sie verhindern wollen, dass der Handel auf demselben Balken geschlossen wird, daher würde ich auch diesen Code hinzufügen, wenn Sie Ihren Handel schließen:

if(Your Criteria && ITradedOnThisBar != Bars)

{

OrderClose(OrderTicket(),... ); // Position schließen

}

Dies ist wahrscheinlich der einfachste Weg, um das zu erreichen, was Sie vorhaben.

Vielen Dank für die Codierung. Ich habe es in meinem Ea installiert (hoffentlich an den richtigen Stellen) und werde herausfinden, ob es funktioniert, sobald sich die gleitenden Durchschnitte kreuzen.

Vielen Dank!

Dave

 

Ich weiß nicht, wie man Code, aber ich habe mehrere EA's ähnlich wie das, was Sie beschreiben mit dem Expert Advisor Builder gemacht. Ich bin mir nicht sicher, ob es das ist, wonach Sie suchen, aber Sie könnten es ausprobieren, wenn Sie es nicht schon getan haben.

Expert Advisor Builder für MetaTrader 4

 

Ich werde es mir ansehen. Danke.

 

Gibt es einen solchen Code?

Ich frage mich, ob es einen solchen Code gibt (mit untenstehender Beschreibung).

Wie würde der grundlegende Code mit den folgenden Parametern aussehen? (mit dem Verständnis, dass jeder Indikator mit einem Wert eingefügt werden könnte)

(Eröffnung von Geschäften)

1. Ein Long-Trade wird platziert, wenn der aktuelle Wert eines Indikators höher als der Schlusswert des vorherigen Balkens ist. (intrabar, nicht close)

2. Ein Short-Trade wird platziert, wenn der aktuelle Wert eines Indikators niedriger ist als der Schlusswert des vorherigen Balkens. (intrabar, nicht close)

(Schließen von Geschäften)

1. Long-Geschäfte werden geschlossen, wenn Short-Geschäfte eröffnet werden.

2. Short-Geschäfte werden geschlossen, wenn Long-Geschäfte eröffnet werden.

danke

 

versuchen Sie einige davon

Index von /_MT4_Experts

 

Danke AJK. Das ist eine ganz schöne Liste!

 

Code-Hilfe

Ich bin sicher, jemand hat dies bereits gefragt, aber ich kann es nicht finden, wenn ich die Threads suchen.

Ich würde gerne wissen, wie man einen EA so codiert, dass er nur dann einen Handel platziert, wenn der Preis zwischen zwei Niveaus liegt -I.E.

wenn (Preis=>1.0000 && Preis<1.0050) verkaufen

Grund der Beschwerde: