Suivi de mon algorithme de trading Dax 30

Forum sur le trading automatique et algorithmique : systèmes, backtests, robots de trading, résultats et limites, code à l'appui.
Anonymous99

Re: Suivi de mon algorithme de trading Dax 30

Message non lu par Anonymous99 »

Bonjour x3,

Moi j'utilise une nouvelle version ;)

Mais les résultats sont toujours là sur mes 2 anciennes versions :P

Exemple de la première version (avec ou sans le premier conseil de correction -un peu moins avec le 2ème conseil-) :

A noter que c'est une simulation à 1 € le point (il faut donc multiplier par 5 pour pouvoir comparer avec la dernière simulation : 31.10 € * 5 = 155,50 €) :
résumé v1.JPG
stats v1.JPG
positions v1.JPG
Soit une moyenne de presque 5 points par jour (31.10 points / 6.5 jours ouvrés) :top:
Anonymous99

Re: Suivi de mon algorithme de trading Dax 30

Message non lu par Anonymous99 »

Une nouvelle simulation avec la 2ème version (toujours à 1€/point donc il faut multiplier par 5 pour comparer avec l'ancienne simulation : 24,20 * 5 = 121,00 €) :
résumé v2.JPG
stats v2.JPG
positions v2.JPG
Soit une moyenne de presque 4 points par jour (24.20 points / 6.5 jours ouvrés).
Anonymous99

Re: Suivi de mon algorithme de trading Dax 30

Message non lu par Anonymous99 »

Bonjour,

Pour ceux qui préfèrent le lourd ;-)
résumé.JPG
stats.JPG
positions.JPG
Librement amélioré de cette souce http://www.prorealcode.com/prorealtime-trading-strategies/trend-surfer-dax/ :bravo:
Spoiler:

Code : #

// Trend Surfer DAX

// code-Parameter
DEFPARAM FlatAfter = 170000

// DAX trading window
ONCE BuyTimeMorning = 90000
ONCE SellTimeMorning = 110000
ONCE BuyTimeAfternoon = 150000
ONCE SellTimeAfternoon = 170000

// traders dynamic indicator
ONCE q = 14
ONCE r = 4
ONCE t = 29

// tdi filter parameter
ONCE longPriceLevel = 35
ONCE shortPriceLevel = 40
ONCE middleBandLevel = 40

// trading parameter
ONCE PositionSize = 1
ONCE sl = 4
ONCE tp = 8

// position management during trading window
IF (Time >= BuyTimeMorning AND Time <= SellTimeMorning) OR (Time >= BuyTimeAfternoon AND Time <= SellTimeAfternoon) THEN

// calculate TDI indicator
RSIasPrice = RSI[q](customclose)
Priceline = Average[r](RSIasPrice)
MiddleBand = Average[t]((RSIasPrice))

// open position
// long
IF Not LONGONMARKET AND Priceline > MiddleBand AND Priceline > longPriceLevel AND MiddleBand > middleBandLevel THEN
BUY PositionSize CONTRACT AT MARKET
ENDIF

// short
IF Not SHORTONMARKET AND Priceline CROSSES UNDER MiddleBand AND Priceline > shortPriceLevel THEN
SELLSHORT PositionSize CONTRACT AT MARKET
ENDIF

// close position
IF Time = SellTimeMorning OR Time = SellTimeAfternoon THEN
// long
IF LONGONMARKET THEN
SELL AT MARKET
ENDIF
IF SHORTONMARKET THEN
EXITSHORT AT MARKET
ENDIF
ENDIF

// stop and profit
SET STOP pLOSS sl
SET TARGET pPROFIT tp

ENDIF
Avatar du membre
shaka777
Stormtrooper
Messages : 141
Enregistré le : 17 nov. 2015 09:33

Re: Suivi de mon algorithme de trading Dax 30

Message non lu par shaka777 »

Anonymous99 a écrit :Bonjour,

Pour ceux qui préfèrent le lourd ;-)
résumé.JPG
stats.JPG
positions.JPG
Librement amélioré de cette souce http://www.prorealcode.com/prorealtime-trading-strategies/trend-surfer-dax/ :bravo:
Spoiler:

Code : #

// Trend Surfer DAX

// code-Parameter
DEFPARAM FlatAfter = 170000

// DAX trading window
ONCE BuyTimeMorning = 90000
ONCE SellTimeMorning = 110000
ONCE BuyTimeAfternoon = 150000
ONCE SellTimeAfternoon = 170000

