Bonjour tout le monde.
Voici une idée de backtest.
C’est inspiré de la stratégie “3 bars” de Larry Williams. Il s’agit d’une stratégie d’O. Seban, il me semble (j’avais le code depuis longtemps, mais je l’ai réadapté).
On entre en position sur rebond sur les moyennes mobiles 3, en gros.
La courbe de progression me paraît belle, trop belle.
Voyez-vous des double stop loss / take profit sur les mêmes bougies (en ce cas, PRT compte le profit, pas le stop) ?
Je n’ai pas l’impression d’en voir beaucoup… j’aimerais votre avis pour savoir si mon backtest est viable.
Grand merci !
// Définition des paramètres du code
DEFPARAM CumulateOrders = false // Cumul des positions désactivé
//capital = 10000 + strategyprofit
//n = (capital / 10000) *2
n = 2
// ACHAT
MM3LOW = Average[3](low[1])
MM3HIGH = Average[3](high[1])
IndicMACD = MACD[12,26,9](close)
c1a = (IndicMACD > 0)
NivOuverturePasse = Open[6]
// Conditions pour acheter
IF c1a AND NivOuverturePasse < MM3LOW THEN
BUY n SHARES AT (MM3LOW-0.0010) limit
ENDIF
// Conditions pour fermer une position acheteuse
SELL AT (MM3HIGH) limit
// VENTE A DECOUVERT
c1v = (IndicMACD < 0)
NivOuverturePasse2 = Open[9]
// Conditions pour vendre à découvert
IF c1v AND NivOuverturePasse2 > MM3HIGH THEN
sellshort n SHARES AT (MM3HIGH) limit
ENDIF
// Conditions pour fermer une position vendeuse
exitshort AT (MM3LOW+0.0010) limit
//set stop %loss 0.3
Bonjour j’apprécie votre optimisme mesuré car ça change parfois quand on passe en exécution réelle mais je viens de backtester sur d’autres timeframes et quelques autres paires et la courbe reste bonne et assez régulière dans la majorité des cas mais pas tous. à suivre bonne journée
Madrosat
Comment fait on pour effacer un commentaire dans ma première réponse j’ai fait une faute que je voudrais effacer??
@Madrosat
C’est fait ! 🙂
@Doctrading
Je pense que les bonnes performances pourraient venir de tes ordres LIMIT pour sortir de positions. Pour vérifier tu pourrais créer un indicateur avec les conditions d’entrées/sorties sur le graphique des prix et le comparer avec les flèches du backtest.
Bonjour,
Oui, je voulais essayer de programmer un tel indicateur, mais je me heurte à un petit problème :
je ne sais pas comment faire pour que l’indicateur ne soit présent que de 09H à 09H30 (ou pour toute autre durée de breakout).
Si par exemple je programme un indicateur sur les plus hauts des 10 dernières périodes, il s’affichera partout.
Sais-tu comment faire pour qu’il ne s’affiche que pour certains horaires ?
Merci
Tu l’affiches en mode point et tu mets ta variable à 0 quand tu ne souhaites pas qu’il soit visible.
Merci.
En fait je me suis trompé de post, je voulais un indicateur pour définir un range sur une période donnée (par exemple 00H à 08H ou 09H à 09H30 comme pour le Breakout ProOrder), et ne s’afficher qu’à certains horaires.
Ceci pour une autre stratégie que je teste.
En tout cas merci pour ton aide.
Je n’ai pas mis de stop loss, donc aucun risque de voir SL et TP sur la même bougie.
Et pourtant, le test est positif avec EUR/USD, AUD/USD, GBP/USD, etc.
J’ai vérifié manuellement beaucoup de positions : pas d’erreurs.
Je pense donc que ma stratégie semble fiable.
Reste à l’optimiser, je pense la tester en démo.
Evidemment, ce n’est pas non plus miraculeux (15,47% sur EUR/USD en graphes H4, drawdown max 2500 euros sur 10.000 euros, soit environ 7,88% en relatif).
Une bonne idée à creuser.
Je vais essayer de l’améliorer, et de la poster dans la rubrique “Library”.
15.47% sur quelle période? 1 Année? Si oui, et si tu peux le renouveler pendant 3 ans avec le même drawdown%, alors j’en connais beaucoup chez qui ça susciterait beaucoup d’intérêt. Un rendement de 15% annuel et fiable, au contraire c’est miraculeux. En baissant l’exposition et en l’ajoutant à un portefeuille diversifié, tu as un winner.
Tu devrais vérifier tout de même que tes ordres LIMIT sont bien exécutés au prix où tu les demandes, sans cela le live ne sera pas aussi viable que tes backtests.. désolé 🙂
15,47% sur 16,5 années en moyenne (en graphes H4 sur le test).
Je vais bien vérifier mes ordres évidemment (c’est très piégeur en backtest tous les ordres stop et limit).
L’idée de la stratégie et le code original (que j’ai amélioré) me vient de quelqu’un… qui m’a donné un code qui m’avait fait perdre beaucoup !
Je reste donc prudent… mais si je l’optimise je l’ajouterai à mes stratégies.
Ce qui est curieux, c’est que sur cette bougie en H4 (cf capture d’écran), comme sur beaucoup d’autres, je vois affiché “2 ORDRES”.
Or, j’ai bien spécifié : Defparam cumulateorders = false (pas de cumul d’ordres).
Comment l’interpréter ?
Qu’en pensez-vous ?
Je pense que c’est l’ouverture et fermeture sur la même bougie selon tes conditions
Bien à toi
Zilliq
Merci Zilliq,
c’est ce que je pensais aussi.
Mais ce qui est curieux, c’est que des fois j’ai l’impression d’avoir 2 points d’entrée sur la même bougie, 2 ordres “sell” ou “buy” sur la même bougie lorsqu’il me met “2 ordres”, en plus de la clôture (cf capture d’écran plus haut : on voit clairement 2 points d’entée).
En tout cas avoir l’ouverture et la clôture sur la même bougie me gêne, car même si la plupart du temps c’est bon (si la bougie est dans le bon sens), beaucoup de fois le backtest sera surestimé donc non fiable.
Je vais encore essayer de revoir cela.
Bonne journée
Oui c’est normal pour moi ce phénomène, tu as 2 signaux sur la même bougie 1 achat et 1 vente et l’un supprime l’autre, puisque on ne peut pas avoir les deux sens en même temps.
Comme tu poses des ordres LIMIT à un certain seuil de prix, si les 2 seuils ACHAT et VENTE sont testés sur la même bougie, les deux ordres seront exécutés et l’un supprimera l’autre.
Merci Nicolas.
Je vais étudier le backtest de près et voir s’il est viable ; car achat et revente sur la même bougie, ça ne me plaît pas, c’est souvent faussé car en fait le niveau de vente peut arriver avant le niveau d’achat => on ne revend que bien plus tard, donc backtest faux.
Dommage, car sur certaines paires la stratégie semble hautement profitable.
Cependant j’ai déjà résolu partiellement le problème en mettant une clôture à au moins une bougie d’écart.