ExtraTrend – exemples de codage screeners et programmation personnalisee
Forums › ProRealTime forum Français › Support ProScreener › ExtraTrend – exemples de codage screeners et programmation personnalisee
- This topic has 505 replies, 103 voices, and was last updated 2 months ago by Bernard49.
Tagged: extratrend
-
-
05/14/2023 at 2:54 PM #21468605/15/2023 at 8:23 AM #214695
Bonjour
Les screeners proposés indiqués sur la plateforme utilisent la fonction ExtraTrend dans sa 1ère publication, où elle ne renvoyait que 3 paramètres. Depuis la fonction a été modifiée et renvoie 5 valeurs (expliqué dans mon message ci-dessus). Il faut donc modifier chaque appel de la fonction avec maintenant 5 valeurs retournées au besoin en utilisant ignored.
Si vous ne comprenez pas, envoyez moi votre code et je vous le modifierai en conséquence. Patience, je suis en déplacement cette semaine et mon accès à ExtraTrend sera limité.
Bonens simulations et bons trades
05/18/2023 at 11:48 AM #214882Bonjour
C’est à mon tour de demander de l’aide.
J’aimerais écrire un screener qui utilise la resistance dynamique mois.
Pour cela j’écris ceci:
Utilisation résistance dynamaique12345678910TIMEFRAME(Monthly)myTrend, ignored, myExpansion, myResDyn, ignored = CALL "ExtraTrend"[0, 1, 0, 0, 0, 0](close)zfMois = (myExpansion <> myTrend) //Zone de force sur le mois en coursokResDyn = (myResDyn > myTrend)TIMEFRAME(Daily)//moyenne de 150000e / jourcondvolume=Average[5](volume*close)>150000SCREENER[zfMois AND okResDyn AND condvolume](ROC[5](close) AS "Vitesse", myResDyn as "RD")J’obtiens parfois des valeurs cohérentes pour RD (la résistance dynamique mensuelle) mais parfois j’obtiens des valeurs bizarres.
Par exemple sur NACON aujourd’hui, le screener m’affiche une valeur de 4.785 alors que si je regarde le graph en mensuel, je ne vois aucun point rouge. Je n’en vois qu’un, pour le mois d’avril vers 2.41.
Je ne comprends pas pourquoi. J’ai pensé à l’ajustement aux dividendes mais NACON n’en verse pas.
J’ai essayé d’utiliser la valeur du mois précédent mais ça ne marche pas mieux.
Quelqu’un aurait une solution svp?
Merci.
05/20/2023 at 10:42 AM #214931Bonjour Magicone
Je n’ai pu tester dans le détail votre problème, mais je peux vous apporter la réflexion suivante. Lorsque vous travaillez sur des données daily ou autres, la barre Monthly va se construire lentement tout au cours du mois en cours et elle ne sera fixe que lorsque le mois sera terminé. si vous cobnsidérez la bougie classiqe (High, low, open, close), seul open reste constant pendant le mois, les 3 autres paramètres vont être actualisé dans le cours du mois en fonction de cahque nouveau jeu de données. Vous pouvez ainsi fort bien
- commencer le mois avec une bougie verte
- passer sur une bougie rouge en cours de mois
- puis terminer sur une bougie verte
- etc…
Il en est de même pour tous les indicateurs que vous calculer en monthly, donc en particulier pour myTrend et zfmois.
Si vous voulez avoir des valeurs constantes pendant tout le mois en cours, vous pouvez faire appel à myTrend[1] et zfmois[1], qui en se référent au mois précédent, vont rester constant pendant tout le mois en cours et ne seront réactualisés que lors de la 1ere barre du mois suivant.
Dites moi si cette réflexion vous a permis de résoudre votre problème.
Bonne simulation et bons trades05/20/2023 at 11:03 AM #214932Bonjour Christophe,
Le problème n’est pas avec myTrend ou zfmois. Ils fonctionnent comme ils devraient. Je m’en sers uniquement pour savoir si je suis en zone de force et je n’ai pas vu de cas ou ça ne marche pas.
Le problème est avec la résistance dynamique. J’ai regardé ce que renvoi extratrend pour le mois en cours et pour le mois précédent et pour nacon (et d’autres titres) ça ne semble pas donner le bon résultat, en tout cas pas la valeur du point rouge qu’on voit sur le graphe quand il y en a un.
Comme ça marche sur certaines valeurs et pas d’autres, je soupçonne que votre code ne marche que s’il y a suffisamment d’historique sur la valeur. Est-ce possible? Et si oui est-il possible de filtrer que les titres ayant un historique suffisant pour renvoyer la bonne valeur?
Merci beaucoup.
08/26/2023 at 3:34 PM #219811Bonjour,
Y’a t il une explication sur le fait que myReDyn = myTrend au 11/01/2019, selon l’exemple suivant.
Alors que le graphique montre bien une résistance dynamique sur un autre point.
Cela me semble incohérent et je ne comprends pas la raison d’une potentielle erreur
Merci
09/03/2023 at 2:51 PM #220252Bonjour à tous,
J’en appelle à votre pour le codage d’un screener qui lie ExtraTrend Metascore et un bout de code pour les boogies cadeaux mais il semble que mes conditions entre Extratrend et métascore avec les boogies cadeaux ne me renvoient pas de valeur.
l’idée du screener est de ressortir les valeurs qui remplissent les conditions suivantes :
– la valeur soit en zone de force en périodes mensuelles, semaines et journalières
– Meta score franchisse le seuil fixé (ici à 50% pour le test mais normalement à 97%)
– que la boogie d’entrée soit une boogie cadeauMalheureusement ca n’a pas l’air de ressortir de valeur.
Si l’un de vous a une idée de correction je suis preneurMerci
123456789101112131415161718192021222324252627282930313233343536373839timeframe(monthly)myTrendMonth, ignored, myExpansionMonth, ignored , ignored = CALL "ExtraTrend"[0,1,1,0,0,0](close)timeframe(weekly)myTrendWeekly, ignored, myExpansionWeekly, ignored, ignored = CALL "ExtraTrend"[0,1,1,0,0,0](close)timeframe(daily)myTrend, ignored, myExpansion, ignored, ignored = CALL "ExtraTrend"[0,1,1,0,0,0](close)myMetaScore, ignored, ignored = CALL "MetaScore"[0,0,0](close)seuil = 50seuilCadeau=0.5okvol = highest[20](close * volume) > 300000capital = HullAverage[20](close*volume)diff = ((close-open)/close)*100eta = (high-close) > (close-open) and (open-low) > (close-open)if diff < 0 thendiff = -diffeta = (high-open) > (open-close) and (close-low) > (open-close)endifcadeau = diff <= seuilCadeaurisk = ((high-low)/high)*100j=0WHILE (myTrendMonth[j] <> myExpansionMonth[j]) and(myTrendWeekly[j] <> myExpansionWeekly[j]) and(myTrend[j] <> myExpansion[j]) and (myMetaScore >seuil AND myMetaScore[1]<seuil) DOj=j+1if j=250 thenBREAKendifWENDc = j<600signal = myTrend <> myExpansion and capital < average[5](capital[1]) and cadeau and etaSCREENER[j<>0 and c and signal and okvol](risk as "%Risk")09/11/2023 at 6:20 PM #22079409/12/2023 at 4:52 PM #220886//Bonjour, celui ci-après semble remplir vos conditions
timeframe(monthly)
myTrend7, ignored, myExpansion7, ignored, ignored = CALL “ExtraTrend”[0,1,1,0,0,0](close)
c1=myTrend7 <> myExpansion7
timeframe(weekly)
myTrend, ignored, myExpansion, ignored, ignored = CALL “ExtraTrend”[0,1,1,0,0,0](close)
c2=myTrend <> myExpansion
timeframe(daily)
myTrend2, ignored, myExpansion2, ignored, ignored = CALL “ExtraTrend”[0,1,1,0,0,0](close)
c3=(myTrend2 <> myExpansion2)
myScore, ignored, ignored = CALL “MetaScore”[80, 0, 0](close)
seuil = 97
seuilCadeau=0.5
diff = ((close-open)/close)*100
eta = (high-close) > (close-open) and (open-low) > (close-open)
if diff < 0 then
diff = -diff
eta = (high-open) > (open-close) and (close-low) > (open-close)
endif
risk = ((high-low)/high)*100
cadeau = diff <= seuilCadeau
okvol = highest[20](close * volume) > 300000
capital = HullAverage[20](close*volume)
F=(c1 and c2 and c3) and (capital<average[5](capital[1])) and okvol and myScore>= seuil and cadeau and eta
SCREENER[F](myScore as “Meta”,risk as “%Risk”)1 user thanked author for this post.
09/13/2023 at 12:02 PM #220925//celui ci après avec croisement métascore à 97% ressort des valeurs.
timeframe(monthly)
myTrendMonth, ignored, myExpansionMonth, ignored, ignored = CALL “ExtraTrend”[0,0,0,0,0,0](close)
timeframe(weekly)
myTrendweekly, ignored, myExpansionweekly, ignored, ignored = CALL “ExtraTrend”[0,0,0,0,0,0](close)
timeframe(daily)
myTrend, ignored, myExpansion, ignored, ignored = CALL “ExtraTrend”[0,0,0,0,0,0](close)
myScore, ignored, ignored = CALL “MetaScore”[80, 0, 0](close)
seuil = 97
seuilCadeau=0.5
diff = ((close-open)/close)*100
eta = (high-close) > (close-open) and (open-low) > (close-open)
if diff < 0 then
diff = -diff
eta = (high-open) > (open-close) and (close-low) > (open-close)
endif
risk = ((high-low)/high)*100
cadeau = diff <= seuilCadeau
okvol = highest[20](close * volume) > 300000
capital = HullAverage[20](close*volume)
signalscore=0
condition =(myTrendMonth[j] <> myExpansionMonth[j]) and (myTrendWeekly[j] <> myExpansionWeekly[j]) and(myTrend[j] <> myExpansion[j])
for j=0 to 254
IF condition and (myScore[j]>seuil AND myScore[j+1]<seuil) then
signalscore=1
endif
nextsignal = myTrend <> myExpansion and capital < average[5](capital[1]) and cadeau and eta and okvol
SCREENER[signal and signalscore=1](risk as “%Risk”)09/14/2023 at 6:03 PM #221046@jacquesgermain : Merci beaucoup c’est ce que je voulais,
j’ai plus qu’a me baser sur ca pour ajouter d’autres conditions et bâtir une stratégie dessus.Merci,
10/20/2023 at 8:08 PM #222709Bonjour,
j’essaye de me faire un screener pour afficher tous mes titres qui sont en tendance baissière (=dont le cours n’est plus dans la zone bleue). Dans la sélection à scanner, je lui fais scanner ma liste de titre.
Voici le screener :123456789myTrend, ignored, ignored, ignored, ignored = CALL "ExtraTrend"[0,0,0,0,0,0](close)if myTrend<myTrend[1] thentendance=0endifok=tendance=0screener[ok](myTrend)Ce screener me ressort le titre WWD. Selon moi, c’est bien correct car le titre est bien sorti de la zone bleue.
Par contre, dans ma liste de titre, j’ai aussi SAF, et ce titre n’est pas ressorti par le screener, or il est bien sorti de la zone bleue et on a bien la valeur courante de myTrend qui est plus petite que myTrend à la bougie n-1, donc je ne ne comprends pas pourquoi il ne ressort pas.
Si quelqu’un a une explication, je suis preneur, merci10/22/2023 at 8:26 AM #22276811/09/2023 at 10:45 AM #223415Bonjour,
est ce que quelqu’un pourrait m’expliquer pourquoi le code ci-dessous fonctionne correctement ? 🙂12345678910111213141516myTrend, ignored, ignored, ignored, ignored = CALL "ExtraTrend"[0,0,0,0,0,0](close)okprix=(close>415 and close < 416)// cours dans zone bleueif myTrend>myTrend[1] thentendance=1endif// cours hors zone bleueif myTrend<myTrend[1] thentendance=0endifok=close>=myTrend and tendance=1screener[ok and okprix](myTrend as "test")en affichant dans le critère de tri la valeur de myTrend puis de myTrend[1], j’obtiens ceci : myTrend=398,91 et myTrend[1]=396,85
donc oui, on a bien une progression, donc le test de la zone bleu retourne bien TRUE, ce que l’on constate aussi sur le graphe, jusque là tout va bien.Mais si j’affiche les cursors details, et que je regarde la valeur de Trend pour la bougie courante et la précédente, j’ai 2 fois la meme valeur de 394,17
Pourquoi donc est ce que j’ai du 398,91/396,85 d’un coté (que je suis d’ailleurs incapable de retrouver quelque part sur le graphe), et 394,17 de l’autre? Sachant qu’avec 2 fois 394,17 alors le test de zone bleu devrait valoir 0 au lieu de 1
J’ai essayé de montrer sur les graphes toutes les choses qui me semblaient importantes.
merci
11/09/2023 at 5:31 PM #223450 -
AuthorPosts