Jump to content
Tom Next - Daytrading Community

eSisGJBreakout


siscop

Recommended Posts

Ich würde euch gerne ein recht einfaches Handelssystem vorstellen um euch auch mal zu zeigen dass eine EA nicht immer >1000 Zeilen haben muss um profitabel zu sein.

 

Das Wichtige hierbei ist etwas zu finden das immer wieder möglichst Konstant auftritt und nicht diese „seltenen“ großen Move zu erwischen.

Hierbei handelt es sich um ein Breakoutsystem dass sich wirklich jeden Tag wiederholt.

Beobachten wir den GBP/JPY sehen wir im TF240 dass der bei Markeröffnung von London eine Richtung bevorzugt und dies auch einhält.

Wir beobachten den Chart und sehen dass bei der Überschreitung der 8 uhr Kerze (ob high oder low) des 4uhr Kerze immer gut was zu holen ist.

GJBreakout.PNG

Schauen wir tiefer ins Detail so sehen wir dass dieser Move in den meisten Fällen zwischen der 8 und der vollendeten 12 Uhr Kerze (TF60) von statten geht.

Diesen wollen wir mitnehmen.

 

Zu beachten wäre jedoch dass ALLE Broker genau dieses Währungspaar ein min. von 7 PIPs an Spread belegt haben. Es gibt einen Grund warum man bei Alpari 2 besonders gut gehende Währungspaare keine Minutendaten downloaden kann. GBP/JPY ist eines von denen :-)

 

Da diese EA keine Indikatoren besitzt kann man eigentlich nur bei der Einstellung wählen ob es den Trend traden soll oder nicht.

 

Trenderklärung:

Wir wollen eigentlich den „großen“ morgendlichen Move mitnehmen. An manchen Tagen, besonders an Seitwärtsbewegungen, haben wir jedoch keinen großen Move und diese große erwartete Kerze bleibt aus.

Bei Trend=true stellen wir nun ein dass er statt beim Open der Stunde 13 zu schliessen er früher schliessen kann und zwar bei der unterschreitung des LOWs der vorherigen Kerze wenn wir long sind.

Bei Short entsprechend andersrum.

 

//Position schliessen bei trend=true

if ((long || short) && trend)

{

if (long && Close[0]

{

OrderSelect(ticket,SELECT_BY_TICKET);

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);

Print("Longexit order at : ",OrderClosePrice());

long=false;

}

if (short && Close[0]>High[1])

{

OrderSelect(ticket,SELECT_BY_TICKET);

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);

Print("Shortexit order at : ",OrderClosePrice());

short=false;

}

}

 

Bei trend=false schliesst er die Position bei Open von der 13Uhr Kerze.

 

Kein System funktioniert immer. Auch dieses hier wird irgendwann nicht mehr gültig sein.

Ab hier seid Ihr gefragt wie wir dieses System verbessern und profitabler machen können.

 

Eventuell eine bessere EXIT-Strategie?

 

ups... jetzt habe ich die eckdaten von diesem EA vergessen: GBP/JPY TF:60

 

eSisGJBreakout_V1.mq4

Link to comment
Share on other sites

Not bad, sag ich da mal. ;)

 

 

Hab's mal auf die Schnelle nach Tradesignal überführt (nicht schön, aber funktional für nen ersten Eindruck).

Da kann man auf jeden Fall durch geschickte Wahl von SL und TP noch Performance rausholen. Ich hab mal nen brauchbare Kombination rausgesucht (rechtes Fenster).

Und in den Phasen, wo das HS schwächelt, könnte man auch mal nachforschen, woran es denn lag.

tradesignal_siscop.PNG

siscops_GBPJPY.txt

Link to comment
Share on other sites

ich muss zugeben dass ich tradesignal jetzt nicht kenne aber diese EA war auch ehr dazu gedacht dass man einen anfang hat und es wurde jetzt auch vermehrt danach gefragt wie man ein handelssystem entwickelt, wie man anfängt und auf was man achten sollte.

ich wollte hier nur mal einen anfang machen wo noch alles OFFEN ist für das einbinden anderer module.

der name von eSis war jetzt unglücklich gewählt und dass der code jetzt den copyright siscop enhält ist nun auch unglücklich.

am besten wählt ihr einen anderen namen und löscht den copyright. name und copyright war reine routine ohne nachzudenken.

Link to comment
Share on other sites

Danke erstmal für den Code. Ich bekomme allerdings sowohl auf TS als auch bei MT nicht so gute Ergebnisse.

Bei TS kann ich die Equity-Kurve von Krümel nachvollziehen, aber schau Dir das System mal im Jahr 2007 und früher an ...

 

screenshot_4.jpg

 

Bei MT bekomme ich mit dem Code von siscop "out of the box" noch schlechtere Ergebnisse.

