sortie d’achat non respectée
Forums › ProRealTime forum Français › Support ProOrder › sortie d’achat non respectée
- This topic has 15 replies, 3 voices, and was last updated 2 years ago by Nicolas.
-
-
06/08/2022 at 9:34 AM #194889
Bonjour Nicolas, j’ai un algo sur le Dax H1 qui commence à donner des résultats corrects. Je ne comprends pas pourquoi dans 2 positions à l’achat (sur 177 positions sur une période de 10K) les critères de sortie ne sont pas respectés par l’algo alors que dans l’ensemble çà se passe bien : le backtest me donne 55% de réussite avec un taux de conversion de 1,99 . Mais ces 2 positions m’apportent 2 pertes impressionnantes incompréhensibles , car les critères de sortie sont d’après le graphique respectés. Pourriez-vous m’apporter votre expertise sur ce pb ? si oui comment dois-je procéder ?
Cdlmt, JP
06/08/2022 at 10:32 AM #194891Bonjour, pas de soucis pour t’aider à comprendre ces événements avec ta stratégie.
2 possibilités :
- poster le code ici et nous indiquer les détails des 2 positions problématiques afin de reproduire et de résoudre
- me contacter pour une assistance privée (et payante) via le formulaire dédié du site: https://www.prorealcode.com/trading-programming-services/
06/08/2022 at 2:11 PM #194909Ok merci, je considère pas mon projet comme ultra secret !!!! donc je joins le code dans son état sachant qu’il aura sans doute besoin de qq améliorations.
La période de backtest est sur 10K en H1. Les 2 positions évoquées sont (en remontant le temps) :
1 – entrée 23/7/2020 10h00 sortie 4/8/2020 soit 190 B !!sans sortie et une perte de 633€
2 -entrée 3/5/2019 13h00 sortie 15/5/2019 10h avec une perte de 448€
J’ai essayé de positionner un stploss à 400€ mais là aussi je ne comprends pas il n’set pas pris en compte ???
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105// DJ- par JP en H1 nouvelle version v2 dernière modif 6/6/2022// version provisoire en achat uniquement//DEFPARAM CumulateOrders = false // Cumul des positions activéDEFPARAM Preloadbars = 8000AchatOK=1//VenteOK=0nA=1//nV=1// *** periode time ***********CtimeA= time>081000 and time<190000 // 8h10 19h00// *** filtre Moy MobM200 = Average[173](open) // 173T200B=M200<M200[6]T200H=M200>M200[3]M100=average[115](close)T100H=M100>M100[3]MH50=HullAverage[55](close) // v1 55TH50H=MH50>MH50[1] // dmmh50H=1TH50B=MH50<MH50[1] // =2M8=Average[6](open) // v1 6if MPmoy CROSSES OVER MH50 thenca1=1cv1=0endifif MPmoy CROSSES UNDER MH50 thencv1=1ca1=0endif// *** filtre Parabolic SAR ***Indsar=SAR[0.02,0.021,0.20]csarv=close<Indsarcsara=close>Indsar// *** filtre MACD ****C = 12L = 26MMC = exponentialAverage[C](close) //MML = exponentialAverage[L](close)MACDligne = MMC - MMLligne = exponentialAverage[9](MACDligne)MACDHisto = MACDligne - lignecmacdA=MACDHisto>MacdHisto[9] // v1 9// *** filtre amplitude ****campl=abs(close-open)>4// Poids moyenPoids=(close-open)/2+openMPmoy=average[3](Poids)MPmoy1=MPmoy[1]// *** filtre rsi ***IndrsiA = RSI[12](close) // v1 12crsiA = IndrsiA >= 63 and IndrsiA<76 // v1 s1 63// *** sortie de Achats ********************// Conditions pour fermer une position acheteuseif longonmarket thenc1stpA= close < M8c2stpA = close < MPmoyc3stpa=MPmoy<MPmoy1c6stpa=close<open[2]// =2IF cv1 and csarv thenif c1stpA AND c2stpA and c3stpa and c6stpa THEN //STPA=1ENDIFendifIF STPA thenSELL AT MARKETSTPA=0ENDIFendif// *********** ACHATS ********************IF not longonmarket and CtimeA THEN// Conditions pour ouvrir une position acheteuseif AchatOK thenca2 = close > MH50ca4 = MH50 > MH50[1] // v1 1ca6 = (close > open)IF T200H AND T100H AND ca2 AND ca4 and ca6 and csara and csara[1] AND cmacdA AND crsiA AND campl THENBUY nA CONTRACT AT MARKETENDIFendifENDIFau passage dans les résultats du backtest à quoi correspondent les valeurs MFE et MAE ?
Merci pour ton aide,
Cdlmt, JP
06/09/2022 at 9:09 AM #19496006/09/2022 at 12:00 PM #194973Bonjour Nicolas et merci pour ce 1er retour. J’ai effectivement transformé chq condition en indicateur et bien vu sur les positions la coïncidence effective qui aurait dû déclencher un stop.
Mais déjà mes excuses pour les infos de contexte, les positions évoquées sont obtenues sur une période de 30k et pas 10k comme je l’avais mentionné.
Je peux te donner les valeurs des différents paramètres sur la zone où normalement le stop doit être activé, mais celà ne va-t-il pas alourdir le forum ??
Qu’appelles-tu Graph ? à introduire dans l’algo ?
06/09/2022 at 12:43 PM #194975Bonjour,
Doc du site pour instruction graph: https://www.prorealcode.com/documentation/graph/
A mettre en fin de stratégie, pour afficher le comportement des variables, très utile pour débugguer son code.
Voir aussi graphonprice si besoin: https://www.prorealcode.com/documentation/graphonprice/
06/09/2022 at 9:10 PM #19500206/10/2022 at 7:53 AM #195006Bonjour à tous,
j’ai fait le test avec graph (ci-joint le scan des résultats. Sur les 6 variables qui déclenchent le stop c’est “cv1” (en rouge dans graph) qui ne fonctionne pas.
cv1 est un flip flop généré par le passage au-dessus ou en-dessous de la moyenne MPmoy (poids moyen de la bougie ) en noir sur le graphique par rapport à la moyenne Hull à 55 en marron.
On constate que la bascule ne se fait pas systématiquement. Cette bascule est génére par les instructions crosses over et crosses under .
Je pense que le pb vient de ces 2 instructions, qu’en pensez vous ??
06/10/2022 at 8:17 AM #19500906/10/2022 at 12:47 PM #195045ok, c’est fait: à part quelques petits écarts minimes les courbes se superposent parfaitement, donc les calculs se déroulent de la même façon dans l’algo et sur le graphique…
J’ai vraiment des doutes sur l’exécution des ordres “crosses” , je vais faire des tests sur un algo bidon .
Par contre j’ai pas la réponse sur la non prise en compte du stoploss : pour essayer d’écrêter les plus grosses pertes j’ai tenté un stploss à x€ (x étant mis en variable pour optimisation). A aucun moment le stpl est déclenché , même pour des valeurs de stpl> aux 2 closes évoqués , j’avoue ne pas très bien comprendre.
06/10/2022 at 1:17 PM #19504606/10/2022 at 1:19 PM #19504706/10/2022 at 1:20 PM #195048Bon Nicola j’ai trouvé l’erreur du stploss, avec mes excuses : çà marche , donc je protège bien contre les trades perdants bizarres pour lesquels je ne vois toujours pas la cause ! je fais les tests et je t’en reparle.
Cdlmt,JP
06/10/2022 at 1:22 PM #195050voir mon message https://www.prorealcode.com/topic/sortie-dachat-non-respectee/#post-195046 concernant ton calcul de moyenne mobile.
06/10/2022 at 2:35 PM #195061Ah yes , j’ai modifié l’emplacement du calcul, çà change complètement les performances de l’algo !!! (en moins bien malheureusement !) .
J’ai essayé dans le test crosses de remplacer MPmoy par Mpmoy[1], logiquement j’aurai dû retrouver les résultats antérieurs puisque les autres tests sont faits après le calcul de MPmoy.
Rien à faire l’algo ne revient pas à ses résultats 🙁 . J’ai qd même du mal à comprendre l’impact constaté par le seul fait de prendre dans un test la valeur[1] d’une variable
surtout en constatant les faibles écarts entre les 2 bougies… J’ai dû inventer un super algo en faisant une erreur de pgm 🙂 !!!
Mais ce n’est pas la 1ère fois que j’ai constaté les conséquences en performance lorsqu’on modifie l’emplacement du calcul des variables, même quand il n’y a pas d’inversion dans l’ordre des calculs.
-
AuthorPosts
Find exclusive trading pro-tools on