Premiers pas vers l'utilisation de Points Pivots
Forums › ProRealTime forum Français › Support ProOrder › Premiers pas vers l'utilisation de Points Pivots
- This topic has 12 replies, 3 voices, and was last updated 8 years ago by Nicolas.
-
-
08/20/2016 at 8:05 AM #11935
Bonjour à tous,
Après m’être quelque peu excité pour obtenir des points pivots “fiables”, notamment le lundi, je vais pouvoir commencer à tester quelques stratégies sur les PP grâce à @Nicolas et @Noobywan qui m’ont bien aidé à résoudre ce problème et que je remercie.
Voici le premier essai, et il y a encore beaucoup de travail, mais cela semble prometteur.
Je suis sur le DAX, en UT 1 minute pour plus de fiabilité du backtest (1 seul trade possède le sl et le tp sur la même bougie pour ce BT), par contre ça manque d’historique …
Je pars du constat que bien souvent, le 1 er contact de la journée avec le Point Pivot est suivi d’un rebond, le second contact permettant souvent d’enfoncer le PP. Je cherche donc à capter ce 1er rebond.
Voici le code, et je suis certain que ceux d’entre vous qui ont plus l’esprit programmeur que moi auront des idées de simplification, et je suis preneur !
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253// Définition des paramètres du codeDEFPARAM CumulateOrders = FalseDEFPARAM Flatbefore = 090000DEFPARAM Flatafter = 173000// Détermination du Point PivotIF dayofweek <> 1 THENHt = DHigh(1)Bs = DLow(1)C = DClose(1)ENDIFIF dayofweek=5 THENHtfriday=Dhigh(0)BsFriday=Dlow(0)CFriday=Dclose(0)ENDIFIF dayofweek=1 THENHt = HtfridayBs = BsFridayC = CFridayENDIFPivot = (Ht + Bs + C) / 3// Trader uniquement le premier rebond sur PivotIF intradaybarindex = 1 THENuntradeparjour = 0ENDIFIF (Barindex-TradeIndex) = 0 THENuntradeparjour=1ENDIF// L'ouverture s'est faite au dessus du PivotIF TIME = 090000 AND Close > pivot THENCdtOuv = 1ELSIF TIME = 090000 AND Close < pivot THENCdtOuv = 0ENDIF// Positionnement de l'ordre LIMITIF CdtOuv=1 AND untradeparjour = 0 THENBUY 1 CONTRACT AT pivot LIMITENDIF// Stops et objectifsSL = 22TP = SLSET TARGET pPROFIT TPSET STOP pLOSS SLA vos commentaires !
AstonAddict
08/20/2016 at 7:43 PM #11974Merci pour le partage, c’est très important et aussi rassurant sur le fait que l’on aide pas les personnes “pour rien” ou “dans le vide”. Qu’on ne le prenne pas mal, c’est jusque que parfois un merci ou une petite tape sur l’épaule et bien, ça fait bien plaisir 🙂
Concernant la stratégie:
1/ Tu as aussi tester les ventes sur le même principe ?
2/ Ton risk/reward ratio est de 1. Puisque tu as plus de trades gagnants sur cette période, alors tout va bien. Les périodes où on devait chuter sous la barre des 50% de trades gagnants, le grignotage de profit pourrait s’avérer difficile à surmonter.
3/ A l’instar de la stratégie Breakout du matin sur le cac40, l’inversion de trade en cas de perte sur stoploss pourrait peut-être, être une solution au point 2.
4/ L’ajout d’un trailing stop pour augmenter le RR est aussi peut-être une solution au point 2.
08/21/2016 at 9:43 AM #11980De rien Nicolas, c’est tout naturel.
J’ai de nombreuses idées à tester sur des stratégies Intraday uniquement avec les PP. Mais comme ça va me prendre un temps fou car je bataille pas mal avec la programmation, j’ai juste voulu poster mon brouillon 😉
1/ Entre autres, je vais tester :
- les rebonds sur d’autres pivots, notamment le S2 qui semble assez intéressant
- des trades en short pour les journées négatives
- modifier le TP en vendant sur le pivot suivant ex : PP -> R1
- …
2/ Concernant le RR à 1 j’ai fais le même constat, c’est pour cela que j’ai aussi codé si tu t’en souviens, un indicateur de taux de réussite de mon système pour moduler mon MM et la taille de mes positions en fonction. Cependant, j’aime bien aussi ces systèmes où le RR est à 1 et que je pilote le taux de réussite, c’est assez lisible et mon premier système sur le RSI qui tourne en réel pour l’instant ne me fait pas défaut.
3/ je testerai.
4/ Au sujet du trailing stop en intraday, je ne suis pas super convaincu. Cela semble plus efficace en swing sur UT longue. Ici par exemple, si je veux prendre 22 points de gain avec un trailing, il faut que la stratégie gagne 44 et redescende de 22 pour que le stop soit touché. C’est rageant de reperdre la valeur du trailing, mais bon c’est aussi rageant de ne pas profiter d’un mouvement plus ample… Mon test sur mon premier système m’avais amené à travailler sans trailing et il fonctionne bien en réel actuellement comme ça.
Je vais retester le trailing d’autant que j’ai cru comprendre que depuis la 10.3 SET STOP pTRAILING n’est plus rejeté par ProOrder, tu me dis si je me trompe.
Je reviendrai poster dans ce fil sur mes différents essais.
08/21/2016 at 9:55 AM #11982Au sujet du 4/ et le trailing, on peut en effet utiliser cette version (je pense que tu parles de celle-ci : http://www.prorealcode.com/blog/learning/trailing-stop-max-favorable-excursion-mfe/ )
Si oui, on pourrait changer le pas de retracement du trailing au lieu de conserver 1 seul paramètre qui à la fois enclenche le trailing stop et joue le rôle de pas pour le mouvement du stoploss:
J’ai introduit la variable “step” au début du code (soit le pas de retracement accepté pour fermer la position en gain sur trailing) et modifier le calcul des prix de sorties en conséquence (pas testé):
1234567891011121314151617181920212223242526272829303132//trailing stoptrailingstop = 20step = 5//resetting variables when no trades are on marketif not onmarket thenMAXPRICE = 0MINPRICE = closepriceexit = 0endif//case SHORT orderif shortonmarket thenMINPRICE = MIN(MINPRICE,close) //saving the MFE of the current tradeif tradeprice(1)-MINPRICE>=trailingstop*pointsize then //if the MFE is higher than the trailingstop thenpriceexit = MINPRICE+step*pointsize //set the exit price at the MFE + step price levelendifendif//case LONG orderif longonmarket thenMAXPRICE = MAX(MAXPRICE,close) //saving the MFE of the current tradeif MAXPRICE-tradeprice(1)>=trailingstop*pointsize then //if the MFE is higher than the trailingstop thenpriceexit = MAXPRICE-step*pointsize //set the exit price at the MFE - step price levelendifendif//exit on trailing stop price levelsif onmarket and priceexit>0 thenEXITSHORT AT priceexit STOPSELL AT priceexit STOPendif1 user thanked author for this post.
08/21/2016 at 6:54 PM #12001Tu vois j’ai lancé vite fait deux optimisations de variable (x) :
- tableau de gauche -> SL=TP = (x) -> profit curve verte
- tableau du milieu -> Trailing à (x) -> profit curve bleu
Avec SL=TP, le backtest (fiable car UT 1min) est positif dans tous les cas et une profit curve plus régulière, alors qu’en trailing, c’est déjà beaucoup plus aléatoire.
Je ne sais pas si le trailing est adapté à de l’intraday. A titre perso tu l’utilises avec succès en intraday ?
08/21/2016 at 10:34 PM #12014Merci pour le partage.
Quelques idées:
- Il serait peut être intéressant de faire évoluer SL et TP en fonction de la nervosité de l’indice du type valeur fixe + ou – pourcentage du range Dhigh / Dlow de la veille.
- Et peut être en alternative au stop suiveur limiter le trade à un nombre maxi de bougies.
- Varier le nombre de lot si le PP se trouve ou non à proximité d’un niveau symbolique.
08/22/2016 at 10:10 AM #12022Tu n’as pas utilisé le code modifié du trailing? Car il y aurait 2 variables à optimiser, le trailingstop et le step.
En intraday, oui c’est couramment utilisé mais en effet cela peut ‘casser’ les courbes de résultats. Dommage que l’on est pas plus d’historiques en M1.
08/22/2016 at 10:28 AM #12023Pour l’historique, je crois que je vais ouvrir un compte PRT.CFD pour être en Premium plutôt que IG en direct.
Pour le training non, mais je vais essayer de pousser la logique d’utilisation des PP y compris pour déterminer mon SL et mon TP.
J’ai fixé un SL a 25 et le TP sur un niveau Fibonacci appliqué à l’écart entre PP et Res1 avec un minimum de 25.
Comme cela mon Risk/Reward par trade est au minimum à 1 mais peut être supérieur.
Je tombe à 60% de trades gagnants mais les gains sont supérieurs !
08/22/2016 at 4:15 PM #1205808/22/2016 at 6:20 PM #12063Je viens de tester vite fais en UT 2 minutes pour avoir un peu plus d’historique. 2 trades ont le SL et le TP sur la même bougies seulement.
Ca marche mais ça doit être amélioré. cf PJ
Il faut que je change une condition, aussi bien pour les positions longues d’ailleurs. Je ne dois plus vérifier si le cours était supérieur ou inférieur au pivot à l’ouverture, mais il faut que je trouve un moyen de savoir si les cours arrivent par le haut ou par le bas vers le point pivot. Avec une moyenne peut être mais c’est pas évident. Je vais chercher.
PS : j’ai oublié de préciser que je backtest avec un spread à 1
08/23/2016 at 7:43 AM #12097Tu peux tester l’accumulation du prix sous et sur le point pivot sur les x dernières bougies, tu auras alors une idée si le prix est contenu au dessus ou en dessous. Par ailleurs, si tu constates que c’est 50/50, tu peux ainsi considérer une consolidation autour du pivot qui peut ne pas être bonne pour ta stratégie. Une idée en l’air amène d’autres idées, etc.. On en finit jamais 🙂
08/23/2016 at 9:01 AM #12100Ok je vais tester. Je ne connais pas bien cet indicateur, mais je crois que ça fait intervenir le volume, ce qui risque de ne pas passer avec les CFD.
08/23/2016 at 11:04 AM #12109Non pas de volume, tu fais une somme du nombre de bougies sur X en arrière pour vérifier si les Close sont en dessous ou au dessus du point pivot. Si cette somme est supérieure à plus de Y pourcent du total de X au dessus de ton point pivot alors le prix était accumulé au dessus et le rebond que tu détectes est bien un rebond sur support du point pivot.
Ton problème est bien de savoir si il faut poser un BUY ou un SELL limit ? Si oui dans ce cas ça doit faire l’affaire, c’est juste une idée…
-
AuthorPosts
Find exclusive trading pro-tools on