Backtest stratégie passive cumul achat le 1er de chaque mois
Forums › ProRealTime forum Français › Support ProOrder › Backtest stratégie passive cumul achat le 1er de chaque mois
- This topic has 7 replies, 3 voices, and was last updated 6 years ago by vindioux.
-
-
10/28/2018 at 4:34 PM #83652
Bonjour,
Je voudrais faire un backtest d’une stratégie sur un tracker S&P500 qui consiste simplement à acheter €.1 000 tous les 1ers de chaque mois. C’est le seul critère d’achat. Je ne parviens pas à traduire cette notion de “timing” en code PRT.
If today = 1er jour du mois then
Buy 1000 cash at market.Merci d’avance pour votre aide précieuse.
[Edit par modérateur: sujet déplacé du forum pro-builder (indicateurs, code se terminant par “return”, pas de mot-clé buy/sell possible) au forum pro-order (backtests et stratégies)]
10/30/2018 at 10:47 AM #8378210/30/2018 at 12:14 PM #83786Merci beaucoup. Effectivement, ça marche presque mais certains mois, je n’ai pas d’ordre passé car le 1er jour du mois tombe un week-end.
Il faudrait peut-être inclure la fonction dayofweek qui permet de tester si on est un jour de weeek end ?.
Mais mon code ne fonctionne pas :
DEFPARAM CumulateOrders = true
IF DAY = 1 and (dayofweek = 1 or dayofweek = 2 or dayofweek = 3 or dayofweek = 4 or dayofweek = 5) THEN
BUY 1000 CASH AT MARKET
ELSIF DAY = 1 and (dayofweek <> 1 or dayofweek <> 2 or dayofweek <> 3 or dayofweek <> 4 or dayofweek <> 5) THEN
BUY 1000 CASH (DES que POSSIBLE)ENDIF
Auriez-vous une idée ?
10/30/2018 at 1:36 PM #8379810/30/2018 at 2:32 PM #83800Excellent Merci Nicolas. Cela fonctionne déjà bien.
Finalement, une bonne gestion passive d’accumulation mensuelle sur un tracker donne déjà un résultat assez intéressant.
Ce qui serait encore mieux c’est de rester à l’écart pendant les phases de baisse (par exemple lorsque MM50(close) < MM200(close)) et d’accumuler pendant ce temps les €.1 000 d’épargne par mois dans un “compteur”. Au lieu de miser €.1 000 chaque mois, on pourrait désigner un compteur qui serait le “capital disponible” et qui s’incrémenterait de €.1 000 chaque mois pendant lesquels que la MM50 est en dessous de la MM200 et dès que MM50 repasse au dessus de la MM200, on investi le “paquet disponible”. Peut-on rendre les €.1 000 fixes dans “buy 1000 cash at market” par un montant variable qui serait le capital disponible ?
DEFPARAM CumulateOrders = true // Cumul des positions désactivé
// Conditions pour ouvrir une position acheteuse
C1 = average[50](close) > average[200](close)
if active <> openmonth and day < 5 and C1 then
buy Capital cash at market
active = openmonthendif
Merci encore.
10/30/2018 at 2:57 PM #83802une bonne gestion passive d’accumulation mensuelle sur un tracker donne déjà un résultat assez intéressant.
Bien sûr que oui 🙂 et même sans accumulation.
Merci d’utiliser le bouton adéquate pour poster du code dans le forum.
Pour le calcul à investir, je pense que tu devrais y arriver mieux que moi ! Ou alors, il faudrait pousser un peu plus l’explication, car j’ai un peu de mal à te suivre…
10/30/2018 at 6:00 PM #83809C’est pas facile à expliquer par mail…En fait, imaginons qu’on puisse mettre €.1 000 d’épargne sur le tracker CAC 40 tous les mois. Je voulais backtester s’il valait mieux mettre ces €.1 000 tous les mois de manière automatique les yeux fermé (même en cas de forte correction pendant le krack de 2008 /2009 et donc moyenner à la baisse sa position) ou s’il valait mieux attendre, laisser passer la baisse (rester à l’écart tant que MM50 <MM200 par exemple), épargner tous les mois les €.1 000 sans les placer sur le tracker et attendre que MM50 repasse au dessus de MM20 pour placer d’un seul coup l’épargne accumulée pendant toute la phase baissière (soit €.1 000 mensuels x le nombre de mois de baisse depuis que MM50 est passée sous MM200). Sauf que je ne sais pas comment faire un compteur qui compte le nombre de mois de baisse entre le moment où MM50 a croisé à la baisse MM200 et le moment où MM50 est repassé au dessus de MM200…
11/21/2018 at 9:16 AM #85380Salut,
Moi j’avais fait ça pour tester une stratégie d’accumulation sur le BX4. On achète 1000€ chaque mois où le cours est supérieur à la MM 60 avec un maximum de 33 positions prises. Target profit 20%.
J’aurais voulu tester aussi en achetant le lundi pour vendre le vendredi mais pour le moment j’ai pas réussi. Si quelqu’un a une idée…
Accumulation mensuelle1234567891011121314151617ha=1000/closeha=round(ha)MMX=Average[60](close)c1=month<>month[1]If not onmarket thennb=0endifIf c1 and close>MMX and nb<33 thenbuy ha shares at marketnb=nb+1endifSET TARGET %PROFIT 20 -
AuthorPosts
Find exclusive trading pro-tools on