New “extended” version of the classic Supertrend indicator.
The Supertrend band is made from the supertrend itself (which can be calculated from 3 different manner) and from 1 Average True Range value above or below it, depending of the direction of the price.
There are 3 different type of the Supertrend Extendend calculation: (you can choose which one with the “type” parameter).
- Using ATR like the classic Supertrend
- Standard Deviation
- Standard Error
All these values are multiplied by the “multiplier” settings to extend or narrow the band. These indicators share the same “period” setting.
The indicator also uses the mean of the price over the last “midperiod”, instead of the Close (middle of a Donchian channel or just like a Kijun from Ichimoku).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
//PRC_SuperTrend Extended | indicator //31.10.2017 //Nicolas @ www.prorealcode.com //Sharing ProRealTime knowledge // --- settings //multiplier=2.236 //period=66 //type=1 //1 = use ATR , 2 = Use standard deviation , 3 = Use standard error //midperiod=10 // --- end of settings type=max(1,type) if type=1 then moy=averagetruerange[period](close) elsif type=2 then moy=std[period](close) elsif type=3 then moy=ste[period](close) endif price=(highest[midperiod](high)+lowest[midperiod](low))/2 up=price+multiplier*moy dn=price-multiplier*moy once trend=1 if close>up[1] then trend=1 elsif close<dn[1] then trend=-1 endif if trend<0 and trend[1]>0 then flag=1 else flag=0 endif if trend>0 and trend[1]<0 then flagh=1 else flagh=0 endif if trend>0 and dn<dn[1] then dn=dn[1] endif if trend<0 and up>up[1] then up=up[1] endif if flag=1 then up=price+multiplier*moy endif if flagh=1 then dn=price-multiplier*moy endif if trend=1 then mysupertrend=dn offset=moy color1=0 color2=191 color3=255 else mysupertrend=up offset=-moy color1=255 color2=69 color3=0 endif drawcandle(mysupertrend,mysupertrend+offset,mysupertrend,mysupertrend+offset) coloured(color1,color2,color3,50)bordercolor(100,100,100,0) if trend=1 and trend[1]<>1 then drawarrowup(barindex,mysupertrend) coloured(color1,color2,color3) endif if trend=-1 and trend[1]<>-1 then drawarrowdown(barindex,mysupertrend) coloured(color1,color2,color3) endif return mysupertrend coloured (color1,color2,color3) as "SuperTrend Extended 1", mysupertrend+offset coloured (color1,color2,color3) as "SuperTrend Extended 2" |
Share this
No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.
ProRealTime ITF files and other attachments :PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials
Hello Nicolas, juste pour dire qu’un petit mix avec ce (supertrend-extended) couplé à la (détection des doubles top, doubles bottom) codé par Leo et bien “çà le fait grave” comme on dit…
Bravo
Il y a beaucoup de paramètres à explorer comme de situations de marché différentes, je vous laisse vous faire votre propre opinion 🙂
Bonne observation Swapping ! en bougeant les paramètres à notre convenance les deux indicateurs vont de concert.
oui excellent job, ton indicateur ne repeint pas ?
il n’y a pas d’indicateur qui ‘repeignent’ dans le sens où tu le conçois, sous PRT.
c’est a dire ? Le miens repeint, mais c’est peut etre un probleme de barindex, je parle pas de ton indicateur , mais le miens …
Quel indicateur svp? Dans la majorité des cas, les indicateurs se calcul sur le Close, donc sur la bougie courante l,tant qu’elle n’est pas cloturé, l’info peut changer, mais ça n’est évidemment pas ce que l’on peut qualifier de ‘repeint’. Cette notion s’applique lorsque un indicateur modifie les informations du passé uniquement.
IF c crosses over –140 AND h1>h2 then
DRAWARROWUP(barindex[1],low[1]–rge/1)coloured(0,0,255)
ELSIF c crosses under 140 AND h1<h2 then
DRAWARROWDOWN(barindex[1],high[1]+rge/1)coloured(255,0,0)
ENDIF //
Voila, donc la fleche s'affiche quand le cci croise la ligne, mais parfois il la touche et repare, alors la fleche apparait et repart et je ne sais pas comment faire pour que la fleche s'affiche uniquement que quand le cci a croiser ou à la cloture de la bougie . que la fleche apparaissent a la cloture de la bougie uniquement.
je te remercie nico .
Pour les demandes spécifiques merci d’utiliser le forum.
Lors de la validation du programme, j’obtiens :
Erreur de syntaxe
Veuillez définir la variable suivante : period
Veuillez définir la variable suivante : midperiod
Veuillez définir la variable suivante : multiplier
Que peut on faire ?
Télécharger le fichier et l’importer ou supprimer les // devant les noms de ces variables
Merci beaucoup, c’est exactement ce qu’il fallait faire.
Bonjour Nicolas,
L’indicateur s’affiche dans une fenêtre en bas et non pas sur le cours…
auriez vous une solution pour remédier au problème s’il vous plait
merci d’avance
Appliquer l’indicateur sur le prix à l’aide de la clé à molette située en haut à gauche de votre graphique.
Bonjour Nicolas,
Je trouve cet indicateur intéressant.
Bien sur, comme tout indicateur, il y a de faux messages (ex : apparition d’une flèche bleue, donc trend haussier, et puis non… le trend redevient baissier)
D’où ma question : y a t- il un moyen de réduire un peu les faux signaux sur cet indicateur ?
Merci
Cordialement
Acheter une boule de cristal ? 🙂 Désolé mais ici comme ailleurs, nul ne pourra savoir de quoi le futur sera fait.
Ah bah non… c’est pas juste… m’enfin ! Moi, je ne veux que des signaux gagnants… Mieux qu’une boule de cristal, je vais m’acheter un télescope pour sonder l’alignement des satellites de Saturne 🙂
Et oui… si seulement on pouvait prédire l’avenir…
Mine de rien, avec votre indicateur, j’arrive enfin à ne plus griller des comptes demo sur IG… je le couple avec d’autres indicateurs, mais le votre a retenu mon attention.
Je teste… je teste… on verra la suite
@+
Très bien ! Pourquoi ne pas ouvrir une file dans le forum de trading : https://www.prorealcode.com/forum/prorealtime-forum-francais/discussions-generales-sur-le-trading/
Cela vaudrait peut-être le coup d’échanger entre membres à ce sujet.
Hi Nicolas, I love this, it complements my mean reversion strategies nicely. Is there a way to create an automated trading strategy based on the system? My code writing is limited and I tend to use the simplified creation tool within ProRealTime to create automated strategies (I have tried but don’t seem to be able to do it). Any help gratefully received. Thanks, Andrew
Sure, please add a new topic for this query in the automatic trading forum.
Bonjour Nicolas, et encore bravo pour VOTRE œuvre ! Avec les vicissitudes de la vie, pas eu le temps de me pencher davantage sur cet indicateur, mais ok pour votre proposition… je vais ouvrir prochainement un topic dessus, montrant comment je trade avec votre indicateur… avec les succès et les échecs aussi (bah oui… y en a). Par contre, au regard de mon agenda, je préparerai tout ça d’ici deux semaines… et en anglais (je vais essayer de “speaker” English).
Bonne journée
Super ! Merci pour le retour, à très prochainement dans le forum Anglais dans ce cas 🙂
Des nouvelles ?
Bonjour Nicolas, super indicateur? comment faire pour le transformer en stratégie ?
Bonjour, merci d’ouvrir un sujet spécifique dans le forum.
hi there is a scanner for this indicator ? thanks all
Good morning Nicolas, congratulations for this fantastic indicator, can you tell me if it is convertible for the MT4 platform?
Thanks Nicola
You can for it ask as a private job in the programming services section:
https://www.prorealcode.com/trading-programming-services/
Thanks Nicolas 😉
Hi Nicolas, I have build supertrend in excel for research and database purposes, but I actually would like to have the Supertrend Extended in excel. Can you help me with this or can you tell me the difference between the two?
Sorry, I can afford to make custom programming for everyone. If you want to have codes translated into another platform than ProRealTime, please send a query to the coding services: https://www.prorealcode.com/trading-programming-services/
Bonsoir, je souhaiterai afficher sur le 1 mn le supertrend extended du 5 mn pour avoir ainsi le 5 mn sur le 1 mn mais je n’arrive pas a le faire en appliquant une regle de 3 sur le second .
pouvez vous m’aider svp
cdlt
Il faut multiplier la période de l’indicateur par 5.
BONSOIR, c’est deja fait mais ca ne fonctionne pas on obtient pas du tout le changement au meme moment que sur le 5 mn , j’ai essayé en multipliant la periode puis la periode et la midperiod rien n’y fait , je pense que le coef multiiplier doit avoir une incidence mais la je cale cdlt
ça ne serait jamais totalement identique en multipliant les périodes. Avec la version 11 on peut gérer les indicateurs multi timeframe, encore un peu de patience pour l’avoir chez IG.
Bonjour, j’aimerais trouver un moyen de coder (comme condition dans un autre indicateur) la ligne Supertrend Extended 2 dans son “sens”. C’est à dire de reconnaître quand la ligne change de couleur, du bleu au rouge et inversement. Je n’y suis pas parvenu car je débute : il se trouve que le changement de couleur n’est pas lié à un croisement à la hausse ou à la baisse du close…Merci pour votre aide !
Il faut ajouter la variable “trend” dans l’instruction RETURN et la comparer avec sa précédente valeur pour savoir si elle passe de 1 à -1 ou inversement.
Comment peut on la comparer ? comme ceci ? cela ne me donne plus le message d’erreur manque de variable. mais cela ne correspond a rien
Bonjour, je n’arrive pas à créer ce screener
close > supertrend extended2[1]
la réponse la fonction appelée retourne 2 valeurs mais le code en a besoin de 3
Merci pour votre aide
voir ce sujet pour un screener basé sur Supertrend Extended: https://www.prorealcode.com/topic/supertrend-extended-demende-de-screener/