Gogetter EA - Seite 3

 

haben Sie vorwärts Test dieser EA?

 

Hallo!

In meiner Eile, Ihnen etwas zur Bearbeitung zu geben, habe ich etwas Offensichtliches übersehen. Bitte ändern Sie Ihre Codezeile, die wie folgt aussieht

if(OrderSymbol()==Symbol()||OrderMagicNumber()==MagicNumber)

zu

if(BestellSymbol()==Symbol()&&BestellMagischeZahl()==MagischeZahl)

Entschuldigung, das war ein Versehen. Es hätte zu Problemen geführt, wenn Sie mehrere Währungen mit demselben EA und derselben Magicnumber gehandelt hätten.

Wie auch immer, ich freue mich, dass es Ihnen gut geht. Gute Arbeit und Sie verdienen alle Anerkennung.

 
Maji:
Hehe,

In meiner Eile, Ihnen etwas zur Bearbeitung zu geben, habe ich etwas Offensichtliches übersehen. Bitte ändern Sie Ihre Codezeile, die wie folgt aussieht

if(OrderSymbol()==Symbol()||OrderMagicNumber()==MagicNumber)

zu

if(BestellSymbol()==Symbol()&&BestellMagischeZahl()==MagischeZahl)

Entschuldigung, das war ein Versehen. Es hätte zu Problemen geführt, wenn Sie mehrere Währungen mit demselben EA und derselben Magicnumber gehandelt hätten.

Jedenfalls freue ich mich, dass es dir gut geht. Gute Arbeit und du verdienst alle Anerkennung.

Das hat mich zwar neugierig gemacht, aber ich habe mich damit abgefunden... Ende gut, alles gut... Korrekturen abgeschlossen. Jetzt muss ich sehen, ob ich GGs aktualisieren kann.

 

GGlongs Build 1.05

So ist es besser.

Vielen Dank an Maji, der mich wieder einmal durch die Verbesserung der Zählmethoden für mehrere Aufträge und die Probleme bei der Handhabung/Änderung mehrerer Aufträge usw. geführt hat.

Dies verwendet eine neue Trailing-Stop-Funktion sowie eine neue Zählfunktion.

Ich habe auch Signal_2 überarbeitet, das die unten angehängte Grafik erzeugt hat. Das ist das wichtigste Trend-Signal. Ich habe noch nicht über die Countertrend Signal_1 noch gearbeitet. Aber Signal_2 ist mit diesen Einstellungen für den Einsatz auf dem GBP/USD 5m Chart akzeptabel.

Beim Vorwärtstest konnte die vorherige Version von GGlongs heute Morgen kein klares Kaufsignal auslösen. Als ich mir die Signallogik in v1.01 anschaute, stellte ich fest, dass ich alles noch mehr durcheinander gebracht hatte, als ich dachte. Jedenfalls ist das Problem gelöst. v1.05 sollte jetzt viel besser funktionieren als v1.01. Ich werde v1.05 jetzt neben v2.11 GGs, die noch keine dieser neuen Funktionen erhalten hat, auf den Forward-Tester legen.

Dateien:
 

Ich stelle fest, dass das unveränderte Diagramm überhaupt nicht verändert wird... es wird keine neue Serie nach der letzten Serie eingefügt, wie es vorher immer der Fall war... Ich frage mich, warum? Wie konnten die Änderungen, die ich vorgenommen habe, das bewirken?

Ich habe herausgefunden, dass das daran liegt, dass ich die Signallogik durcheinander gebracht habe...Rätsel gelöst.

Dateien:
 

Ich bin verwirrt....

Das ist es, was im GGl..... hervorragend funktioniert.

int ModifyTrades()

{

int trade;

for(trade=OrdersTotal()-1;trade>=0;trade--)

{

OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()!=Symbol()&&OrderMagicNumber()!=MagicNumber)

continue;

if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)

