Aide pour idée et optimisation stratégie
Forums › ProRealTime forum Français › Support ProOrder › Aide pour idée et optimisation stratégie
- This topic has 11 replies, 4 voices, and was last updated 4 years ago by Matt66612.
-
-
06/19/2020 at 2:23 PM #136555
Bonjour à tous .
Je débute depuis quelques semaines , dans le code du training automatique .j’ai eu quelques idées de code .
je vous partage ici l’embryon d’un code que j’ai mis en place .
je pense qu’il peut être grandement améliorer, c’est pourquoi je vous demande de l’aide.
Si certains ont des idées pour améliorer la stratégie et optimiser les paramètres, cela me serait vraiment d’une grande aide.
Merci ceux qui me liront et me répondront.
macd + momentum12345678910111213141516171819202122232425262728293031323334353637383940// Définition des paramètres du codeDEFPARAM CumulateOrders = False // Cumul des positions désactivé// Conditions pour ouvrir une position acheteuseindicator1 = Average[50](close)indicator2 = Average[200](close)c1 = (indicator1 > indicator2)indicator3 = Momentum[200](Momentum[25](close))c2 = (indicator3 > 0)indicator4 = Momentum[25](close)c3 = (indicator4 > 0)indicator5 = MACD[5,15,9](MACD[50,200,9](close))c4 = (indicator5 CROSSES OVER 0)indicator6 = MACD[50,200,9](close)c5 = (indicator6 > 0)IF c1 AND c2 AND c3 AND c4 AND c5 THENBUY 1 CONTRACT AT MARKETENDIF// Conditions pour ouvrir une position en vente à découvertindicator7 = Momentum[25](close)c6 = (indicator7 < 0)indicator8 = Momentum[200](Momentum[25](close))c7 = (indicator8 <= 0)indicator9 = MACD[5,15,9](MACD[50,200,9](close))c8 = (indicator9 CROSSES UNDER 0)indicator10 = MACD[50,200,9](close)c9 = (indicator10 <= 0)indicator11 = Average[50](close)indicator12 = Average[200](close)c10 = (indicator11 < indicator12)IF c6 AND c7 AND c8 AND c9 and c10 THENSELLSHORT 1 CONTRACT AT MARKETENDIF// Stops et objectifsSET STOP %LOSS 1SET TARGET %PROFIT 106/22/2020 at 9:58 AM #136733Je pense qu’il faudrait nous en dire un peu plus ? Par exemple, sur quel type d’instrument et sur quelle unité de temps employer cette stratégie ? Comment sont pris les positions et quelle est le processus décisionnel qui t’a amené à les coder ? Je vois que le risk reward ratio est de 1, as-tu essayé d’augmenter de gérer les prises de profits d’une autre manière ? Merci pour le partage en tout cas.
06/22/2020 at 11:03 AM #136743Merci de votre réponse Nicolas.
C’est une stratégie de daytrading sur le dax30 en Tf 15 min
Je fais un petit up de la stratégie.
La stratégie est basé sur un triple Macd , un court un long et un très long avec un filtre à 3 Momentum .
Le but est de suivre la tendance.
La stratégie me semble solide mais le nombres de transactions reste faible, j’aimerais augmenté le nombres de transactions , mais je n’ai pas d’idée pour cela.
Peut être avec un système de boucle .
j’ai dans le projet d’ajouté un BE peut être que cela peut améliorer le RR.
123456789101112131415161718192021222324252627282930313233343536373839404142434445defparam CUMULATEORDERS =falsedefparam flatafter=173000defparam flatbefore = 090000mymacdc=macd[12,26,9](close)mymacdL=macd[48,104,36](close)mymacdTL=macd[192,416,154](close)mymomc=momentum[14]mymomL=momentum[56]mymomTL=momentum[224]mymmec=ExponentialAverage[20](close)mymmeL=ExponentialAverage[200](close)c1=mymacdL[a]>0c2=mymacdL>0c3=mymacdTL[a]>0c4=mymacdTL>0c5=mymacdc crosses over 0c6=mymomL[a]>0c7=mymomL>0c8=mymomTL[a]>0c9=mymomTL>0c10=mymmec[a]>mymmeL[3]c11=mymmec>mymmeLc23=mymomc[b] >0if c1 and c2 and c3 and c4 and c5 and c6 and c7 and c8 and c9 and c10 and c11 and c23 thenbuy 1 contract at marketendifc12=mymacdL[a]<0c13=mymacdL<0c14=mymacdTL[a]<0c15=mymacdTL<0c16=mymacdc crosses under 0c17=mymomL[a]<0c18=mymomL<0c19=mymomTL[a]<0c20=mymomTL<0c21=mymmec[a]<mymmeL[a]c22=mymmec<mymmeLc24 = mymomc[b]< 0if c12 and c13 and c14 and c15 and c16 and c17 and c18 and c19 and c20 and c21 and c22 and c24 thenSELLSHORT 1 contract at marketendifSET STOP %LOSS 1.5set target %profit 307/03/2020 at 8:15 AM #138211Après quelques recherches voici une version qui semble assez robuste.
je partage ici pour avoir vos idées pour optimiser et améliorer .
Bien à vous.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849defparam CUMULATEORDERS =falsedefparam PRELOADBARS=3000defparam flatafter=220000defparam flatbefore = 080000mymacdc=macd[12,26,9](close)mymacdL=macd[48,104,36](close)mymomTL=momentum[185]c1 = mymacdL[6]>0c2=mymacdc crosses over 0c3=mymomTL[6]>0if c1 and c2 and c3 thenbuy max(1,taille) contract at marketendifc4 = mymacdL[6]<0c5=mymacdc crosses under 0c6=mymomTL[6]<0if c4 and c5 and c6 thensellshort max(1,taille) contract at marketendifSET STOP LOSS 70SET TARGET PROFIT 196startBreakeven = 5PointsToKeep = 2.5IF LONGONMARKET AND close-tradeprice(1)>=startBreakeven*pipsize THENbreakevenLevel = tradeprice(1)+PointsToKeep*pipsizeENDIFIF breakevenLevel>0 THENSELL AT breakevenLevel STOPENDIFIF NOT ONMARKET THENbreakevenLevel=0ENDIFtaille=1for v = 1 to 10 doif positionperf(v)>0 thentaille=taille+0.1elsetaille=1endifnext07/03/2020 at 11:23 AM #138254Bonjour @Matt666
Es tu toujours ici ?
+ En ajoutant un trailling Stop (de Nicolas), le % des positions et le ratio augmentent.
+ Et en ajoutant le réinvestissement des gains, on multiplie x3 les gains.
+ sl 0 146 au lieu de 70Test fait sur 25000 UT.
Je pense qu’il y a encore possibilité de faire mieux (ajouter + de trades), je regarderai + en détails ultérieurement, si tu veux.
Belle journée 🙂
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110defparam CUMULATEORDERS =falsedefparam PRELOADBARS=3000defparam flatafter=220000defparam flatbefore = 080000mymacdc=macd[12,26,9](close)mymacdL=macd[48,104,36](close)mymomTL=momentum[185]c1 = mymacdL[6]>0c2=mymacdc crosses over 0c3=mymomTL[6]>0//for v = 1 to 10 do//if positionperf(v)>0 then//taille=taille+0.1//else//taille=1//endif//next//Capital=1000Marge=3/100n=(Capital/1000)+(strategyprofit*1/marge/10000/3)trailingstart =30//20//trailingstep = 5//5////========================================================BUY =====================if not ONMARKET AND c1 and c2 and c3 thenbuy n contract at marketendifSET STOP LOSS 146//70//========================================================SHORT=====================c4 = mymacdL[6]<0c5=mymacdc crosses under 0c6=mymomTL[6]<0if not ONMARKET AND c4 and c5 and c6 thensellshort n contract at marketendif//++++++++++++++++++++breaken //////////////////////////////////////////////startBreakeven = 5PointsToKeep = 2.5IF LONGONMARKET AND close-tradeprice(1)>=startBreakeven*pipsize THENbreakevenLevel = tradeprice(1)+PointsToKeep*pipsizeENDIFIF breakevenLevel>0 THENSELL AT breakevenLevel STOPENDIFIF NOT ONMARKET THENbreakevenLevel=0ENDIF//++++++++++++++++++++breaken ////////////////////////////////////////////////reset the stoploss valueIF NOT ONMARKET THENnewSL=0ENDIF//manage long positionsIF LONGONMARKET THEN//first move (breakeven)IF newSL=0 AND close-tradeprice(1)>=trailingstart*pipsize THENnewSL = tradeprice(1)+trailingstep*pipsizeENDIF//next movesIF newSL>0 AND close-newSL>=trailingstep*pipsize THENnewSL = newSL+trailingstep*pipsizeENDIFENDIF//manage short positionsIF SHORTONMARKET THEN//first move (breakeven)IF newSL=0 AND tradeprice(1)-close>=trailingstart*pipsize THENnewSL = tradeprice(1)-trailingstep*pipsizeENDIF//next movesIF newSL>0 AND newSL-close>=trailingstep*pipsize THENnewSL = newSL-trailingstep*pipsizeENDIFENDIF//stop order to exit the positionsIF newSL>0 THENSELL AT newSL STOPEXITSHORT AT newSL STOPENDIF1 user thanked author for this post.
07/03/2020 at 3:25 PM #138300Merci sophia_etoille83 pour ton retour. Ton aide est la bienvenue.
07/05/2020 at 11:35 AM #138448Attention, plus de gains, c’st plus de volatilité, et donc plus de risque de perte. Ce n’est pas la course qui compte c’est la régularité
Regarde ton ratio de sharpe, tu dois être au minimum au dessus de 1, idéalement 1.5
Bon dimanche
07/06/2020 at 2:47 PM #138555Zilliq,
Plus de gains = plus de volatilité? Je ne suis pas trop d’accord 🙂
Par contre sécuriser ses gains au lieu de laisser se transformer des gains en pertes sur des stratégies courts termes, pour moi il y a un gros soucis et cela n’est pas concevable.
La recette idéale est la suivante = toujours plus de gains sécurisés + performance positions gagnantes supérieure à 80-85% et ratio supérieur 2 – 2.5% au minimumVoilà ma recette 🙂
Et celui-ci (au-dessus) est largement supérieur à ça après y avoir ajouté qq bouts de codes (après l’avoir vu tourné évidement) => Le ratio est > à 4 et positions gagnantes > 85% sur 15000 UT soit 108 trades.
07/06/2020 at 3:13 PM #13856107/06/2020 at 3:22 PM #138567Normalement non, je fais sur tout l’historique passé puis ensuite par zone.
Le marché évolue et ne réagit pas de la même façon sur certaines périodes.Si les 100 derniers trades, les stats sont tres mauvaises alors c’est qu’il y a un problème. Mais ce n’est que mon avis.
Je ne mets en place que des stratégies qui refletent mon trading manuel, donc les mauvais trades sont identifiables: certains ne peuvent pas être éviter et d’autres oui…07/06/2020 at 3:26 PM #138568Si vous avez netfix, il y a un super reportage sur les probabilités mathématiques 🙂
07/06/2020 at 7:40 PM #138583 -
AuthorPosts
Find exclusive trading pro-tools on