ProRealTime
Pour discuter sur l’interface de ProRealTime Software, nos configurations graphiques...

Re: Backtesting horaire

par clodreb » 26 janv. 2014 10:41

Bonjour à tous,

je fais appel aux habitués du backtest, voici un petit problème que je n'arrive pas à résoudre.
j'ai un backtest avec :
-un critère de prise de position longue
-un critère de prise de position courte
- chaque fois qu'un critère est satisfait, si on a des positions ouvertes dans le sens contraire, on les clôture et on ouvre une position dans le sens du critère avec max 5 positions dans le même sens.
- si le montant global des pertes est > x , je veux clôturer toutes les positions et bloquer toute nouvelle prise de positions sur la journée concernée mais continuer les backtests pour les journées suivantes.

Mon problème est que je n'arrive pas à bloquer les nouvelles positions sur la journée concernée.
j'avais mis :

if date > dateblocage then
code pour le backtest proprement dit
endif

IF STRATEGYPROFIT > X THEN
if longonmarket then //on vend les positions longues
sell at market
else //on achète les positions courtes
exitshort at market
endif
dateblocage=date
endif


le problème avec ce code est que je bloque bien les nouvelles positions pour la date "dateblocage" mais le backtest ne continue pas quand date=dateblocage+1

quelqu'un aurait-il une idée de solution pour ce type de problème ?

Merci d'avance.

Re: Backtesting horaire

par falex » 27 janv. 2014 10:29

clodreb a écrit : if date > dateblocage then
code pour le backtest proprement dit
endif

IF STRATEGYPROFIT > X THEN
if longonmarket then //on vend les positions longues
sell at market
else //on achète les positions courtes
exitshort at market
endif
dateblocage=date
endif


le problème avec ce code est que je bloque bien les nouvelles positions pour la date "dateblocage" mais le backtest ne continue pas quand date=dateblocage+1

quelqu'un aurait-il une idée de solution pour ce type de problème ?

Merci d'avance.
Hi Cloreb, je n'ai pas encore regardez dans le détail mais ma première remarque :
La commande exitshort ne te fais pas passer short quand tu es long, mais elles cloture une positio short, that's all.

Si tu veux inverser une position = (cloture + ouverture dans l'autre sens)

Code : #

If longonmarket then
  Sell 1 shares at market
elsif shortonmarket then
  Buy 1 shares at market 
endif
J'ai commencé à m'interesse a la fonction StrategyPorofit mais ça ne fonctionnait pas comme je m'y attendais et pour l'instant j'ai laissé tombé.

Je vais te retrouver mes bout de code pour faire un/x trades par jour.

Re: Backtesting horaire

par clodreb » 29 janv. 2014 19:04

non, non .
l'inversion de position se fait dans un paragraphe que je n'ai pas mis.
quand on passe dans le code "STRATEGYPROFIT" , je veux tout clôturer et bloquer la journée ...voir plusieurs.
et reprendre le cours du backtest proprement dit au lendemain.

"Je vais te retrouver mes bout de code pour faire un/x trades par jour."

si tu retrouves ce bout de code, oui, ça m'intéresse :merci:

Re: Backtesting horaire

par falex » 16 févr. 2014 21:17

Rapide petit passage pour :
Confirmer qu'avec l'historique allonge le j1 et j3 dont bien constante et que pour j2, j4 et j5 faut trouver autre chose.

Ces derniers temps j'ai testé deux approche de MM.

Une que j'ai exposé : premier trade = X lots.
Si le trade est gagnant je diminue d'un lot X-1
Et ainsi de suite
Si un trade est perdant je redémarre à X lots.
L'objectif est de réduire l'exposition à chaque trade car on ne sait jamais quand un trade perdant va arriver.

Une deuxième inspiré de Ryan Jones et son Fixed frationnal Ratio.
À chaque trade je regarde la capital gagne que je divise par un nombre D.
Le chiffre obtenu est le nombre de lot mettre en jeu au prochain trade.
Je cap et flooré le nombre de lot : j'ai choisi de limiter entre 1 et 10 mini lots DAX.

Si j'applique, indépendamment, ces deux méthodes d'évaluation du nombre de lot pour chaque trade je peux observer que :
Le j3 à 8:45 fonctionne très bien avec l'un ou l'autre méthode de MM.
Le J1 à 9:30 fonctionne très bien avec la première méthode et moins bien avec la deuxième.

D'autres heures apparaissent comme étant intéressante ...

J'essaye de donner du levier tout en limitant le risque ... Pas facile :)

Je vais affiner ma réflexion cette semaine.

Re: Backtesting horaire

par Greg31600 » 17 févr. 2014 13:02

falex a écrit :Une deuxième inspiré de Ryan Jones et son Fixed frationnal Ratio.
:arrow: Que je trouve personnellement très pertinente :!:

Re: Backtesting horaire

par falex » 17 févr. 2014 15:13

J'ai simplifie la formule plutôt que de faire "N = 0.5 * [(1 + 8 * P/delta)^0.5 + 1]" dans le backtest je fais un simple N=P/Delta ce qui revient quasi au même, je monte moins vite dans le nombre de lot mais au final c'est bien là l'essence même de sa formule "P/D" ...

---

Pris d'un remord j'ai fait tourner la moulinette en mettant la formule de l'ami Ryan J.

1) ça confirme ce que je pensais : ça ne change pas fondamentalement la donne par contre cela change quelque détails :
1.1) avec la formule de RJ le nombre de position croit un peu moins vite
1.2) de ce fait le profit factor est amélioré de quelque points puisque mécaniquement on est moins exposé/moins rapidement.