if(TrailingStopMode && TrailingStop > 0) {

if(Bid - OrderOpenPrice() > Point * TrailingStop || OrderOpenPrice() - Bid >= 0) {

if(OrderStopLoss() < Bid - Point * TrailingStop || OrderStopLoss() == 0) {

OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen); //etc.

}//for

}

}

}

} [/PHP]

so....

why doesn't this work in the GGs???

[PHP]int ModifyTrades()

{

int trade;

for(trade=OrdersTotal()-1;trade>=0;trade--)

{

OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()!=Symbol()&&OrderMagicNumber()!=MagicNumber)

continue;

if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)

if(TrailingStopMode && TrailingStop > 0) {

if((OrderOpenPrice() - Ask) > (Point * TrailingStop || Ask - OrderOpenPrice() >= 0)) {

if((OrderStopLoss() > (Ask + Point * TrailingStop)) || (OrderStopLoss() == 0)) {

OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen); //etc.

}//for

}

}

}

}

Wie Sie in dem beigefügten Bericht sehen können, findet keine "Änderung" statt... ...wenn ich so darüber nachdenke... Ich habe noch nie irgendeine Änderung des Trailing-Stops in irgendeinem der GG-Versionsberichte gesehen! Was ist da los???

Dateien:
ggs2.21.htm  149 kb
ggs2.21.gif  7 kb
 

Meine nächste Kodierungsherausforderung...

Ich möchte Unterstützung und Widerstand in die Logik meines EA.... einbauen.

Dies funktioniert gut, um einen Wert für das höchste Hoch einer bestimmten Anzahl von Bars zurückzugeben...

//support and resistance

double HIGH = High;

double LOW = Low[Lowest (NULL, 0, MODE_LOW, SupportBarsBack, LStartBack)];

Bei der Konzentration auf die GGs. Ich stelle fest, dass alle 145 Balken auf dem 30-Meter-Chart ein Höchststand, gefolgt von drei gegenläufigen Verkaufssignalen, zu verzeichnen ist. Ich definiere ein gegenläufiges Verkaufssignal als jedes Mal, wenn das 5ema von oben nach unten das 18ema kreuzt, was über dem 150ema geschieht. Das Muster, das ich sehe, ist also ein neues Hoch, gefolgt von Verkaufssignalen.

Ich beobachte außerdem, dass das erste Verkaufssignal nach einem neuen Hoch nicht sehr produktiv ist. Das zweite ist im Allgemeinen lohnender und das dritte usw. ist der Zeitpunkt, an dem die größeren Bewegungen stattfinden.

Also ...

Da ich nun maßgeschneiderte Signale für jede Situation generieren kann, möchte ich Signale so anpassen, dass sie bei diesen verschiedenen Ereignissen alle in Bezug auf das neue Hoch oder das höchste Hoch des aktuellen 145-Bar-Zeitraums ausgeführt werden.

Die Signale kann ich anpassen...

Die Herausforderung besteht darin, das Gegen-Trend-Verkaufssignal in Bezug auf das höchste Hoch der aktuellen 145-Bar-Periode zu lokalisieren und zu zählen, wie oft dieses Signal seit dem höchsten Hoch dieser Periode bereits aufgetreten ist.

Ich bin mir nicht sicher, wie ich die Signale zählen soll. Ich meine, ich kann auf dem Chart zählen, aber wie bringe ich den Code dazu, die Zählung durchzuführen?

 

Wie bestimme ich, wie viele Balken zurück in der Reihe von der Zeit, die ich den gleitenden Durchschnitt Cross-Signal, dass die höchste hoch aufgetreten?

 

Ok, ich sehe, wie man das Arraymaximum und Arrayminimum erhält... das gibt mir die Balkenanzahl, in der der Wert auftritt, aber es gibt sie mir in Form einer Balkenanzahl im Diagramm...

