EMA Cloud + EMA 200 Dashboard ema 20/50 [Intraday]

 

Ce script Pine est un indicateur de tableau de bord qui affiche les tendances basées sur les moyennes mobiles exponentielles (EMA) pour différentes périodes de temps (5 minutes, 15 minutes, 1 heure, 4 heures, et quotidien). Voici une explication détaillée du mode d'emploi, des critères, et du fonctionnement de ce script :

Moyennes Mobiles Exponentielles (EMAs) Cloud :

Les EMAs de 20 et 50 périodes sont calculées sur le prix de clôture.
Un nuage est tracé entre les deux EMAs, rempli en bleu lorsqu'EMA(20) > EMA(50), et en rouge dans le cas contraire.
EMA à 200 périodes :

Un EMA à 200 périodes est tracé sur le graphique principal.
La couleur par défaut est bleu foncé .
Lissage (Smoothing) :

L'utilisateur peut choisir entre différents types de moyennes mobiles (SMA, EMA, SMMA (RMA), WMA, VWMA).
Une ligne de lissage est tracée sur le graphique principal, avec une couleur orange (#f37f20).
La période de lissage est définie par l'utilisateur (par défaut à 5).
Tableau de bord EMA 20/50 :

Les EMAs à 20 et 50 périodes sont calculées sur plusieurs intervalles de temps (5 minutes, 15 minutes, 1 heure, 4 heures, quotidien).
Les tendances sont déterminées en comparant les EMAs, et des flèches (▲ pour haussier, ▼ pour baissier) sont affichées dans le tableau de bord.
Les couleurs des flèches indiquent la tendance : bleu pour haussier, rouge pour baissier.
Tableau de bord d'Affichage :

Un tableau de bord est affiché dans le coin supérieur droit du graphique.
Chaque ligne du tableau de bord représente une période de temps avec la tendance correspondante.
Les tendances sont indiquées par des flèches et des couleurs (▲ bleu pour haussier, ▼ rouge pour baissier).
Le thème du tableau de bord peut être choisi entre "Dark" et "Light".
Remarque :

Ce script est conçu pour aider les traders à identifier les tendances basées sur les EMAs sur plusieurs périodes de temps.
Les flèches indiquent si la tendance est haussière ou baissière.
Le choix du thème (clair ou sombre) permet à l'utilisateur de personnaliser l'apparence du tableau de bord.
N'oubliez pas de faire des tests approfondis avant d'utiliser cet indicateur dans un environnement de trading réel, et ajustez les paramètres selon vos besoins.

_______________________________________________________________________code pine script ___________________________________________________________________

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SESE04 Traders journal site trader-s-journal.org

//@version=5
indicator("EMA Cloud + EMA 200 Dashboard ema 20/50 [Intraday]", shorttitle="EMA Cloud + EMA 200 Dashboard ema 20/50 [Tradersjournal]", overlay=true)
// EMAS Cloud

ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)

