Maximal 1 Trade inerhalb eines Zeitraums
Forums › ProRealTime Deutsch forum › ProOrder Support › Maximal 1 Trade inerhalb eines Zeitraums
- This topic has 11 replies, 5 voices, and was last updated 7 years ago by Despair.
-
-
05/14/2017 at 10:01 PM #35516
Hallo, ich habe auf der Seite von WH Selfinvest eine scheinbar profitable Strategie gesehen, die ich gerne in ProOrder selber nachbauen würde:
https://www.whselfinvest.de/de/trading_strategien_35_EUR_USD_07h30.php
Im grunde ist die Strategie Recht simpel und für jemanden wie mich (ohne Programmierkenntnisse) grad noch umsetzbar. Was mir allerdings fehlt, ist das nur Maximal 1 Trade zwischen 7:30 und 12:00 Uhr eingegangen werden soll und das beim ersten aufkommenden Signal in diesem Zeitraum. Alle weiteren aufkommenden Signale in diesem Zeitraum sollen ignoriert werden. Der Trade wird auch spätestens 12:00 Uhr geschlossen.
Kann mir da jemand helfen?
Vielen Dank im Vorraus05/16/2017 at 11:03 AM #3568905/16/2017 at 11:25 AM #35695Hallo du vergibst einfach eine variable dafür.
Du lässt “onetrade” immer um 6 Uhr auf den Wert 0 setzten und wenn eine Position ausgeführt wir lässt du sie auf 1 setzen dann dürfte er keine Postion mehr eingehen wenn “onetrade” nicht auf 0 steht.
So würde ich das Programmieren :
12345678910If OpenTime = 060000 thenonetrade = 0ENDIFc1 = ....Die bedingungenIF c1 AND (onetrade = 0) THENBUY 1 CONTRACT AT MARKETonetrade = 1ENDIFBitte vorher Testen.
Gruß Benny
1 user thanked author for this post.
05/17/2017 at 5:07 PM #35871Hi beeb & Nicolas,
danke für euer Feedback. @beeb, ich habe deinen Codeschnipsel fast erfolgreich integrieren können und es handelt “fast” überall nur einmal von 7:30 bis 12:00 Uhr. Ich weiß noch nicht woran es genau liegt. Vielleicht weil ich deinen Code etwas rudimentär eingebaut habe. Beim Stop habe ich doch noch meine Probleme und wollte ihn improvisatorisch durch einen 48 Donchain stop am Lowe oder upper Band festsetzen. Aber da dieser bei IG in der Simplen befehlsmaske nicht anwählbar ist bin ich mir auch mit der Umsetzung des stops im Unklaren. Daher konnte ich den Backtest noch nicht exakt nach strategie testen.
@Nicolas i try to explane this Strategie in a few words:Timeframe: 30Min (Trade max. one (the first) signal per Day)
Buy or Sell: Just at the first signal between 7:30 and 12:00 oclock.
Long Parameters: MACD > Signal, DMI Upper Band > DMI Lower Band, Supertrend < Close
Short Parameters: MACD < Signal, DMI Upper Band < DMI Lower Band, Supertrend > Close
Take Profit: 12 pips
Stop Loss (Long/Short: The lowest low or Highest high between the last 48 Candles. The 12:00 Timecap closes the Trade
(I try to use the Donchain Lower and Upper band (48) but there is noch chance to use it in the simple programming mask (pro Realtime IG Markets) so i dont know what to do at this point.Hier ist mal der code. Bitte nicht wundern, ich hab nicht so die Programmier-kenntnisse:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061// Festlegen der Code-ParameterDEFPARAM CumulateOrders = False // Kumulieren von Positionen deaktiviert// Das Handelssystem wird um 0:00 Uhr alle pending Orders stornieren und alle Positionen schließen. Es werden vor der "FLATBEFORE"-Zeit keine neuen Orderaufträge zugelassen.DEFPARAM FLATBEFORE = 073000// Stornieren aller pending Orders und Schließen aller Positionen zur "FLATAFTER"-ZeitDEFPARAM FLATAFTER = 120000// Verhindert das Platzieren von neuen Ordern zum Markteintritt oder Vergrößern von Positionen vor einer bestimmten UhrzeittimeEnterBefore = time >= 073000// Verhindert das Platzieren von neuen Ordern zum Markteintritt oder Vergrößern von Positionen nach einer bestimmten UhrzeittimeEnterAfter = time < 120000// Verhindert das Trading an bestimmten WochentagendaysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0If OpenTime = 073000 thenonetrade = 0ENDIF// Bedingungen zum Einstieg in Long-Positionenindicator1 = SuperTrend[3,10]c1 = (indicator1 < close)indicator2 = MACDline[12,26,9](close)indicator3 = ExponentialAverage[9](indicator2)c2 = (indicator2 > indicator3)indicator4 = DIplus[14](close)indicator5 = DIminus[14](close)c3 = (indicator4 > indicator5)IF (c1 AND c2 AND c3) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THENBUY 1 CONTRACT AT MARKETENDIFIF (c1 AND c2 AND c3) AND (onetrade = 0) THENBUY 1 CONTRACT AT MARKETonetrade = 1// Bedingungen zum Einstieg in Short-Positionenindicator6 = SuperTrend[3,10]c4 = (indicator6 > close)indicator7 = DIminus[14](close)indicator8 = DIplus[14](close)c5 = (indicator7 > indicator8)indicator9 = MACDline[12,26,9](close)indicator10 = ExponentialAverage[9](indicator9)c6 = (indicator9 < indicator10)IF (c4 AND c5 AND c6) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THENSELLSHORT 1 CONTRACT AT MARKETENDIFIF (c4 AND c5 AND c6) AND (onetrade = 0) THENSELLSHORT 1 CONTRACT AT MARKETonetrade = 1ENDIF// Stops und TargetsSET STOP ???SET TARGET pPROFIT 12ENDIF05/17/2017 at 8:03 PM #35895Hallo also wegen dem fast keine doppeltrades :
Ich bin mir nicht ganz im klaren warum du diese Position doppelt drin hast
IF (c1 AND c2 AND c3) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
BUY 1 CONTRACT AT MARKET
ENDIFIF (c1 AND c2 AND c3) AND (onetrade = 0) THEN
BUY 1 CONTRACT AT MARKET
onetrade = 1Die erste Order wird nicht durch onetrade gestoppt sondern trotzdem ausgeführt, wenn mich nicht alles täuscht müsste es so heißen
123456IF (c1 AND c2 AND c3) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry AND (onetrade = 0) THENBUY 1 CONTRACT AT MARKETOnetrade = 1ENDIFUnd die zweite Order weglassen, ausserdem fehlt da ein ENDIF.
Gruß Benny
Wegen dem stop muss ich mich nochmal reinlesen.
1 user thanked author for this post.
05/18/2017 at 9:55 AM #35950Zu deinem Stop teste bitte mal das hier (von mir ungetestet)
123456789101112131415161718//longIF (c1 AND c2 AND c3) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry AND (onetrade = 0) THENBUY 1 CONTRACT AT MARKETOnetrade = 1stoplow = LOWEST[48](low)mystop = close-stoplowENDIF//für shortIF(c4 AND c5 AND c6) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry AND (onetrade = 0) thenSELLSHORT 1 CONTRACT AT MARKETonetrade = 1stophigh = HIGHEST[48](high)mystop = stophigh-closeENDIF//stopsSet stop loss mystop05/18/2017 at 10:54 AM #35963beeb, danke fürs Feedback, deinem Hinweis und Code. Ich werds heut Abend mal versuchen zu ergänzen. 🙂
@Nicolas Here you can read the Strategy in English:https://www.whselfinvest.de/en/trading_strategies_35_EUR_USD_07h30.php
05/19/2017 at 1:23 PM #36102Hallo zusammen,
hab alles mal eingebaut und laufen lassen. Ich meine nun läuft sie korrekt. Allerdings ist diese scheinbar doch nicht profitabel wie auf whs (auf 2 Jahren komplett absteigender Ast). 🙁
Meine überlegung an dieser Stelle ist, ob diese strategie nur mit einem zusätzlichen Money Management (stichwort Zinseszins) bezogen auf den 48 auskommt/funktioniert, da dieser ja vom Entry immer unterschiedlich weit weg ist, oder ob Sie so oder so einfach nicht funktioniert?
… oder vertue ich mich da grad mit dem Indikator DM und DMI ?
Hier der Code:
Strategie1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374// Festlegen der Code-ParameterDEFPARAM CumulateOrders = False // Kumulieren von Positionen deaktiviert// Das Handelssystem wird um 0:00 Uhr alle pending Orders stornieren und alle Positionen schließen. Es werden vor der "FLATBEFORE"-Zeit keine neuen Orderaufträge zugelassen.DEFPARAM FLATBEFORE = 073000// Stornieren aller pending Orders und Schließen aller Positionen zur "FLATAFTER"-ZeitDEFPARAM FLATAFTER = 120000// Verhindert das Platzieren von neuen Ordern zum Markteintritt oder Vergrößern von Positionen vor einer bestimmten UhrzeittimeEnterBefore = time >= 073000// Verhindert das Platzieren von neuen Ordern zum Markteintritt oder Vergrößern von Positionen nach einer bestimmten UhrzeittimeEnterAfter = time < 120000// Verhindert das Trading an bestimmten WochentagendaysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0If OpenTime = 073000 thenonetrade = 0ENDIF// Bedingungen zum Einstieg in Long-Positionenindicator1 = SuperTrend[3,10]c1 = (indicator1 < close)indicator2 = MACDline[12,26,9](close)indicator3 = ExponentialAverage[9](indicator2)c2 = (indicator2 > indicator3)indicator4 = DIplus[14](close)indicator5 = DIminus[14](close)c3 = (indicator4 > indicator5)IF (c1 AND c2 AND c3) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry AND (onetrade = 0) THENBuy 1 CONTRACT AT MARKETOnetrade = 1//Stop longIF (c1 AND c2 AND c3) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry AND (onetrade = 0) THENBUY 1 CONTRACT AT MARKETOnetrade = 1stoplow = LOWEST[48](low)mystop = close-stoplowENDIFENDIF// Bedingungen zum Einstieg in Short-Positionenindicator6 = SuperTrend[3,10]c4 = (indicator6 > close)indicator7 = DIminus[14](close)indicator8 = DIplus[14](close)c5 = (indicator7 > indicator8)indicator9 = MACDline[12,26,9](close)indicator10 = ExponentialAverage[9](indicator9)c6 = (indicator9 < indicator10)IF (c4 AND c5 AND c6) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry AND (onetrade = 0) THENSELLSHORT 1 CONTRACT AT MARKETOnetrade = 1ENDIF//Stop shortIF(c4 AND c5 AND c6) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry AND (onetrade = 0) thenSELLSHORT 1 CONTRACT AT MARKETonetrade = 1stophigh = HIGHEST[48](high)mystop = stophigh-closeENDIF//stopsSet stop loss mystopSET TARGET pPROFIT 1206/15/2017 at 11:50 AM #38338Hab mir auch mal die Muehe gemacht die Strategie zu programmieren, aber sie ist auch fuer mich nicht profitabel. Weder mit festem Takeprofit (12 pips) noch mit trailing stop loss und das trotz des recht weitem stoploss (48-Perioden low). Ich glaub, das wird nichts…
06/15/2017 at 2:49 PM #38363Ich erleichtert den Code und verändert ein paar Zeilen, siehe unten.
Ich bekomme ziemlich nahe dem gleichen Ergebnis wie das ursprüngliche Ergebnis, aber auf der gleichen Zeit wie ihr Beispiel zwischen August 2010 und Januar 2013! Um die gleiche Gewinnkurve hat, wird es um die Ausbreitung zu ändern und / oder Zeitzone Ich denke, ..1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950// Festlegen der Code-ParameterDEFPARAM CumulateOrders = False // Kumulieren von Positionen deaktiviert// Das Handelssystem wird um 0:00 Uhr alle pending Orders stornieren und alle Positionen schließen. Es werden vor der "FLATBEFORE"-Zeit keine neuen Orderaufträge zugelassen.DEFPARAM FLATBEFORE = 073000// Stornieren aller pending Orders und Schließen aller Positionen zur "FLATAFTER"-ZeitDEFPARAM FLATAFTER = 120000// Verhindert das Platzieren von neuen Ordern zum Markteintritt oder Vergrößern von Positionen vor einer bestimmten UhrzeittimeEnterBefore = time >= 073000// Verhindert das Platzieren von neuen Ordern zum Markteintritt oder Vergrößern von Positionen nach einer bestimmten UhrzeittimeEnterAfter = time < 120000// Verhindert das Trading an bestimmten WochentagendaysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0If OpenTime = 073000 thenonetrade = 0ENDIF//indisindicator1 = SuperTrend[3,10]c1 = (indicator1 < close)indicator2 = MACDline[12,26,9](close)indicator3 = ExponentialAverage[9](indicator2)c2 = (indicator2 > indicator3)indicator4 = DIplus[14](close)indicator5 = DIminus[14](close)c3 = (indicator4 > indicator5)// Bedingungen zum Einstieg in Long-PositionenIF (c1 AND c2 AND c3) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry AND onetrade = 0 THENBuy 1 CONTRACT AT MARKETOnetrade = 1stoplow = LOWEST[48](low)mystop = close-stoplowENDIF// Bedingungen zum Einstieg in Short-PositionenIF (not c1 AND not c2 AND not c3) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry AND onetrade = 0 THENSELLSHORT 1 CONTRACT AT MARKETOnetrade = 1stophigh = HIGHEST[48](high)mystop = stophigh-closeENDIF//stopsSet stop loss mystopSET TARGET pPROFIT 1209/14/2017 at 10:00 PM #46246Hallo, arbeite mich gerade erstmals in “Strategien”/autmatisiertes Trading ein.
Hab einige Versuche hinter mir und verstehe grundsätzlich nicht, dass ich bei meinen codes häufig entweder keinen einzigen oder nur einen einzigen Trade oder nur verlusttrades hinbekomme.
Habe mir deshalb den obigen Code, um diesen an meine Indikatoren anzupassen, bzw. meine Indikatoren einzusetzen.
Leider ohne Erfolg. Also hab ich einfach mal den Code oben, also den von Niclas (06/15/2017 at 2:49 PM) kopiert ohne etwas anzupassen und einen Dax-Backtest durchlaufen lassen. Keine Fehlermeldung, aber wieder wurde kein einziger Trade eröffnet. Habe verschieden Zeiteinheiten und lange Zeiträume ausprobiert…
Kann mir jemand sagen woran das liegen könnte?
Schöne Grüße
Micha
09/15/2017 at 9:28 AM #46256 -
AuthorPosts
Find exclusive trading pro-tools on