// traders dynamic indicator
ONCE q = 14
ONCE r = 4
ONCE t = 29

// tdi filter parameter
ONCE longPriceLevel = 35
ONCE shortPriceLevel = 40
ONCE middleBandLevel = 40

// trading parameter
ONCE PositionSize = 1
ONCE sl = 4
ONCE tp = 8

// position management during trading window
IF (Time >= BuyTimeMorning AND Time <= SellTimeMorning) OR (Time >= BuyTimeAfternoon AND Time <= SellTimeAfternoon) THEN

// calculate TDI indicator
RSIasPrice = RSI[q](customclose)
Priceline = Average[r](RSIasPrice)
MiddleBand = Average[t]((RSIasPrice))

// open position
// long
IF Not LONGONMARKET AND Priceline > MiddleBand AND Priceline > longPriceLevel AND MiddleBand > middleBandLevel THEN
BUY PositionSize CONTRACT AT MARKET
ENDIF

// short
IF Not SHORTONMARKET AND Priceline CROSSES UNDER MiddleBand AND Priceline > shortPriceLevel THEN
SELLSHORT PositionSize CONTRACT AT MARKET
ENDIF

// close position
IF Time = SellTimeMorning OR Time = SellTimeAfternoon THEN
// long
IF LONGONMARKET THEN
SELL AT MARKET
ENDIF
IF SHORTONMARKET THEN
EXITSHORT AT MARKET
ENDIF
ENDIF

// stop and profit
SET STOP pLOSS sl
SET TARGET pPROFIT tp

ENDIF
Bonjour Anonymous99,

Félicitations pour ton travail et merci pour le partage.

Le backtest de la stratégie trend surfer dax est peut étre faux car l'entrée et la sortie se font sur la méme bougie, a voir en réel.

Sinon cette stratégie est trés intéressante.
Anonymous99

Re: Suivi de mon algorithme de trading Dax 30

Message non lu par Anonymous99 »

Même en simulant avec un slippage de 50% (spread 1.5) le résultat reste intéressant, mais je suis en effet pressé de pouvoir tester cela en réel lundi ;-)
spread 1.5.JPG
Avatar du membre
Beboo
Padawan
Messages : 491
Enregistré le : 21 avr. 2015 09:00

Re: Suivi de mon algorithme de trading Dax 30

Message non lu par Beboo »

Quel est ce soucis d'entrée et sortie sur la même bougie ? ProOrder ne sait pas le faire en réel ?
Avatar du membre
shaka777
Stormtrooper
Messages : 141
Enregistré le : 17 nov. 2015 09:33

Re: Suivi de mon algorithme de trading Dax 30

Message non lu par shaka777 »

En réel, il ne doit pas y avoir de probléme, mais en backtest le résultat est faussé.
Anonymous99

Re: Suivi de mon algorithme de trading Dax 30

Message non lu par Anonymous99 »

Merci Mat et shaka777 de m'avoir éclairé sur le sujet :mercichinois:

En effet "ProOrder - Probacktest : même code - comportement différent" : proorder-probacktest-meme-code-comporte ... t7937.html

Je vais voir pour continuer avec mes UT 6 voire 3 secondes ;)

Car le 5 minutes... Peut-être en 1 minute... A voir :roll:
Anonymous99

Re: Suivi de mon algorithme de trading Dax 30

Message non lu par Anonymous99 »

En effet, avec du recul j'ai compris que ce n'était pas du slippage dont il était question :musique:

100% d'accord avec toi (il devrait mieux le signaler) :top:
Merci encore une fois de m'avoir fait économiser mon capital demain :mrgreen:

Je vais creuser la question du TDI (Traders Dynamic Index) car cela me semble une bonne piste...

Pour ceux qui ne savent pas : "c'est un indicateur qui utilise le RSI (Relative Strengh Index) et construit les bandes de Bollinger du RSI. Il est composé de 5 courbes : Bolinger Up et Down du RSI, moyenne mobile associée aux Bollingers, RSI Price Line et Trade Signal Line (moyennes mobiles du RSI)."
Anonymous99

Re: Suivi de mon algorithme de trading Dax 30

Message non lu par Anonymous99 »

Si vous voulez tester un script basé sur les zones de surachat/survente du RSI ;)
RSI Andlil.JPG
Spoiler:

Code : #

DEFPARAM CumulateOrders = False
DEFPARAM PreLoadBars = 200
DEFPARAM FlatAfter = 194500

