Feuervogel EA - Seite 58

 
 

Hallo rbchapin,

vielleicht hast du Recht. Aber der "verrückte Tag" ist nicht nur der Freitag. Es kann jeder andere Tag sein.

Ich habe in die Einstellungen in der Set-Datei geschaut und dort stehen die folgenden Einstellungen:

extern int MAtype=0;//0=close, 1=HL

extern int TradeOnFriday =0; // >0 trades on friday[/CODE]

But inside the code I found the following:

if(MAtype==0)

{

double myMA =iMA(NULL,MA_timeframe,MA_length,0,MODE_SMA,PRICE_OPEN,0);[/CODE]

So, according to my limited programming knowledge, if MAtype=0 so EA is using MA indicator on open price for current open bar.

And some other codes:

[CODE]KeepStopLoss=OrderStopLoss();

And more:

[CODE]if(KeepStopLoss!=0)

{

spread=MathAbs(KeepAverage-KeepStopLoss)/2;

dummy=(Bid+Ask)/2;

if (KeepStopLoss(dummy-spread))

{

// a stoploss was hit

if(Direction==1) Direction=11;// no more longs

if(Direction==2) Direction=22;// no more shorts

}

KeepStopLoss=0;

}

Direction==1 ist lang; Direction==11 ist nicht mehr lang.

Direction==2 ist kurz; Direction==22 ist nicht mehr kurz.

 

Und sehen Sie sich diesen Code an

if((myMA*(1+Percent/100))<Bid && Direction!=22 && (Bid>=(LastPrice+(CurrentPipStep*Point)) || myTotal==0) )[/CODE]

So, it is not surprise when EA is openning too many orders sometimes. It is open price and when market is moving very quickly so we may have condition for open the order 100 times on open bar.

May be it should be && instead of or (||) here?

[CODE]....|| myTotal==0) )
 

Daher ist es sehr gut, dass wir zumindest den Tag kennen, an dem EA fliegen wird: Es könnte der 5. eines jeden Monats sein.

 

Aber vielleicht haben Sie ja Recht.

Denn wir können diesen Code "übersetzen"

if (Day()!=5 || TradeOnFriday >0)[/CODE]

as the following:

"if it is not 5th of the month, or if we are trading on Friday."

And int Day( ) is the following:

Returns the current day of the month, i.e., the day of month of the last known server time.

So, EA will trade is it is not 5th of the month (5th of October for example) or TradeOnFriday>0 (we are having TradeOnFriday=0).

I think it should be DayOfWeek( ) instead of Day( ):

[CODE]int DayOfWeek( )

Returns the current zero-based day of the week (0-Sunday,1,2,3,4,5,6) of the last known server time.
 

Absicherung

Hallo zusammen,

ich habe eine Frage zu Firebird v3.2.

Ich habe beobachtet, wie es funktioniert, und ich sehe, dass es eine Position, die es eingegangen ist, absichert, wenn es in die falsche Richtung geht. Aber wenn der Hedge mit Gewinn geschlossen wird, bleiben die anderen Trades auf dem Tisch liegen.

Sollte er nicht alle Positionen schließen, wenn eine seiner Positionen geschlossen wird?

Was ist, wenn der Kurs lange Zeit nicht auf die offene Position zurückgeht?

rbc

 
newdigital:
Aber vielleicht haben Sie ja recht.

Weil wir diesen Code "übersetzen" können

if (Day()!=5 || TradeOnFriday >0)[/CODE]

as the following:

"if it is not 5th of the month, or if we are trading on Friday."

And int Day( ) is the following:

Returns the current day of the month, i.e., the day of month of the last known server time.

So, EA will trade is it is not 5th of the month (5th of October for example) or TradeOnFriday>0 (we are having TradeOnFriday=0).

I think it should be DayOfWeek( ) instead of Day( ):

[CODE]int DayOfWeek( )

Returns the current zero-based day of the week (0-Sunday,1,2,3,4,5,6) of the last known server time.

Hallo newdigital,

eigentlich ist es noch etwas schlimmer, denn der EA handelt zwar weiter, aber er hat einen eingefrorenen LastPrice und Myorders, die beide später zum Risikomanagement verwendet werden. Wenn sie eingefroren sind, ergibt sich folgendes. 1. Es gibt keine Begrenzung für die Anzahl der Aufträge und 2. wenn der Preis in den Strike-Bereich abdriftet, wird er dort weiter schlagen, weil Lastprice nicht dem letzten Auftrag folgt.

Ich habe überprüft, dass Lastprice nicht aktualisiert wird, wenn es gehandelt wird, also muss es in die Schleife unter der if-Anweisung eintreten, um aktualisiert zu werden.

Ich denke, die If-Anweisung (Day()) sollte entfernt werden und die gesamte Logik des Freitag-Blocks sollte dort platziert werden, wo die Logik des Zeitfilters platziert wurde. (Ich bin mir nicht sicher, ob sie vorhanden ist, aber V3.2 hat sie). Wenn es nicht profitabel erscheint, könnten Sie das Risiko erhöhen, da das Money Management immer funktionieren würde.

rbc

 

Hallo rbchapin,

vielen Dank.

Ich wollte schon letztes Jahr aufhören, diesen EA zu testen, aber ich bekomme viele PM-Nachrichten und anscheinend mögen viele Leute diese "verrückten Tage". Ich denke, die Mitglieder nicht verstehen, dass es unmöglich ist, Fall für reale Konto zu öffnen 100 Aufträge nur für 1 Minute ...

Ich werde diesen EA weiter testen und den Datei-Thread https://www.mql5.com/en/forum/176044/page2 mit der Meldung "Fehler gefunden" aktualisieren.

 

Firebird ist gestern wieder einmal geflogen.

Dateien:
firebird065.zip  546 kb
 
Grund der Beschwerde: