bonjour à tous, je m’intéresse de plus en plus au trading algorithmique sur PRT et merci pour ce super site. je teste actuellement une stratégie basée sur le simplified supertrend w/o atr (trouvé sur ce site). les résultats en backtests me paraissent plutôts corrects en UT 4h. c’est une stratégie simple. Pouvez vous me dire ce que vous en pensez ? et les améliorations à trouver ? je ne sais pas coder ; j’utilise la programmation assistée sur PRT. j’ai mis le code en pièce jointe. merci d’avance. Ludovic
Bonjour
Je reprend la question posez par Segard
Que pensez vous de cette stratégie ?
Merci
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
// Conditions pour ouvrir une position acheteuse
indicator1 = CALL "simplified Supertrend w/o ATR"[0.0004]
indicator2 = CALL "simplified Supertrend w/o ATR"[0.0004]
c1 = (indicator1 > indicator2[1])
IF c1 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Conditions pour ouvrir une position en vente à découvert
indicator3 = CALL "simplified Supertrend w/o ATR"[0.0004]
indicator4 = CALL "simplified Supertrend w/o ATR"[0.0004]
c2 = (indicator3 < indicator4[1])
IF c2 THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// Stops et objectifs
SET STOP pTRAILING 10
Comment faire pour remédier à ce problème
Merci
ou pas ! Il peut se passer parfois plus de 2 heures après un message pour qu’on y réponde, est-ce anormal ? Merci pour votre patience, et je ferai de même 😉
Le temps est relatif selon la théorie de la relativité, il semble s’allonger énormément en période de confinement, je peux comprendre 😆
Le message est clair : les variables dans l’optimiseur ne permettent pas de passer le programme en trading réel, puisque le module ProOrder ne sait pas dans ce cas de figure, quelles sont les valeurs à utiliser. Donc il faut les ajouter à la main en tête de code.
Hors le programme en question ne comporte aucune variable à utiliser, donc celles présentes dans ta fenêtre ProBacktest proviennent d’un autre programme et sont donc inutiles. Donc comme le message l’indique, tu dois les supprimer.
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
// Conditions pour ouvrir une position acheteuse
indicator1 = CALL "simplified Supertrend w/o ATR"[0.0004]
indicator2 = CALL "simplified Supertrend w/o ATR"[0.0004]
c1 = (indicator1 > indicator2[1])
IF c1 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Conditions pour ouvrir une position en vente à découvert
indicator3 = CALL "simplified Supertrend w/o ATR"[0.0004]
indicator4 = CALL "simplified Supertrend w/o ATR"[0.0004]
c2 = (indicator3 < indicator4[1])
IF c2 THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// Stops et objectifs
SET STOP pTRAILING 10
ONCE direction = 1
ONCE STlongold = 0
ONCE STshortold = 1000000000000
indicator1 = medianprice
indicator3 = close
indicator2 = indicator3 * factor
STlong = indicator1 - indicator2
STshort = indicator1 + indicator2
If direction = 1 and STlong < STlongold then
STlong = STlongold
endif
If direction = -1 and STshort > STshortold then
STshort = STshortold
endif
If direction = 1 and indicator3 < STlong then
direction = -1
endif
If direction = -1 and indicator3 > STshort then
direction = 1
endif
STlongold = STlong
STshortold = STshort
If direction = 1 then
ST = STlong
else
ST = STshort
endif
Return ST as "simplified Supertrend"
Bonjour Nicolas, désolé effectivement tu as raison confinement oblige.
Par contre je ne comprend pas ta réponse peux tu m’aider avec les codes envoyé sur PRT s’il te plait.
Aussi cette stratégie me semble vraiment trop belle pour être vrai qu’en pense tu ?
Je patiente … merci à toi.
Voir dans l’image ci-jointe. Clique sur la clé et supprime toutes les lignes des variables.
Malheureusement c’est pareil
Il faudrait tenter de fermer la fenêtre en enregistrant le code ou de lancer un backtest pour valider ces modifications, puis de retenter l’envoi vers ProOrder.
j’ai fait mais c’est pareil, je comprends pas
peut être un problème avec le code de programmation…
Ca hé Nicolas c’est bon !
J’aimerai bien avoir aussi ton avis sur cette stratégie.
Merci à toi et bonne soirée
Bonjour Nicolas,
Pourquoi les résultats en réelle de celui -ci ne corresponde pas du tout au backteste en démo. ?
Merci.
Bonjour,
le backtest est effectué sans les données tick par tick
En effet et donc les niveaux de stoploss gérés par le trailing stop ne sont pas testés précisément en backtests, d’où la différence.
Toujours faire ses backtests avec l’option tick par tick coché !