ProRealCode - Trading & Coding with ProRealTime™
Il s’agit d’une présomption vis à vis de la remarque sur les différences ont l’indicateur sur le graphique et le retour de ProScreener, d’un point de vue “support”, c’est la première chose à laquelle je pense. Seul Christophe pourra confirmer ou non l’utilisation de périodes de calcul importantes qui pourraient engender ce phénomène.
Bonjour,
La plus grosse période utilisée est 250 pour que justement chaque plateforme puisse accéder à l’ensemble de l’historique.
@Nicolas
Bonjour,
En bataillant avec les screeners et extratrend, je me suis aperçu que extratrend fonctionnait en ajustant l’historique des graphiques lors du détachement du dividende.
Et comme sur PRT, je ne coche pas cette option, les résultats des screeners étaient faux et je ne comprenais pas.
Y aurait il un intérêt a ce qu’extratrend puisse fonctionner selon les 2 modes, en ajustant ou non le détachement du dividende ?
J aimerais bien ton avis sur ce point. Le détachement participe t il aux variations de cours et doit on le prendre en compte ou non ?
Merci
PS : J espère que cette mésaventure servira a d’autres … 😉
Pour info, j’avais déjà constaté il y a des mois ces problèmes d’écarts.
Le plus flagrant étant sur les volumes car les prix ajustés ou pas d’influencent pas.
Par exemple:
SCREENER[average[200](volume)>300000 and average[200](volume)<500000](average[200](volume) as “volume moy”)
me donne pour OCI une valeur de screener de 476953 alors que la mm200 du volume me donne sur le graph 591462, soit 24% d’écart.
Et je ne fais appel uniquement qu’au volume.
Pour revenir sur MetaScore, si on reprend ce type d’écart, multiplié par une vingtaine de signaux sur différents horizons de temps, cela peut expliquer certains écarts.
Après, il n’y a rien de bien méchant, car il ne faut pas oublier que l’intérêt du screener est d’attirer notre oeil, pas s’en servir pour faire systématiquement une entrée.
Bonjour à tous,
idée de création d’un screnner suivant les conditions ci-dessous
Merci d’avance à celui qui pourra créer ce screener
Bonjour Manu L
en réponse à ta demande :
TIMEFRAME(WEEKLY)
// APPEL EXTREND
MYTRENDH, IGNORED, IGNORED, IGNORED, IGNORED = CALL "EXTRATREND"[0,0,0,0,0,0](CLOSE)
// COTATION DANS LA ZONE BLEUE
IF MYTRENDH>MYTRENDH[1] THEN
TENDANCEH=1
ENDIF
IF MYTRENDH<MYTRENDH[1] THEN
TENDANCEH=0
ENDIF
HEBDOMADAIRE = (CLOSE>=MYTRENDH AND TENDANCEH)
TIMEFRAME(DAILY)
// BIBLIOTHEQUE
MYMETASCORE, IGNORED, IGNORED = CALL "METASCORE"[0,0,0](CLOSE)
MYTREND, IGNORED, IGNORED, IGNORED, MYRECT = CALL "EXTRATREND"[0,0,1,0,0,0](CLOSE)
// EXTRATREND HAUSSIER CETTE BOUGIE, MAIS PAS SUR LA PRECEDENTE
IF MYTREND>MYTREND[1] THEN
TENDANCE=1
ENDIF
IF MYTREND<MYTREND[1] THEN
TENDANCE=0
ENDIF
// ECARTER LES TITRES AVEC DES TROUS DE COTATION JUSTE AVANT
PASTROUSCOTATION = (HIGH[1] - LOW[1] > 0) AND (HIGH[2] - LOW[2] > 0) AND (HIGH[3] - LOW[3] > 0) AND (HIGH[4] - LOW[4] > 0)
// VOLUME
MONTANT = (CLOSE*VOLUME)>=500000
//
JOUR = (MYTREND<>MYRECT AND TENDANCE AND CLOSE[1]<MYRECT[1] AND CLOSE>MYRECT AND MONTANT AND MYMETASCORE>=70 AND PASTROUSCOTATION)
// CRITERE CLASSEMENT
CRITERE = AVERAGE[20](HISTORICVOLATILITY[40](CLOSE))
SCREENER[JOUR[0] AND HEBDOMADAIRE] (CRITERE AS "CRITERE")
Bonjour à tous,
Je lis vos posts avec attention. Merci de nourrir la réflexion.
Quelque chose m’étonne, c’est que je n’ai vu qu’un seul post parler de stratégie à proprement parler. Pourtant Christophe a insisté plusieurs fois sur le fait que l’indicateur seul ne valait rien sans une stratégie dans laquelle il doit servir.
Aussi, je vous propose une stratégie qui est basée sur celle que Christophe présente dans une de ses vidéos. J’y ai rajouté une autre condition d’entrée : il faut que le Métascore soit supérieur à 80 pour rentrer (globalement, cela diminue quand même significativement le nombre d’entrées, et selon les titres, cela augmente le taux de trades gagnants).
Désolé par avance, mais je n’arrive pas à afficher le bouton “insert PRT code”. J’ai beau taper plusieurs fois CTRL+F5, le bouton n’apparait pas, et cela me fait quitter le navigateur en plus.
DEFPARAM CumulateOrders=False
capitalinitial=10000
risque=1
exitstrategy=1
profitfactor=6
stopfactor=1.5
partialprofit=1
partialprofitfactor=3
ratchetfactor=7
// Appel des valeurs d'ExtraTrend
//myTrend, ignored, ignored = CALL "ExtraTrend v2" [0,0,0,0,0](close)
myTrend, ignored, ignored, ignored, ignored = CALL "ExtraTrend"[0,0,0,0,0](close)
// Tendance ExtraTrend
if myTrend>myTrend[1] then
tendance=1
endif
if myTrend<myTrend[1] then
tendance=0
endif
// score Metascore
myScore, ignored, ignored = CALL "MetaScore"[80, 0, 0](close)
//strategy of entry
if tendance and not tendance[1] and not longonmarket and myscore>80 THEN
//if not longonmarket then
positionsize=round(((capitalinitial+STRATEGYPROFIT)*(risque/100))/(stopfactor*averagetruerange[20]))
//positionsize=round(((capitalinitial+STRATEGYPROFIT)/close)
BUY positionsize shares AT MARKET
set stop loss stopfactor*averagetruerange[20]
if exitstrategy=0 then
set target profit profitfactor*averagetruerange[20]
endif
flag=0
endif
if longonmarket and close>=myTrend+partialprofitfactor*averagetruerange[20] and flag=0 and partialprofit=1 then
sell round(positionsize/2) shares at market
flag=1
endif
if longonmarket and exitstrategy=1 and close<lowest[30](highest[55](high)-ratchetfactor*averagetruerange[20])then
sell at market
endif
Je suis extrêmement mauvais pour coder et j’aurai besoin d’aide.
Je cherche à développer une autre stratégie, plus spécifique avec Extratrend.
L’idée est de sélectionner des trades uniquement sur relance de tendance déjà haussière, suite à une figure de consolidation et/ou contraction de la volatilité.
Si quelqu’un veut bien m’aider, je posterai des graphiques d’exemples que j’aimerai prendre en trades, pour mieux visualiser les configurations que je veux attraper.
Bonjour à tous,
Je lis vos posts avec attention. Merci de nourrir la réflexion.
Quelque chose m’étonne, c’est que je n’ai vu qu’un seul post parler de stratégie à proprement parler. Pourtant Christophe a insisté plusieurs fois sur le fait que l’indicateur seul ne valait rien sans une stratégie dans laquelle il doit servir.
Aussi, je vous propose une stratégie qui est basée sur celle que Christophe présente dans une de ses vidéos. J’y ai rajouté une autre condition d’entrée : il faut que le Métascore soit supérieur à 80 pour rentrer (globalement, cela diminue quand même significativement le nombre d’entrées, et selon les titres, cela augmente le taux de trades gagnants).
Désolé par avance, mais je n’arrive pas à afficher le bouton “insert PRT code”. J’ai beau taper plusieurs fois CTRL+F5, le bouton n’apparait pas, et cela me fait quitter le navigateur en plus.
DEFPARAM CumulateOrders=Falsecapitalinitial=10000
risque=1
exitstrategy=1
profitfactor=6
stopfactor=1.5
partialprofit=1
partialprofitfactor=3
ratchetfactor=7
// Appel des valeurs d’ExtraTrend
//myTrend, ignored, ignored = CALL “ExtraTrend v2” [0,0,0,0,0](close)
myTrend, ignored, ignored, ignored, ignored = CALL “ExtraTrend”[0,0,0,0,0](close)
// Tendance ExtraTrend
if myTrend>myTrend[1] then
tendance=1
endif
if myTrend<myTrend[1] then
tendance=0
endif
// score Metascore
myScore, ignored, ignored = CALL “MetaScore”[80, 0, 0](close)
//strategy of entry
if tendance and not tendance[1] and not longonmarket and myscore>80 THEN
//if not longonmarket then
positionsize=round(((capitalinitial+STRATEGYPROFIT)*(risque/100))/(stopfactor*averagetruerange[20]))
//positionsize=round(((capitalinitial+STRATEGYPROFIT)/close)
BUY positionsize shares AT MARKET
set stop loss stopfactor*averagetruerange[20]
if exitstrategy=0 then
set target profit profitfactor*averagetruerange[20]
endif
flag=0
endif
if longonmarket and close>=myTrend+partialprofitfactor*averagetruerange[20] and flag=0 and partialprofit=1 then
sell round(positionsize/2) shares at market
flag=1
endif
if longonmarket and exitstrategy=1 and close<lowest[30](highest[55](high)-ratchetfactor*averagetruerange[20])then
sell at market
endif
Tu as tout compris, bravo 🙂
N’importe quel indicateur ne donne pas un signal d’entrée, mais une condition favorable pour trouver un point d’entrée.
Cela veut donc dire qu’il faut trouver un point d’entrée, car ce soit une bougie cadeau, une cassure d’oblique baissière court terme, une cassure d’un dernier plus haut, etc
Bonjour à tous et particulièrement à Christophe et à HienAlpha
Merci pour les nombreux échanges de Post.
Je suis depuis de nombreuses semaines sur des Backtest avec des stratégies utilisant TrendFrance et maintenant Metascore. Pour estimer la performance d’une de ces stratégies, je fais tourner le même backtest sur les 200 plus importantes valeurs de Euronext Paris (listes fournies par PRT), idem sur le Nasdaq (200 valeurs) sur Nyse (200 valeurs), Euro Bruxelles (50 Valeurs), Euro Amsterdam (50 valeurs), Euro Lisbonne (environ 40 valeurs) et l’Allemagne (50 valeurs) et j’enregistre alors chaque Trade
Le portefeuille de trades est évalué sur les critères suivants
Sur certaines de ces stratégies, je modélise un portefeuille complet sur 10 ans sur Excel (environ 2000 lignes d’Achat Vente dans un tableau que je calcule manuellement (même routine sur chaque ligne, vérification qu’il n’y a pas d’erreurs toutes les 100 lignes). Environ 12 heures pour une simulation complète.
J’ai l’espoir de faire un programme en visual basic pour traiter automatiquement cette partie, mais une telle programmation est un véritable challenge pour moi.
Les résultats à ce jour sur 10 ans ne sont pas encore assez intéressants à mon goût.
Si l’un de vous est intéressé par un échange constructif (je peux bien sur donner mais aimerait bien aussi profiter de l’expérience des autres), il suffit de me répondre. Nous communiquerons sur le site ou autrement.
A vous lire et merci à Christophe et à HienAlpha pour leur contribution.
Bons trades à tous
Hello PL,
Je n’ai pas fait grand chose. Si ce n’est m’interroger sur la question qui est selon moi la plus importante.
Concernant l’échange, je suis absolument pour. Néanmoins, j’ai des compétences de codage qui sont extrêmement limitées. Je peux par contre apporter une autre vue, cela aide souvent.
J’aurai des questions pour ce que tu as fait :
– Qu’est ce que tu entends par “pas assez intéressants” ?
– Quelles stratégies différentes as tu backtesté en faisant appel à Extratrend ?
De ce que j’ai pu voir de mon côté avec mes faibles talents pour le codage, Extratrend donne d’assez bons résultats pour le swing et le trend following, en UT assez longues (daily, weekly). Les différents univers que j’ai utilisés :
– les baggers du marché français des 12 dernières années
– les grosses caps américaines qui ont permis de tenir le Nasdaq depuis 2010
– les valeurs les plus baissières du marché français (ici, pas de surprise, les résultats sont très mauvais car ça baisse. Mais on limite grandement la casse.)
Globalement, en stratégie swing relativement classique, j’ai du mal à dépasser les 40% de trades gagnants (plutôt 35%). Le ratio gain/risque est entre 3 et 5.
Notes que dans ma stratégie swing, les critères à rentrer pour une entrée sont assez stricts, donc sur une période de 12 ans de backtest, en moyenne la stratégie fait 10 entrées sur un titre (7 échecs et 3 réussites). Cela fait peu je trouve.
Après, les questions restent toujours les mêmes :
– quand rentrer ? quand re-rentrer si on souhaite accumuler ?
– où placer le stop d’invalidation du trade ?
– combien rentrer/risquer ?
– quand sortir ?
– combien sortir ? Et combien laisser courir ?
Les réponses varieront en fonction du trader et de son horizon de temps. Un day trader n’aura pas les mêmes besoins qu’un swinger comme moi.
J’ai quelques idées de stratégies, mais je suis extrêmement limité par mes connaissances en codage. Si tu es prêt à m’aider, cela serait avec plaisir.
Bonjour PL bourse,
Merci pour le partage des résultats de backtests. Peut être que je peux aider.
A minima, le sujet m’intéresse également beaucoup, j’ai des connaissances en VBA sur excel, j’ai des des mois d’expérience en programmation sur PRT.
Je ne trouve pas le moyen d’envoyer des messages perso sur le site. Quel est le meilleur moyen pour vous contacter ? Merci
Bonjour HienAlpha
Avant de faire des screeners, il est nécessaire de développer une stratégie et de la backtester rigoureusement. Seulement si des backtests honnêtes donnent des résultats positifs, alors il y a une opportuniter pour des trades gagnats (globalement) dans le futur.
Je vais donner plus de détails sur l’une de mes stratégies déployées sur le portefeuille cité (presque 1000 actions sur 10 ans). Voici les principaux éléments de la stratégie développée
Il reste sur cette base de trades à faire encore beaucoup de simulations (l’une d’elle est en cours) et entre autres à se poser la question si la vente partielle à R1 est payante par rapport à laisser tous les trades se faire taper par le SL
A lire vos réactions, vos commentaires et surtout ce que vous pouvez suggérer,
Bonnes simulations
Voir mon message à HienAlpha
Avez vous essayé sa stratégie (je n’ai pas encore eu le temps)
Je vais trouver un moyen pour essayer d’échanger par e-mail.
A vous lire et surtout à écouter vos commentaires
Bonjour comment interpréter la vitesse dans les résultats de l’indicateur?
ExtraTrend – exemples de codage screeners et programmation personnalisee
This topic contains 515 replies,
has 2 voices, and was last updated by
Nicolas
5 days, 10 hours ago.
| Forum: | ProScreener : Scanners de Marché & Détection |
| Language: | French |
| Started: | 05/27/2021 |
| Status: | Active |
| Attachments: | 85 files |
The information collected on this form is stored in a computer file by ProRealCode to create and access your ProRealCode profile. This data is kept in a secure database for the duration of the member's membership. They will be kept as long as you use our services and will be automatically deleted after 3 years of inactivity. Your personal data is used to create your private profile on ProRealCode. This data is maintained by SAS ProRealCode, 407 rue Freycinet, 59151 Arleux, France. If you subscribe to our newsletters, your email address is provided to our service provider "MailChimp" located in the United States, with whom we have signed a confidentiality agreement. This company is also compliant with the EU/Swiss Privacy Shield, and the GDPR. For any request for correction or deletion concerning your data, you can directly contact the ProRealCode team by email at privacy@prorealcode.com If you would like to lodge a complaint regarding the use of your personal data, you can contact your data protection supervisory authority.