ema20plot = plot(ema20, color=color.rgb(7, 15, 250), style=plot.style_line, linewidth=1, title='EMA(20)', transp=100)
ema50plot = plot(ema50, color=color.rgb(240, 11, 11), style=plot.style_line, linewidth=1, title='EMA(50)')
fill(ema20plot, ema50plot, color=ema20 > ema50 ? #002ae6 : #f80a0a, editable=true, transp=60)

//EMA 200

len = input.int(200, minval=1, title="Length")
src = input(close, title="Source")
offset = input.int(title="Offset", defval=0, minval=-500, maxval=500)
out = ta.ema(src, len)
plot(out, title="EMA", color=#001220, offset=offset)

ma(source, length, type) =>
switch type
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)

typeMA = input.string(title = "Method", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Smoothing")
smoothingLength = input.int(title = "Length", defval = 5, minval = 1, maxval = 100, group="Smoothing")

smoothingLine = ma(out, smoothingLength, typeMA)
plot(smoothingLine, title="Smoothing Line", color=#f37f20, offset=offset, display=display.none)

//DASHBOARD EMA 20/50


// Inputs
theme = input.string("Dark", "Theme", options=["Dark", "Light"])
emaFastPeriod = input(20, "Fast EMA Period", group="EMA", tooltip="Fast EMA > Slow EMA = Bullish. Fast EMA < Slow EMA = Bearish")
emaSlowPeriod = input(50, "Slow EMA Period", group="EMA")

// Calculate EMAs on multiple timeframes
emaFast_5min = request.security(syminfo.tickerid, "5", ta.ema(close, emaFastPeriod))
emaSlow_5min = request.security(syminfo.tickerid, "5", ta.ema(close, emaSlowPeriod))
emaFast_15min = request.security(syminfo.tickerid, "15", ta.ema(close, emaFastPeriod))
emaSlow_15min = request.security(syminfo.tickerid, "15", ta.ema(close, emaSlowPeriod))
emaFast_1hour = request.security(syminfo.tickerid, "60", ta.ema(close, emaFastPeriod))
emaSlow_1hour = request.security(syminfo.tickerid, "60", ta.ema(close, emaSlowPeriod))
emaFast_4hour = request.security(syminfo.tickerid, "240", ta.ema(close, emaFastPeriod))
emaSlow_4hour = request.security(syminfo.tickerid, "240", ta.ema(close, emaSlowPeriod))
emaFast_daily = request.security(syminfo.tickerid, "D", ta.ema(close, emaFastPeriod))
emaSlow_daily = request.security(syminfo.tickerid, "D", ta.ema(close, emaSlowPeriod))

 

// Determine EMA trends
isBullish_5min = emaFast_5min > emaSlow_5min
isBearish_5min = emaFast_5min < emaSlow_5min
isBullish_15min = emaFast_15min > emaSlow_15min
isBearish_15min = emaFast_15min < emaSlow_15min
isBullish_1hour = emaFast_1hour > emaSlow_1hour
isBearish_1hour = emaFast_1hour < emaSlow_1hour
isBullish_4hour = emaFast_4hour > emaSlow_4hour
isBearish_4hour = emaFast_4hour < emaSlow_4hour
isBullish_daily = emaFast_daily > emaSlow_daily
isBearish_daily = emaFast_daily < emaSlow_daily


// EMA-based color
color5m = isBullish_5min ? #0840f8 : isBearish_5min ? color.red : #f4f5fc
color15m = isBullish_15min ? #0d0aeb : isBearish_15min ? color.red : #fafbff
color1h = isBullish_1hour ? #0a2df5 : isBearish_1hour ? color.red : #fefeff
color4h = isBullish_4hour ? #0717f7 : isBearish_4hour ? color.red : #fdfdff
color1d = isBullish_daily ? #0645f3 : isBearish_daily ? color.red : #fbfcff

 


// Create dashboard
var bgcolor = theme == "Light" ? color.rgb(0, 51, 192, 75) : #ffffff1a
var frame_color = theme == "Light" ? color.new(#000000, 10) : #070000e6
var border_color = theme == "Light" ? color.new(#000000, 10) : color.new(#090000, 10)
var text_color = theme == "Light" ? color.new(#000000, 0) : color.new(#ffffff, 0)

var table trendTable = table.new( position.top_right, 9, 7, bgcolor=bgcolor,
frame_color=frame_color, frame_width=1, border_color=border_color, border_width=1)

table.cell(trendTable, 1, 1, "20/50", text_color=text_color)
table.cell(trendTable, 1, 2, "EMA", text_color=text_color)


table.cell(trendTable, 2, 1, "5M ", text_color=text_color)
table.cell(trendTable, 2, 2, isBullish_5min ? "▲" : isBearish_5min ? "▼" : "", text_color=color5m)

table.cell(trendTable, 3, 1, "15M", text_color=text_color)
table.cell(trendTable, 3, 2, isBullish_15min ? "▲" : isBearish_15min ? "▼" : "", text_color=color15m)


table.cell(trendTable, 5, 1, "1H ", text_color=text_color)
table.cell(trendTable, 5, 2, isBullish_1hour ? "▲" : isBearish_1hour ? "▼" : "", text_color=color1h)


table.cell(trendTable, 6, 1, "4H ", text_color=text_color)
table.cell(trendTable, 6, 2, isBullish_4hour ? "▲" : isBearish_4hour ? "▼" : "", text_color=color4h)


table.cell(trendTable, 7, 1, "1D ", text_color=text_color)
table.cell(trendTable, 7, 2, isBullish_daily ? "▲" : isBearish_daily ? "▼" : "", text_color=color1d)