Bonjour,
Je tente de coder un EA basé sur les points pivots dont le principe est le suivant :
Achat quand la bougie en cours passe sous (ou touche) un PP (ou R1, S1 etc) et que sa cloture se fait au dessus. Vente quand le contraire se produit.
Le seul souci est que je n’arrive qu’à utiliser les PP daily (code fourni par PRT) hors je souhaiterais pouvoir utiliser les points weekly et monthly (dans 2 EA distincts)
Voici le bout de code que j’ai pu faire (achat pour l’instant) et il semble bien fonctionner. (j’ai mis 25 au lieu de 1 pour les high/low afin d’avoir une valeure approximative d’un mois mais cela manque évidemment de précision)
DEFPARAM CumulateOrders = False
// RES 3
indicator1 = DHigh(25)+2*((DHigh(25) + DLow(25) + DClose(25))/3-DLow(25))
// RES 2
indicator2 = (DHigh(25) + DLow(25) + DClose(25))/3+(DHigh(25)-DLow(25))
// RES 1
indicator3 = 2*((DHigh(25) + DLow(25) + DClose(25))/3) - DLow(25)
// Point Pivot
indicator4 = (DHigh(25) + DLow(25) + DClose(25))/3
// SUP 1
indicator5 = 2*((DHigh(25) + DLow(25) + DClose(25))/3) - DHigh(25)
// SUP 2
indicator6 = (DHigh(25) + DLow(25) + DClose(25))/3-(DHigh(25)-DLow(25))
// SUP 3
indicator7 = DHigh(25)+2*(((DHigh(25) + DLow(25) + DClose(25))/3)-DLow(25))
// Conditions Achat
c1 = (low <= indicator1)
c2 = (close > indicator1)
c3 = (low <= indicator2)
c4 = (close > indicator2)
c5 = (low <= indicator3)
c6 = (close > indicator3)
c7 = (low <= indicator4)
c8 = (close > indicator4)
c9 = (low <= indicator5)
c10 = (close > indicator5)
c11 = (low <= indicator6)
c12 = (close > indicator6)
c13 = (low <= indicator7)
c14 = (close > indicator7)
IF c1 AND c2 OR c3 AND c4 OR c5 AND c6 OR c7 AND c8 OR c9 AND c10 OR C11 AND c12 OR c13 AND c14 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Stops et objectifs
SET STOP pLOSS 5
SET TARGET pPROFIT 10
J’ai bien essayé de remplacer Dclose(et les autres) par Month ou Mclose mais rien n’y fait.
En espérant que quelqun saura m’aider.
D’avance merci 🙂
Tu trouveras les codes des points pivots Daily / Weekly et Monthly dans ce code de la bibliothèque :
https://www.prorealcode.com/prorealtime-indicators/daily-weekly-monthly-pivot-points/
Tu ne devrai pas avoir trop de mal à récupérer les informations pour chaque horizon de temps. Bon courage 😉
Bon courage, c’est une belle initiative.
Cependant il me semble qu’il te faudra filtrer habilement les ordres d’achats ou de ventes (privilégier le 1er passage a priori, etc…).
Bonne chance.
Merci Nicolas pour l’info et Toto pour les encouragements 🙂
Effectivement je pensais intégrer des filtres ultérieurement, mais comme je suis novice j’essaie de procéder pas à pas.
Tout ceci n’étant pas gagné car avec les codes de la librairie de Nicolas, cela me donne plein de messages d’erreurs donc mpossible de backtester.
Y’a des choses que je dois pas faire comme il faut, je suis vraiment une buse 🙁
J’ai pu lire aussi qu’il y avait des problèmes de calcul du au dimanche apparement, une difficulté supplémentaire…
A te lire Scalp, si je n’avais qu’un seul conseil à te donner afin de ne pas briser ton élan, ce serait celui-ci :
Programme pour le moment en considérant les points pivots comme des constantes que tu saisis “en dur” dans ton code.
En te limitant peut-être au départ aux pivots mensuels (voire au pivots hebdos), tu pourras au moins backtester le bien fondé de ta stratégie sur un horizon de temps mensuel (ou hebdo).
Si çà marche, tu verras ultérieurement comment intégrer les pivots automatiquement et par le calcul dans ton programme.
Si tu es sur CFD, tu résoudras facilement ton problème de “calcul du dimanche” en décohant pour (les instruments que tu travailles) la case “afficher les données du WE” dans le menu “Fuseau horaire” des “Options Plateforme”. Ainsi tu récupèreras aisément les “bons” points pivots… Tu es sur FUTURES ?
Bon courage…