c’est un simple indicateur visuel avec des barres vertes ou rouges pour savoir quand etre à l’achat ou à la vente.
On l’applique sur un Time Frame Daily, il représente la moyenne mobile 480 période sur le Time Frame 1H, soit 480 heures.
Si le cour de l’actif passe au dessus de cette moyenne mobile, la barre deviens verte.
A l’inverse si le cour de l’actif passe en dessous de la moyenne mobile, la barre deviens rouge.
Voici le code TradingView :
//@version=3
study(title=”TAO-1D Daily chart”, shorttitle=”TAO-1D”, overlay=false)
//Inputs
ma_len = input(title=”MA Length”, type=integer, defval=480)
res = input(title=”MA Resolution”, type=resolution, defval=”60″)
htf_ma = sma(close, ma_len)
//Hourly MA source
out = security(tickerid, res, htf_ma)
//Bar color logic
signal = close >= out ? green : red
plot(1, style=columns, color=signal)
Cordialement Wilfried
Si possible, j’aurai également besoin d’utiliser cette indicateur dans ProScreener, afin qu’il détecte les actifs qui viennent de passer du rouge au vert, ou tout simplement les actifs dans le vert.
Si j’ai bien compris ta demande, le code ci-dessous devrait te convenir. L’histogramme est peint en vert quand le prix de clôture est au dessus de la moyenne mobile 480 et en rouge lorsqu’il est situé en dessous.
ma = average[480]
if close>ma then
r=255
g=0
else
r=0
g=255
endif
return 1 coloured(r,g,0) style(histogram)
Salut, oui merci c’est bien l’idée par contre sur le graphique ça donnait l’inverse au niveau des barres rouges et vertes donc j’ai inversé le sens “<” et la c’est bon.
Par contre la période 480 est sur une moyenne mobile en TF : 1H,
du coup j’ai modifié 480 par 20, vu que c’est sensiblement l’équivalent en nombre de jours.
ma = average[20]
if close<ma then
r=255
g=0
else
r=0
g=255
endif
return 1 coloured(r,g,0) style(histogram)
Du coup est ce que tu as possibilité de fixé la MA(480h) en période hourly meme si je l’affiche sur un graphique en Daily?
(dans la capture d’écran Tradingview ci dessous, j’ai les 2 sur une TF daily) ça me permet d’avoir un signal passif et un dynamique
Non on ne peut pas récupérer des informations d’autres unités de temps, pas encore.
Dommage!
En tout cas merci déjà pour ce codage.
J’ai commencé à regarder tes tutos videos pour la programmation, je vais essayer de m’y mettre.
Ayant déjà programmer des méthodes de jeux sur un logiciel de jeux de roulette de casino en dérivé C++ je devrais m’y retrouver.
J’ai tout de même une autre demande si ça ne te dérange pas,
Te serais t il possible de coder 2 screener basé sur cet indicateur
Le 1er :
affiche tous les actifs qui sont dans le vert
Le 2èm :
Affiche tous les actifs qui sont dans le vert depuis 1 bar , 2 bar, … jusqu’à 5 barres, celles qui sont dans le vert depuis plus longtemps n’apparaissent pas.
Dans cet idée il faudrait une colonne qui indique ce critère de 1 à 5 (voir ma piece jointe)
Pour le 1er, il suffit de tester si la variable g (couleur verte) est supérieure à 0.
ma = average[20]
if close<ma then
g=0
else
g=255
endif
screener[g]
Pour le 2ème on fait une boucle depuis la bougie actuelle et on compte la quantité d’occurrence consécutive de la condition et on l’affiche comme critère de tri.
ma = average[20]
a = close>ma
if a then
sum=0
for i = 0 to 4 do
if a[i] then
sum=sum+1
else
break
endif
next
endif
screener[a](sum)
Un grand merci Nicolas!
ça fonctionne bien.
J’ai aussi pu utiliser la fonction Backtest de ma stratégie sans codage c est cool, il ne me manquera plus qu’à placé tout ceci en autotrading.
Vraiment c’est super bien pensé le logiciel ProRealtime!