Ich habe hier 1 min. Daten von FXDD und seit 2007 auf H1 getestet:

 

screenshot_1.jpg

 

screenshot_2.jpg

Link to comment
Share on other sites

Bei TS kann ich die Equity-Kurve von Krümel nachvollziehen, aber schau Dir das System mal im Jahr 2007 und früher an ...

Na ja, ich glaub, das meinte siscop, als er sagte, die Systeme funktionieren nur ne Zeitlang ^^. Zumindest mit den Parametereinstellungen.

Link to comment
Share on other sites

@Krümel

jetzt habe ich dein bild verstanden... hat ja lange genug gedauert :-)

 

ich wollte eigentlich nicht dass wir einen festen TP und SL einbinden da das nur hier und jetzt gilt.

ich wollte vorschläge wie und welche module wir da anhängen könnten. die parameter selber könnten wir dann per internen backtestoptimierer nachpflegen. dieses modul des internen optimierer werde ich noch vorstellen wenn dieses "projekt" weiterentwickelt wird.

ich will jetzt vorschläge von euch was wir noch einpflegen wollen.

 

was wir noch unbedingt brauchen ist eine sinnvolle exitstrategie. das was bisher eingepflegt wurde ist immernoch eine notlösung um euch zu zeigen dass es überhaupt potential hat.

fällt keinen von euch irgendwelche guten module ein der hier passt?

 

von Krümel haben wir jetzt einen FESTEN SL/TP als vorschlag. klar könnten wir diese parameter per internen optimierer laufend automatisch updaten aber das würde meine vorstellungen eines community EA nicht wirklich gerecht werden.

Link to comment
Share on other sites

Hm ... ich sehen, zumindest im MT, noch nicht so viel Potential ... sorry.

Im Gegensatz zu TS werden hier ja alle Ticks betrachtet, bei TS nur die OHLC-Kurse.

 

Als Exit könnte man natürlich noch die ATR der Range-Stunden, also der High und Low

Schwell mit beliebigem Faktor 1.5 - 2.5 mitlaufen lassen.

Link to comment
Share on other sites

ich wollte hier nur mal einen anfang machen

 

:wub: Halt Dich da nur nicht zurück sis :wub: Finde ich toll, dass mal jemand den Anfang macht!

 

Nix mit Copyright rauslöschen - Ehre wem Ehre gebührt!

Außerdem haben wir so einen griffigen Namen wenn wir drüber reden.

 

Yep, sehe ich genauso.

Link to comment
Share on other sites

@Krümel

jetzt habe ich dein bild verstanden... hat ja lange genug gedauert :-)

von Krümel haben wir jetzt einen FESTEN SL/TP als vorschlag. klar könnten wir diese parameter per internen optimierer laufend automatisch updaten aber das würde meine vorstellungen eines community EA nicht wirklich gerecht werden.

 

Nee Du, da hast Du was missverstanden. Ich hab einfach 2 Werte nehmen müssen, damit da nen System rauskommt in TS, was auch nen Stop und nen TP hat.... Sonst macht der nur einen Trade und das war's. Ich wollte ja nur mal nen ersten Eindruck von dem System haben, um eventuell Schwachpunkte zu erkennen bzw. wo es funktioniert usw...

DU hast uns ja so ein Bild verweigert *schiebt siscop den Schwarzen Peter mit einem frechen Grinsen zurück* :wub:

Link to comment
Share on other sites

@DarthTrader

ich achte sehr auf die Zeiten im intradaybereich. soviel ich weiss nimmt FXDD GMT+2 Zeiten.

meine zeiten oben sind jedoch lokal (GMT+1)

die meisten meiner profitablen systeme haben in der vergangenheit "nackt" schlecht abgeschnitten. es kommen noch einige module hinzu. notfalls von mir die das system schon profitabel machen. dies soll aber kein soloprojekt werden.

 

da dies jedoch ein community system sein soll wo auch die anfänger was lernen/mitentwickeln sollen sollten wir die vorschläge von den mitglieder prüfen und bewerten ob es sinnvoll ist, einpflegen können oder doch verwerfen sollten.

Link to comment
Share on other sites

Hm ... ich sehen, zumindest im MT, noch nicht so viel Potential ... sorry.

 

Seh ich anders. Klar, ein Gral wo die Einstiege mit festem TP und SL schon glatte Kurve bringen wär besser, aber ich seh trotzdem Potential, vor allem als Communityprojekt das aufzeigt wie so eine Entwicklungsprozess von statten geht. Wenn am Schluss nix extrem positives rauskommt ham zumindest alle was gelernt.

 

Zur Exitstrategie: Standard-Holzhammer wär natürlich ein Volabasierter Stop/TP wie ihn DT vorgeschlagen hat, aber ehrlich gesagt hatte ich noch nicht genug zeit die Strategie anzuschauen, um echt was dazu zu sagen. Aber sobald ich freie Zeit hab, geb ich meinen Senf dazu (das sollte nicht nach Drohung klingen ;)

