Aucune prise de position sur backtests
Forums › ProRealTime forum Français › Support ProOrder › Aucune prise de position sur backtests
- This topic has 3 replies, 3 voices, and was last updated 3 years ago by fifi743.
-
-
12/03/2021 at 11:16 PM #182796
Bonjour a tous,
Ci dessous un programme que j’essaye de créer suivant la stratégie suivante ( que j’aimerais retravailler suivant différents paramètres mais a la main c’est long 😉 ). Pourriez vous y jeter un oeil et le controler, car j’ai des doutes sur la syntaxe et de plus ça me ressort aucune pris de position. (pourtant il devrai y en avoir) Merci pour votre aide
Les conditions de prise de position à l’achat ( en DAILY)
- Que le RSI 4 periodes soit en dessous de 28
- Que le prix soit au dessus de MM100
- Que le prix soit au dessus de MM300
- Que la MM300 soit croissante sur les 10 derniers jours minimum
- Prise de position juste avant fermeture de 17h30 (pour l’europe) si toutes les conditions sont OK ( j’ai mis // devant close pour éviter que ce soit en cloture de bougie)
- Jours possibles de prise de positions Lundi, Mardi,Mercredi,jeudi,vendredi
Sortie de position
- RSI est au dessus de 80
Stop
- a 6%
Le code :
12345678910111213141516171819202122232425262728293031// Définition des paramètres du codeDEFPARAM CumulateOrders = False // Cumul des positions désactivé// Annule tous les ordres en attente et ferme toutes les positions à 0:00, puis empêche toute création d'ordre avant l'heure "FLATBEFORE".DEFPARAM FLATBEFORE = 093000// Annule tous les ordres en attente et ferme toutes les positions à l'heure "FLATAFTER"DEFPARAM FLATAFTER = 171500// Empêche le système de placer de nouveaux ordres sur les jours de la semaine spécifiésdaysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0// Conditions pour ouvrir une position acheteuseindicator1 = RSI[4]//(close)c1 = (indicator1 < 28)indicator2 = Average[100]//(close)c2 = (close > indicator2)indicator3 = Average[300]//(close)c3 = (close > indicator3)ma = average[300]c4 = summation[10](ma>ma[1]) = 10IF (c1 AND c2 AND c3 AND c4) AND not daysForbiddenEntry THENBUY 1 CONTRACT AT MARKETENDIF// Stops et objectifsSET TARGET pPROFIT RSI[4]>80SET STOP %LOSS 612/04/2021 at 12:18 PM #182813Bonjour,
Pas de prise de position est insuffisant pour déduire qu’il y a un problème, ça peut être que les conditions ne sont pas rencontrées sans qu’il y ait de bug… Il faut partir d’un exemple de position qui aurait dû être prise mais ne l’a pas été, pour qu’autrui reproduise le problème, et fournir les détails: quel actif avec quel broker dans quel timeframe sur quelle bougie?
La commande “graph” (et tant qu’on y est mentionnons “graphonprice” si on veut visualiser dans la fenêtre du prix plutôt qu’en fenêtre séparée) permet de débugguer afin de visualiser toutes les conditions individuellement:
https://www.prorealcode.com/documentation/graph/
https://www.prorealcode.com/documentation/graphonprice/
De là l’utilisateur peut voir si une des conditions c1,c2,c3,c4, not daysforbiddenentry reste à faux de façon inattendue, empêchant la prise de positions (et potentiellement en déduire les modifications éventuelles à apporter au code, ou moins fréquemment mais à ne pas exclure quand on a fait le tour de tout le reste, s’il y a un éventuel souci plateforme)
12/04/2021 at 6:06 PM #182821Bonjour
Merci pour votre retour.
Test en UT jour, sur CFD CAC 40 chez IG (France 40)
Voir IMAGE 1, sur laquelle j’ai identifié 2 exemples de positions valables entrée fleche verte et sortie fleche rouge
Sur Image 2, synthese d’un test sur plus de 10 ans : pas de position
Ci dessous le code modifié en ajoutant la fonction graph. ( si c’est bien comme cela qu’il faut procéder)
Là je ressort une droite rouge avec 2 pics ( image 3 )
pour la sortie de position quand RSI > 80 j’ai aussi repris le code que vous m’avez indiqué dans un precedent post
12345678910111213141516171819202122232425262728293031323334353637// Définition des paramètres du codeDEFPARAM CumulateOrders = False // Cumul des positions désactivé// Annule tous les ordres en attente et ferme toutes les positions à 0:00, puis empêche toute création d'ordre avant l'heure "FLATBEFORE".DEFPARAM FLATBEFORE = 093000// Annule tous les ordres en attente et ferme toutes les positions à l'heure "FLATAFTER"DEFPARAM FLATAFTER = 171500// Empêche le système de placer de nouveaux ordres sur les jours de la semaine spécifiésdaysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0// Conditions pour ouvrir une position acheteuseindicator1 = RSI[4]//(close)c1 = (indicator1 < 28)indicator2 = Average[100]//(close)c2 = (close > indicator2)indicator3 = Average[300]//(close)c3 = (close > indicator3)ma = average[300]c4 = summation[10](ma>ma[1]) = 10IF (c1 AND c2 AND c3 AND c4) AND not daysForbiddenEntry THENBUY 1 CONTRACT AT MARKETENDIF// Stops et objectifs//SET TARGET pPROFIT RSI[4]>80if longonmarket and rsi[4](close)>80 thensell at marketendifSET STOP %LOSS 6GRAPH c1 and c2 and c3 and c4 and daysForbiddenEntry coloured(255,0,0) AS "RSI 4"Ensuite j’ai ajouté en fin de code les instructions graphonprice ci dessous, mais aucune changement / affichage
12345graphonprice c1 coloured(200,200,0) as "C1"graphonprice c2 coloured(0,200,0) as "C2"graphonprice c3 coloured(0,200,200) as "C3"graphonprice c4 coloured(0,255,0) as "C4"graphonprice daysForbiddenEntry coloured(255,0,0) as "D"J’ai testé sans mettre les horaires de trade dans le code et là ça prend des positions qui se rapproche des exemples ( flèche bleue et croix orange = résultat du backtest)
Voir IMAGE 4
Merci pour votre aide
12/04/2021 at 6:48 PM #182826 -
AuthorPosts
Find exclusive trading pro-tools on