ONCE MorningS = 90000
ONCE MorningE = 123000
ONCE AfternoonS = 130000
ONCE AfternoonE = 173000
n = 1 // quotité

RSI14 = RSI[14](close)
ATR = AverageTrueRange[14](close)

AverageATR = Average[4 * 15](ATR) // 1h
SL = ATR * 1.6

IF (Month = 5 AND Day = 1) OR (Month = 12 AND (Day = 24 OR Day = 25 OR Day = 26 OR Day = 30 OR Day = 31)) THEN
DayTrading = 0
ELSE
DayTrading = 1
ENDIF

// Limitation bons jours et bonnes heures
IF (DayTrading = 1) AND ((Time >= MorningS AND Time <= MorningE) OR (Time >= AfternoonS AND Time <= AfternoonE)) THEN
trading = 1
ELSE
trading = 0
ENDIF

// Ni le lundi matin avant 09h30, ni le vendredi après-midi :
IF ((CurrentDayOfWeek = 1) AND (time < 093000)) OR ((CurrentDayOfWeek = 5) AND (time >= 130000)) THEN
trading = 0
ENDIF

IF (ATR > AverageATR * 3) OR (ATR < AverageATR * 0.20) THEN
trading = 0
ENDIF

// Conditions pour ouvrir une position acheteuse
IF trading AND (RSI14 CROSSES OVER 25) THEN
BUY n CONTRACT AT MARKET
SET STOP pLOSS SL
ENDIF

// Conditions pour fermer une position acheteuse
IF LONGONMARKET AND ((RSI14 CROSSES UNDER 35) OR (RSI14 CROSSES UNDER 25) OR (RSI14 CROSSES OVER 75)) THEN
SELL AT MARKET
ENDIF

// Conditions pour ouvrir une position en vente à découvert
IF trading AND (RSI14 CROSSES UNDER 75) THEN
SELLSHORT n CONTRACT AT MARKET
SET STOP pLOSS SL
ENDIF

// Conditions pour fermer une position en vente à découvert
IF SHORTONMARKET AND ((RSI14 CROSSES OVER 65) OR (RSI14 CROSSES OVER 75) OR (RSI14 CROSSES UNDER 25)) THEN
EXITSHORT AT MARKET
ENDIF
Avatar du membre
Epitaf
Compagnon Jedi
Messages : 1241
Enregistré le : 25 mai 2015 17:30

Re: Suivi de mon algorithme de trading Dax 30

Message non lu par Epitaf »

Je confirme les propos de mat, ces backtest sont faussés, peut être que certaines stratégies peuvent éviter ce calcul vicieux de proorder, cependant je ne conseille pas l'usage de ce logiciel pour créer une stratégie destinées au réel. Il doit rester un simple jeu vidéo.
Anonymous99

Re: Suivi de mon algorithme de trading Dax 30

Message non lu par Anonymous99 »

Je suis content du robot TDI en réel, on va devenir copain je pense ;-)
real TDI.PNG
Evidemment, pour ceux qui suivent il fallait modifier SL et TP avant un lancement en réel ;)
Mon choix :
ONCE sl = 30
ONCE tp = 50

Celui du créateur :
ONCE sl = 250
ONCE tp = 50
(mais pour info : "the backtest results are almost the same when working without tp/sl")

Ce n'est pas une surprise car il avait été testé en réel pas son très non créateur Reiner (http://www.prorealcode.com/user/reiner/) (dont je suis assez fan du travail) :top:

Sans mon "erreur" (en simulation) de SL et TP trop courts (mais corrigé avant le passage en réel grâce à vos retours) il tournerait depuis lundi au lieu de jeudi après-midi :mur:

C'est un peu le bazar dans la file, avec 3 systèmes de trading (et 4 versions)... Je vais voir pour ouvrir une file par angle d'attaque...
Avatar du membre
plataxis
Membre du Conseil Jedi
Messages : 5049
Enregistré le : 30 avr. 2014 03:12

Re: Suivi de mon algorithme de trading Dax 30

Message non lu par plataxis »

Ne t'emballes pas quand même : sur ton screen shot on voit un backtest de 100 unités de 5 minutes = 500 minutes soit 8 heures. Un backtest d'une journée de trading ne préjuge pas du lendemain...
Tanou

Re: Suivi de mon algorithme de trading Dax 30

Message non lu par Tanou »

Bonjour Anonymous99,

Des nouvelles de ton robot TDI?