Wenn ich die Balken-Nummer des Balkens, in dem der gleitende Durchschnitt kreuzt, erhalten könnte, könnte ich die beiden subtrahieren, um zu sehen, wie viele Balken die Unterstützung oder der Widerstand vom Auftreten des Signals entfernt ist...

Wie erhalte ich die Nummer des Balkens im Diagramm, in dem das Signal des gleitenden Durchschnitts auftritt?

 
/support and resistance

double HIGH = High;

double LOW = Low[Lowest (NULL, 0, MODE_LOW, SupportBarsBack, LStartBack)];

//support and resistance location

int Hloc = ArrayMaximum(High);

int Lloc = ArrayMinimum(Low);

.

.

.

Print("Order Number: ",OrderTicket() ," ",ResistanceBarsBack," bars back resistance : ",HIGH," @bar",Hloc," & ",SupportBarsBack," bars back support : ",LOW," @bar",Lloc);

[/PHP]

this is what this code is giving me...

[PHP]2006.07.19 15:27:54 2005.03.10 21:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 6 20 bars back resistance : 1.9284 @bar109 & 20 bars back support : 1.9204 @bar205

2006.07.19 15:27:54 2005.03.10 21:30 GoGetShorts-2.21x GBPUSD,M30: SELL order opened : 1.9223

2006.07.19 15:27:54 2005.03.10 21:30 GoGetShorts-2.21x GBPUSD,M30: open #6 sell 0.05 GBPUSD at 1.9223 sl: 1.9270 tp: 1.9118 ok

2006.07.19 15:27:54 2005.03.10 21:30 GoGetShorts-2.21x GBPUSD,M30: open #5 sell 0.05 GBPUSD at 1.9223 sl: 1.9270 tp: 1.9118 ok

2006.07.19 15:27:54 2005.03.07 15:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 4 20 bars back resistance : 1.9224 @bar44 & 20 bars back support : 1.9114 @bar49

2006.07.19 15:27:54 2005.03.07 15:30 GoGetShorts-2.21x GBPUSD,M30: SELL order opened : 1.9146

2006.07.19 15:27:54 2005.03.07 15:30 GoGetShorts-2.21x GBPUSD,M30: open #4 sell 0.05 GBPUSD at 1.9146 sl: 1.9193 tp: 1.9041 ok

2006.07.19 15:27:54 2005.03.07 15:30 GoGetShorts-2.21x GBPUSD,M30: open #3 sell 0.05 GBPUSD at 1.9146 sl: 1.9193 tp: 1.9041 ok

2006.07.19 15:27:54 2005.03.02 16:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 2 20 bars back resistance : 1.9186 @bar100 & 20 bars back support : 1.908 @bar15

2006.07.19 15:27:54 2005.03.02 16:30 GoGetShorts-2.21x GBPUSD,M30: SELL order opened : 1.9121

2006.07.19 15:27:54 2005.03.02 16:30 GoGetShorts-2.21x GBPUSD,M30: open #2 sell 0.05 GBPUSD at 1.9121 sl: 1.9168 tp: 1.9016 ok

2006.07.19 15:27:54 2005.03.02 16:30 GoGetShorts-2.21x GBPUSD,M30: open #1 sell 0.05 GBPUSD at 1.9121 sl: 1.9168 tp: 1.9016 ok

Wie kann ich mir einen Reim auf diese Balkenzahlen machen?

Zumindest die Unterstützungsbalken scheinen einigermaßen sequentiell zu sein 15,49,205

Was hat es mit den Widerstandsbalken auf sich? 100,44,109??? wenn ich mir den Chart ansehe, ist der erste Widerstandsbalken tatsächlich der erste in der Reihe der 20 Werte und nicht 100. Wie 1=100??

so in der Tat die ersten beiden Aufträge entsprach der Bar-Nummer für die Unterstützung von 15 Bars vor der Bestellung und wenn die 100 bedeutete 1 dann der Widerstand auf der ersten Bar der 20bar Array auftreten.