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
-
-
07/18/2021 at 12:09 PM #173754
Il est aussi possible d’utiliser le même principe en screener.
Sans surprise, les meilleurs résultats sont sur des valeurs haussières.
Egalement, on peut tester la même chose sur de l’hebdo. (voir captures ci-jointes)
Mais pour profiter pleinement de l’indicateur, il faut l’utiliser au sein d’une vraie stratégie, avec:
- Gestion du stop loss
- Position sizing en fonction du risque
- Gestion des prises de profits partiels pour cristalliser une partie des gains en cas de retournement trop profond
- Utilisation de “starters” en début de trend (position initiale plus petite, puis ajout d’autres positions au fur et à mesure de la confirmation du mouvement)
Si on donne une même moyenne mobile 20 à 10 personnes, nous aurons 10 résultats différents.
Les points d’entrée, de sortie, les tailles de positions, la gestion du stop loss, etc seront différents.
Pour revenir à l’indicateur Extratrend, énormément de stratégies sont possibles.
Par exemple, sélectionner des valeurs en zone bleue, puis prendre une entrée à la sortie d’une contraction de volatilité, entrer uniquement si l’hebdo est bleu, tenter uniquement les retours en zone bleu après consolidation, attendre des validations zone bleue + résistance dynamique, ou encore aller chercher un point d’entrée plus précis avec un risque plus court sur une UT plus basse, genre 1h ou 5min.
Bref un éventail incroyable de possibilités.
Amusez-vous bien, bons trades à tous 😉
07/18/2021 at 5:40 PM #173769Je ne vois pas quelle est mon erreur de syntaxe sur cette ligne après y avoir rajouté “,”
Merci de m’indiquer.
return newDnTrend coloured(255,0,0), newUpTrend coloured(0,255,0),
Bein c’est la virgule justement, il attend autre chose derrière
07/18/2021 at 5:47 PM #173770Il est aussi possible d’utiliser le même principe en screener.
Sans surprise, les meilleurs résultats sont sur des valeurs haussières.
Egalement, on peut tester la même chose sur de l’hebdo. (voir captures ci-jointes)
Mais pour profiter pleinement de l’indicateur, il faut l’utiliser au sein d’une vraie stratégie, avec:
- Gestion du stop loss
- Position sizing en fonction du risque
- Gestion des prises de profits partiels pour cristalliser une partie des gains en cas de retournement trop profond
- Utilisation de “starters” en début de trend (position initiale plus petite, puis ajout d’autres positions au fur et à mesure de la confirmation du mouvement)
Si on donne une même moyenne mobile 20 à 10 personnes, nous aurons 10 résultats différents.
Les points d’entrée, de sortie, les tailles de positions, la gestion du stop loss, etc seront différents.
Pour revenir à l’indicateur Extratrend, énormément de stratégies sont possibles.
Par exemple, sélectionner des valeurs en zone bleue, puis prendre une entrée à la sortie d’une contraction de volatilité, entrer uniquement si l’hebdo est bleu, tenter uniquement les retours en zone bleu après consolidation, attendre des validations zone bleue + résistance dynamique, ou encore aller chercher un point d’entrée plus précis avec un risque plus court sur une UT plus basse, genre 1h ou 5min.
Bref un éventail incroyable de possibilités.
Amusez-vous bien, bons trades à tous 😉
Merci Christophe pour toutes ces précisions, mon but n’était bien évidemment pas de proposer une stratégie bien définie (à chacun de la construire), mais de donner un exemple simple et palier au fait que se servir du screener, comme tu dis, ne permet de scruter le comportement de la valeur que sur les 255 dernières cotations (ce qui est très handicapant).
Par contre impossible de mettre plusieurs timeframe dans le calcul d’un indicateur , pour cela il faut passer par le Backtest 😉
07/19/2021 at 3:57 PM #17382007/24/2021 at 7:37 AM #174075Bonjour,
Avez-vous du nouveau sur ce code ?
12345678910111213141516171819202122232425262728293031323334//****************************************************************//Screener pour afficher les débuts de tendance de l'indicateur ExtraTrend conforme Ichimoku//****************************************************************//Conditions ExtraTrend haussemyTrend, ignored, myExpansion = CALL "ExtraTrend"[0, 0, 0, 0, 0](close)uptrend = myTrend <> myExpansion //ExtraTrend bande bleuenewUpTrend = uptrend and not uptrend[1] //nouvelle tendance haussière (bande bleue)if newUpTrend thensignal = 1elsesignal = 0endif//Conditions de volumeconditionVolume = Average[20](volume) > 10000//Conditions IchimokuTENKAN = (highest[9](high) + lowest[9](low))/2KIJUN = (highest[26](high) + lowest[26](low))/2LS = closeSSA = (tenkan[26]+kijun[26])/2SSB = (highest[52](high[26])+lowest[52](low[26]))/2conditionSSASSB = close > SSA AND close > SSBconditionKIJUN = close > KIJUNconditionsTENKAN = close > TENKANconditionsLS = LS > KIJUN[26] AND LS > high[26] //LS au-dessus des prix et de la Kijun//Pour être encore plus restrictif avec LS au-dessus du nuage : LS > SSA[26] AND LS > SSB[26]//Lancement screenerscreener[newUpTrend AND conditionVolume AND conditionSSASSB AND conditionKIJUN AND conditionsTENKAN AND conditionsLS] (signal as "Trend")Ça donne quoi en termes de résultat ?
Merci par avance pour vos retours.
07/26/2021 at 8:55 AM #174164Bonjour,
12345678910111213141516171819202122232425262728293031323334//****************************************************************//Screener pour afficher les débuts de tendance de l’indicateur ExtraTrend conforme Ichimoku//****************************************************************//Conditions ExtraTrend haussemyTrend, ignored, myExpansion = CALL “ExtraTrend”[0, 0, 0, 0, 0](close)uptrend = myTrend <> myExpansion //ExtraTrend bande bleuenewUpTrend = uptrend and not uptrend[1] //nouvelle tendance haussière (bande bleue)if newUpTrend thensignal = 1elsesignal = 0endif//Conditions de volumeconditionVolume = Average[20](volume) > 10000//Conditions IchimokuTENKAN = (highest[9](high) + lowest[9](low))/2KIJUN = (highest[26](high) + lowest[26](low))/2LS = closeSSA = (tenkan[26]+kijun[26])/2SSB = (highest[52](high[26])+lowest[52](low[26]))/2conditionSSASSB = close > SSA AND close > SSBconditionKIJUN = close > KIJUNconditionsTENKAN = close > TENKANconditionsLS = LS > KIJUN[26] AND LS > high[26] //LS au-dessus des prix et de la Kijun//Pour être encore plus restrictif avec LS au-dessus du nuage : LS > SSA[26] AND LS > SSB[26]//Lancement screenerscreener[newUpTrend AND conditionVolume AND conditionSSASSB AND conditionKIJUN AND conditionsTENKAN AND conditionsLS] (signal as “Trend”)Imossible pour moi, d’exporter le code ! Je souhaite savoir si cela est normal ? Version 11, gratuite. Je dispose de la licence de l’indicateur ExtraTrend !
Merci par avance pour vos retours.
07/26/2021 at 8:58 AM #174165On ne peut pas exporter un itf qui comporte un CALL vers un produit du Marketplace, puisque la plateforme tente d’exporter les indicateurs en CALL qui sont évidemment protégés par la licence.
La façon la plus simple de procéder : copier/coller du texte
07/26/2021 at 9:06 AM #17416707/26/2021 at 1:38 PM #17419207/26/2021 at 11:01 PM #174207Pour avoir plusieurs unités de temps sur un seul graphique, j’utilise une unité de temps basse de 5 minutes sur lequel j’applique 2 indicateurs. Un pour affiché le trend de l’ExtraTrend et un autre pour afficher les chandeliers journalier :
ExtraTrend multiframe trendline.12345678910111213141516171819202122232425262728293031Defparam DRAWONLASTBARONLY = true// ******************** WARNING ********************//// This code ONLY work in UT 5min (or raise exception)// and is more accurate with more than 5K bars loaded// due to uppper timeframe calculations.//// ******************** WARNING ********************timeframe(540mn) // 1 daydd, ignored, ignored = CALL "ExtraTrend"[0, 0, 0, 0, 0](close)timeframe(60mn) // 1 hourhh, ignored, ignored = CALL "ExtraTrend"[0, 0, 0, 0, 0](close)timeframe(5mn) // 5 minTrend5, ignored, ignored = CALL "ExtraTrend"[0, 0, 0, 0, 0](close)timeframe(default)// --- Displayif day <> day[1] thenTrend540 = ddendifif hour <> hour[1] thenTrend60 = hhendifreturn Trend540 coloured(0,204,204,255) style(Line, 2) as "Day", Trend60 coloured(0,0,0,255) style(Line, 2) as "Hour", Trend5 coloured(220,100,100,255) style(Line, 2) as "5mn"DayBox Overlay1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950// DayBox Overlay//// TODO:// * Fix last bar redraw// * Add timeframe detection// * Add colors customizationif day <> day[1] thenpClose = close[1]middle = start+ROUND((barindex[1]-start)/2)if pOpen < pClose thenDRAWRECTANGLE(start, pOpen, barindex[1], pClose) coloured(0,204,204,50) bordercolor(0,204,204,50)DRAWRECTANGLE(middle, pOpen, (middle+1), pLow)coloured(150,150,150,255) bordercolor(150,150,150,255)DRAWRECTANGLE(middle, pClose, (middle+1), pHigh)coloured(150,150,150,255) bordercolor(150,150,150,255)elseDRAWRECTANGLE(start, pOpen, barindex[1], pClose) coloured(220,100,100,50) bordercolor(220,100,100,50)DRAWRECTANGLE(middle, pOpen, (middle+1), pHigh)coloured(150,150,150,255) bordercolor(150,150,150,255)DRAWRECTANGLE(middle, pClose, (middle+1), pLow)coloured(150,150,150,255) bordercolor(150,150,150,255)endifstart = barindexpOpen = openpHigh = closepLow = openendifif islastbarupdate thenpClose = closemiddle = start+ROUND((barindex-start)/2)if pOpen < pClose thenDRAWRECTANGLE(start, pOpen, barindex, pClose) coloured(0,204,204,50) bordercolor(0,204,204,50)DRAWRECTANGLE(middle, pOpen, (middle+1), pLow)coloured(150,150,150,50) bordercolor(150,150,150,50)DRAWRECTANGLE(middle, pClose, (middle+1), pHigh)coloured(150,150,150,50) bordercolor(150,150,150,50)elseDRAWRECTANGLE(start, pOpen, barindex, pClose) coloured(220,100,100,50) bordercolor(220,100,100,50)DRAWRECTANGLE(middle, pOpen, (middle+1), pHigh)coloured(150,150,150,50) bordercolor(150,150,150,50)DRAWRECTANGLE(middle, pClose, (middle+1), pLow)coloured(150,150,150,50) bordercolor(150,150,150,50)endifendifif high > pHigh thenpHigh = highendifif low < pLow thenpLow = lowendifreturnRésultat:
3 users thanked author for this post.
07/26/2021 at 11:11 PM #17421007/26/2021 at 11:40 PM #17421108/09/2021 at 10:25 PM #174982Merci beaucoup pour cet indicateur très très utile !
Peut-on créer un screener “croissance X rapidité” de chaque marché en trendup (bleu)
Autrement dit, comment distinguer les actions qui ont une probabilité de prendre 3% en 2 semaines de celles qui prendront 2% en 2 jour ?
J’ai tenté un topgunratio = vitesse de la trend [3] * volatilitéhistorique [3] mais c’est trop simpliste. Ça ne fonctionne pas.
Avez-vous d’autres idées ?
08/09/2021 at 10:32 PM #17498308/10/2021 at 10:31 AM #174997Pour avoir plusieurs unités de temps sur un seul graphique, j’utilise une unité de temps basse de 5 minutes sur lequel j’applique 2 indicateurs. Un pour affiché le trend de l’ExtraTrend et un autre pour afficher les chandeliers journalier :
ExtraTrend multiframe trendline.12345678910111213141516171819202122232425262728293031Defparam DRAWONLASTBARONLY = true// ******************** WARNING ********************//// This code ONLY work in UT 5min (or raise exception)// and is more accurate with more than 5K bars loaded// due to uppper timeframe calculations.//// ******************** WARNING ********************timeframe(540mn) // 1 daydd, ignored, ignored = CALL “ExtraTrend”[0, 0, 0, 0, 0](close)timeframe(60mn) // 1 hourhh, ignored, ignored = CALL “ExtraTrend”[0, 0, 0, 0, 0](close)timeframe(5mn) // 5 minTrend5, ignored, ignored = CALL “ExtraTrend”[0, 0, 0, 0, 0](close)timeframe(default)// — Displayif day <> day[1] thenTrend540 = ddendifif hour <> hour[1] thenTrend60 = hhendifreturn Trend540 coloured(0,204,204,255) style(Line, 2) as “Day”, Trend60 coloured(0,0,0,255) style(Line, 2) as “Hour”, Trend5 coloured(220,100,100,255) style(Line, 2) as “5mn”DayBox Overlay1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950// DayBox Overlay//// TODO:// * Fix last bar redraw// * Add timeframe detection// * Add colors customizationif day <> day[1] thenpClose = close[1]middle = start+ROUND((barindex[1]–start)/2)if pOpen < pClose thenDRAWRECTANGLE(start, pOpen, barindex[1], pClose) coloured(0,204,204,50) bordercolor(0,204,204,50)DRAWRECTANGLE(middle, pOpen, (middle+1), pLow)coloured(150,150,150,255) bordercolor(150,150,150,255)DRAWRECTANGLE(middle, pClose, (middle+1), pHigh)coloured(150,150,150,255) bordercolor(150,150,150,255)elseDRAWRECTANGLE(start, pOpen, barindex[1], pClose) coloured(220,100,100,50) bordercolor(220,100,100,50)DRAWRECTANGLE(middle, pOpen, (middle+1), pHigh)coloured(150,150,150,255) bordercolor(150,150,150,255)DRAWRECTANGLE(middle, pClose, (middle+1), pLow)coloured(150,150,150,255) bordercolor(150,150,150,255)endifstart = barindexpOpen = openpHigh = closepLow = openendifif islastbarupdate thenpClose = closemiddle = start+ROUND((barindex–start)/2)if pOpen < pClose thenDRAWRECTANGLE(start, pOpen, barindex, pClose) coloured(0,204,204,50) bordercolor(0,204,204,50)DRAWRECTANGLE(middle, pOpen, (middle+1), pLow)coloured(150,150,150,50) bordercolor(150,150,150,50)DRAWRECTANGLE(middle, pClose, (middle+1), pHigh)coloured(150,150,150,50) bordercolor(150,150,150,50)elseDRAWRECTANGLE(start, pOpen, barindex, pClose) coloured(220,100,100,50) bordercolor(220,100,100,50)DRAWRECTANGLE(middle, pOpen, (middle+1), pHigh)coloured(150,150,150,50) bordercolor(150,150,150,50)DRAWRECTANGLE(middle, pClose, (middle+1), pLow)coloured(150,150,150,50) bordercolor(150,150,150,50)endifendifif high > pHigh thenpHigh = highendifif low < pLow thenpLow = lowendifreturnRésultat:
Je vous remercie pour vos efforts. Je viens d’acheter l’indicateur.
Comment puis-je créer une stratégie à partir de cela ? -
AuthorPosts