Link to comment
Share on other sites

Interessant ist, dass bis Mitte '07 der EA kontinuierlich bergab geht, von Mitte '07 bis Ende 08 mit einer schwarzen Null, und ab Anfang '09 positiv ist.

 

Mein erster Vorschläg wäre der Einbau einer "extern" -zeile für die GMT-Zeit. Oder der Uhrzeit abweichend gegenüber der hiesigen Zeit.

 

Wenn ich das richtig lese, müsste man im code nachfolgende Zahlen ändern:

	if (4<=TimeHour(TimeCurrent()) && TimeHour(TimeCurrent())<=7)

 

//Position öffnen
  if (!long && !short && TimeHour(TimeCurrent())>=8 && TimeHour(TimeCurrent())<=12 && daytrade)

 

 

Also alle Zahlen (4, 7, 8, 12) als Konstante plus der per "extern" eingegebenen Zeitdifferenz des Brokers zur deutschen Sommerzeit als Variable?

Evtl. ist es cleverer, diese Zahlen alle von GMT-0 aus zu berechnen? Das wäre nachvollziehbarer.

Link to comment
Share on other sites

Nee Du, da hast Du was missverstanden. Ich hab einfach 2 Werte nehmen müssen, damit da nen System rauskommt in TS, was auch nen Stop und nen TP hat.... Sonst macht der nur einen Trade und das war's.

 

Ich denke, es funktioniert auch ohne TP und SL. Ich kann die Werte auch ausstellen

und dann zieht der trendstop oder der timestop um 13 Uhr. Funktioniert bei mir.

 

Mit ATR kann die Equity-Kurve noch etwas verbessert werden.

 

   
Meta:		
Synopsis( "Siscops GBPJYP System" );
 
Inputs:
	trend1 = true,
	trailing = false,
	timestop = true,
	dailytimestop = false,
	atrPeriod (6),
	factor (1.5);
  
Variables: 
 dHigh=0.0,
 dLow=10000.0,
 day1(-1),
 long1(false),short1(false),
 daytrade=false,
 anzPositionen (0), atr;

 
  if (day1!=Date)then 
  begin
     day1=Date;
     dHigh=0;
     dLow=10000;
     daytrade=true;
  end;
  
  if (400<=Time and  Time<=700) then
  begin
 
     if (High[0]>dHigh) then
        dHigh=High[0];
     if (Low[0]<dLow) then
        dLow=Low[0];
     
  end;
  
  	// ----
// Nach Beendingung der Positon neues Kapital berechnen
	// -----
	If (TotalClosedPositions > anzPositionen)
	Then Begin
	long1 = false;
	short1 = false;
  	anzPositionen = anzPositionen + 1;
	End;
  
    	 
	// Position schliessen bei TrailingStop
  	if ((long1 or short1) and trailing and !NewPos)
  	then begin
  	  	atr = AvgTrueRange (atrPeriod);
  	  	atr = atr * factor;
  
     	if (long1)
     	then begin
      		Sell ("ATRTrailing") Next Bar At Low - atr Stop;
		DrawSymbol[-1] (Low - atr, "ATRTrailing-Exit", SymbolCircle, 4, DarkRed, DarkRed);
     	end;
     
     	if (short1)
     	then begin
      		Cover ("ATRTrailing") Next Bar At High + atr Stop;
		DrawSymbol[-1] (High + atr, "ATRTrailing-Exit", SymbolCircle, 4, DarkRed, DarkRed);
     	end;
  	end;   	     	 
    	 

// Position schliessen bei trend=true
  	if ((long1 or short1) and trend1)
  	then begin
     	if (long1 and Close[0]<Low[1])
     	then begin
       	Sell ("Long exit") next bar at market;
       	long1 = false;
     	end;
     
     	if (short1 and Close[0]>High[1])
     	then begin
       	Cover ("Short exit") next bar at market;
        	short1 = false;
     	end;
  	end;
  
 	// Position schliessen um 13:00   
if ((long1 or  short1) and  Time>=1300 and timestop)
then begin
     	if (long1)
     	then begin
        	Sell ("Long TP")  next bar at market;
        	long1 = false;
     	end;
     
     	if (short1)
     	then begin
        	Cover ("Short TP") next bar at market;      
        	short1 = false;
     	end;
  	end;
  	
  	// Position schliessen am tagesende   