Re: Backtesting horaire

par falex » 02 avr. 2014 15:50

Alors que je cherchais à voir le résultat d'un pyramidage sur le trade du mercredi à 9h45 / UT15, j'ai en fait trouvé un super filtre pour éliminer les faux trades. J'explique :

Le principe du test est toujours le même : sur cloture de la Bougie de 9h45 le mercedi je rentre dans le sens contraire avec un TP + 31 (hors spread) et un SL à -25.
Partant de là, j'ai fait un test où je ne rentre pas sur l'open de la Bougie de 10h00 comme avant mais en décalé dans le sens positif.
Exemple aujourd'hui la Bougie est rouge et cloture à 9624 = Le trade sera long.
Je rentre alors en position si on fait +10 points dans le bon sens soit 9634. Je garde les niveaux de TP et SL comme avant -> 9624 + 31 et 9624 - 25.
Si le niveau d'entrée décalé n'est pas atteind avant le niveau de SL d'origine alors je ne fais rien de la journée.

Et bien le truc hallucinant et que si j'optimise le niveau de décalage et si je compare avec le niveau normal, et bien j'améliore nettement le taux de trade gagnant et le nombr de fois où je ne rentre pas en trading.
En chiffre ça donne :
Sans décalage : profit factor global de 1,94 / gain de 731 points (spreadé) en 87 trades (TP + 31/ SL -25)
Avec un décalage de 5 point : profit factor global de 2,99 / gain de 838 point en 70 trade (TP +26 / SL -30)

Donc :
1) je trade moins (17 trade, soit 20% de trade en moins),
2) malgré un TP/SL respectivement réduit et augmenté de 5points je gagne 15% de points en plus !!!
3) Si le trade ne part pas tout de suite dans le bon sens (et que de 5 point ce qui est rien sur le DAX) il ne faut pas le prendre.

Excellent !!! Voilà un très bon filtre.

Re: Backtesting horaire

par Arnaud_vh » 02 avr. 2014 20:00

C'est intéressant car ça rejoint un article que j'ai lu il n'y a pas longtemps qui expliquait qu'il valait mieux entrer/sortir décalé temporellement par rapport aux bougies d'ut standard ( genre 5,10,15,30 ...) car c'est le moment où la masse fait ses entrées/sorties et ça permet de voir dans quel sens sont positionnés les gros. Ou alors se baser sur des UTs plus éxotiques (si on peut) genre 3, 7, 11, etc.
Je pense que le fait de décaler ton niveau d'entrée est une extension cette idée puisque qu'en décalant le niveau tu décales le moment d'intervention.

Re: Backtesting horaire

par falex » 04 avr. 2014 22:46

J'ai donné dans l'ut décalé. Seul souci ce n'est pas dispo sur les appli mobiles de nos chers brockers ...
L'ut 20 était la préféré.

Merci pour ton retour Arnaud.

Re: Backtesting horaire

par falex » 05 avr. 2014 12:50

HI je veins de faire tourner l'optimisateur de bactket de prt sur le code "Trendy" avec entrée décalé : même constat que pour le contrarient : Une entrée de simplement 5 points dans le bon sens si le le niveau SL n'est pas touché en premier, permet d'éliminer les 5/10 trades parasites sur les 90 de l'historique.
Ce qui me rassures c'est que ce n'est pas lié simplement à la stratégie contrariante. Je testerai sur d'autres stratégie en stock pour valider l'application universel ce ce type de filtrage.

Tout ceci me fais cogiter dur dur pour me remettre en plein dans mon trading automatique, ... faut que j'affine encore un peu. Le potentiel est là, ça ne fait aucun doute.

Sujets similaires
backtesting horaire cash
par LVO » 21 févr. 2014 10:05 (4 Réponses)
backtesting : utile ??
Fichier(s) joint(s) par kapistar » 09 févr. 2013 09:06 (25 Réponses)
Backtesting PRT
par thomas1531 » 04 juil. 2013 00:21 (8 Réponses)
Backtesting Most important ?
par GOLDS » 27 déc. 2013 23:10 (15 Réponses)
reglage fenetre backtesting
par adibool » 24 févr. 2014 15:25 (4 Réponses)
Avis sur backtesting
par Tulipe » 14 juin 2014 01:18 (10 Réponses)
Petite question sur le backtesting
par Benoist Rousseau » 04 mars 2015 11:44 (9 Réponses)
HELP Backtesting - stop loss pas exécuté !
par plataxis » 29 juil. 2016 17:49 (3 Réponses)
Backtesting
par Benoist Rousseau » 04 août 2017 15:12 (12 Réponses)