if ((long1 or  short1) and  Time>=2200 and dailytimestop)
then begin
     	if (long1)
     	then begin
        	Sell ("Long TP")  next bar at market;
        	long1 = false;
     	end;
     
     	if (short1)
     	then begin
        	Cover ("Short TP") next bar at market;      
        	short1 = false;
     	end;
  	end;
  
  
 	// Position öffnen
 	if (!long1 and !short1 and Time>=800 and Time<=1200 and daytrade)
 	then begin
	// LONG
     	if (Close[0]>dHigh)
     	then begin
        	Buy ("Long") next bar at market;
        	long1 = true;
        	daytrade = false;         
     	end;
     
		// SHORT          
     	if (Close[0]<dLow)
      	then begin
        	Sell Short ("Short") next bar at market;
        	short1 = true;
        	daytrade = false;
     	end;
   end; 

 

@siscop: Das Datenproblem könnte man doch mit anderen Zeiten im Code umgehen, statt 4-7 nehme ich dann 5-8 ...

Bin gespannt, was da noch für Zusatzmodule kommen

Link to comment
Share on other sites

@sis - Hat der das Zeug, um das wir den EA zur ATC '09 schicken können?

Immer langsam mit den jungen Pferden, solche Fragen würd ich nicht stellen bevor nicht zumindest ein Exit-System drauf ist... sonst stecken wir nur wieder zu große Hoffnungen rein und werden enttäuscht ;)

Link to comment
Share on other sites

bis jetzt macht er ja nur einen trade pro tag...

 

folgende vorschläge kamen rein:

- TP/SL in abhänigkeit vom ATR (muss noch eingespielt werden)

- Uhrzeiten als parametereingabe (wurde eingepflegt)

 

besonders das mit den uhrzeiten von Henrik gefällt mir. es hält dieses system dynamisch.

das mit den ATR TP/SL sollten wir unabhänig davon testen da es mit der endzeit in konflikt kommt.

 

Die ersten Resultate von der MT4 Optmierung sehen gut aus. Man sollte zwar Zusatzmodule nicht per Optimierung testen jedoch will ich später einen internen auto optimierer einbauen um immer den aktuellen Wert zu haben. Um das Potenial der Zusatzmodule zu sehen muss ich durch den MT4 Optimierer erstmal erkennen was wir an Spannbreite haben.

 

eSisGJBreakout_V1.mq4

Link to comment
Share on other sites

mir gefallen die ergebnisse nicht wenn ich TP bzw. SL in abhängikeit der Range benutze.

schaut es euch an. eventuell kann auch jemand über den code schauen ob eich einen fehler eingebaut habe.

 

 

Hab mal alles quer durchprobiert und optimiert, und stimme dir zu. Phasenweise tritt Besserung auf, aber zu anderen Zeiten isses schlechter, also keine Glättung der Equitity insgesamt zu verzeichnen.

 

Fehler habe ich keine im Code entdeckt, was aber ganz sicher auf meine Unfähigkeit zurückzuführen ist :wub:

Link to comment
Share on other sites

Wie ich es mir eigentlich zuvor bereits gedacht habe bringt in diesem Fall ein SL und TP in abhänigkeit der Range keine Besserung. Dieser Art des Exits eignet sich ehr für andere Strategien mit bestimmten Eigenschaften.

 

Die Optimierung via Uhrzeit von Henrik hat mir da bereits besser gefallen da die Uhrzeit ja einer der Hauptkriterien dieser Strategie ist.

Zweitens ist ja im Code auch ein TS eingefügt worden. TS gibt bessere Ergebnisse als SL/TP. Ob es jetzt besser ist als der bereits am Anfang eingefügte "Trend"-Exit ist Ansichtssache.

 

Wir haben auf jeden Fall das durchgespielt was hier vorgeschlagen wurde.

 

Hat noch jemand andere Vorschläge? Muss auch nicht unbedingt die Eigenschaften vorweisen die hierzu passen. Eventuell werden wir ja überrascht oder können es irgendwie "konvertieren".

Zu sehen welche Module passen bzw. nicht passen ist doch auch eine wertvolle Information für die spätere Entwicklung seiner eigenen Strategien.

Link to comment
Share on other sites

möglicherweise wäre es eine Idee, bei erfolgreichen Trades im Anschluss einen Gegentrade aufzubauen?

Habe mal den Chart in dem Zeitraum grob überblickt, evtl. wäre das echt was.

Also angenommen, ich gehe von 8 bis 12 erfolgreich auf buy, dann gehe ich um 12 auf sell bis ca. 15 Uhr.

(buy/sell auch umgekehrt).

Und das nur, wenn der buy/sell Ausgangstrade erfolgreich war.

 

PS: die letzten beiden Tage war der Ausgangs-EA übrigens auf Demo-Forward positiv :wub:

Link to comment
Share on other sites

finde ich toll von dir dass du gleich an einer weiterentwicklung denkst. :wub:

 

danke bezüglich dem forwardtest. da ich dies per hand bereits seit einem monat trade kann ich die funktionalität dieser strategie nur bestätigen. dachte halt dass dies potential für ein community EA hat.

 

mal sehen was noch an vorschlägen kommt.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...