ProRealCode - Trading & Coding with ProRealTime™
bonjour
j’aimerais pouvoir parametrer des couleurs de bandeau sur des fibo dynamique ( entre 38.2 et 61.8) court terme ( CT) et long terme (LT) avec une couleur verte si le bandeau est en hausse et en rouge si il est en baisse ( avec un degradé entre les bandeaux CT et LT.( sur ce graphique CT en Gris et LT en rose.
voici l iTF fibo dynamique
Le graphe du jour sur le GC
Voici.
// PARÁMETROS DE CONFIGURACIÓN
ShorttermHH = 50
ShorttermLL = 50
LongtermHH = 200
LongtermLL = 100
// Transparencia del relleno (0 = invisible, 255 = opaco)
alphaLevel = 40
// --- CÁLCULOS LARGO PLAZO (LT) ---
hhLT = Highest[LongtermHH](High)
llLT = Lowest[LongtermLL](Low)
rangeLT = hhLT - llLT
LTfib107 = rangeLT * 0.107
LTfib236 = rangeLT * 0.236
LTfib382 = rangeLT * 0.382
LTfib44 = rangeLT * 0.44
LTfib500 = rangeLT * 0.5
LTfib560 = rangeLT * 0.56
LTfib618 = rangeLT * 0.618
LTfib702 = rangeLT * 0.705
LTfib744 = rangeLT * 0.7455
LTfib786 = rangeLT * 0.786
LTfib893 = rangeLT * 0.893
LTlevel107 = hhLT - LTfib107
LTlevel236 = hhLT - LTfib236
LTlevel382 = hhLT - LTfib382 // Techo banda LT
LTlevel44 = hhLT - LTfib44
LTlevel500 = hhLT - LTfib500 // Centro LT
LTlevel560 = hhLT - LTfib560
LTlevel618 = hhLT - LTfib618 // Suelo banda LT
LTlevel702 = hhLT - LTfib702
LTlevel786 = hhLT - LTfib786
LTlevel744 = hhLT - LTfib744
LTlevel893 = hhLT - LTfib893
// --- CÁLCULOS CORTO PLAZO (CT) ---
hh = Highest[ShorttermHH](High)
ll = Lowest[ShorttermLL](Low)
rangeCT = hh - ll
fib107 = rangeCT * 0.107
fib236 = rangeCT * 0.236
fib382 = rangeCT * 0.382
fib44 = rangeCT * 0.44
fib500 = rangeCT * 0.5
fib560 = rangeCT * 0.56
fib618 = rangeCT * 0.618
fib702 = rangeCT * 0.705
fib744 = rangeCT * 0.7455
fib786 = rangeCT * 0.786
fib893 = rangeCT * 0.893
level107 = hh - fib107
level236 = hh - fib236
level382 = hh - fib382 // Techo banda CT
level44 = hh - fib44
level500 = hh - fib500 // Centro CT
level560 = hh - fib560
level618 = hh - fib618 // Suelo banda CT
level786 = hh - fib786
level702 = hh - fib702
level744 = hh - fib744
level893 = hh - fib893
// --- LÓGICA DE COLORES Y RELLENO (COLORBETWEEN) ---
// 1. Banda Largo Plazo (LT) - Entre 38.2 y 61.8
IF LTlevel500 > LTlevel500[1] THEN
// Tendencia Alcista: Verde
rLT = 0
gLT = 255
bLT = 0
ELSIF LTlevel500 < LTlevel500[1] THEN
// Tendencia Bajista: Rojo
rLT = 255
gLT = 0
bLT = 0
ENDIF
COLORBETWEEN(LTlevel382, LTlevel618, rLT, gLT, bLT, alphaLevel)
// 2. Banda Corto Plazo (CT) - Entre 38.2 y 61.8
IF level500 > level500[1] THEN
// Tendencia Alcista: Verde
rCT = 0
gCT = 255
bCT = 0
ELSIF level500 < level500[1] THEN
// Tendencia Bajista: Rojo
rCT = 255
gCT = 0
bCT = 0
ENDIF
COLORBETWEEN(level382, level618, rCT, gCT, bCT, alphaLevel)
// --- DIBUJO DE TEXTOS (Solo en la última barra) ---
IF IsLastBarUpdate THEN
DRAWTEXT(" <= LT HIGH", BarIndex, hhLT, SansSerif, Bold, 20) COLOURED(250,250,0)
DRAWTEXT(" <= LT 10,7", BarIndex, LTlevel107, SansSerif, Bold, 18) COLOURED(250,150,0)
DRAWTEXT(" <= LT 23,6", BarIndex, LTlevel236, SansSerif, Bold, 18) COLOURED(250,150,0)
DRAWTEXT(" <= LT 38,2", BarIndex, LTlevel382, SansSerif, Bold, 18) COLOURED(257,128,0)
DRAWTEXT(" <= LT 50,0", BarIndex, LTlevel500, SansSerif, Bold, 18) COLOURED(250,250,0)
DRAWTEXT(" <= LT 56,0", BarIndex, LTlevel560, SansSerif, Bold, 18) COLOURED(250,250,0)
DRAWTEXT(" <= LT 61,8", BarIndex, LTlevel618, SansSerif, Bold, 18) COLOURED(250,250,0)
DRAWTEXT(" <= LT 70,5", BarIndex, LTlevel702, SansSerif, Bold, 18) COLOURED(250,250,0)
DRAWTEXT(" <= LT 78,6", BarIndex, LTlevel786, SansSerif, Bold, 18) COLOURED(250,250,0)
DRAWTEXT(" <= LT 74,4", BarIndex, LTlevel744, SansSerif, Bold, 18) COLOURED(250,250,0)
DRAWTEXT(" <= LT 89.3", BarIndex, LTlevel893, SansSerif, Bold, 18) COLOURED(250,250,0)
DRAWTEXT(" <= LT LOW", BarIndex, llLT, SansSerif, Bold, 20) COLOURED(250,250,0)
DRAWTEXT(" < CT HIGH", BarIndex-1, hh) COLOURED(250,250,0)
DRAWTEXT(" < CT 10,7", BarIndex-1, level107) COLOURED(250,250,0)
DRAWTEXT(" < CT 23,6", BarIndex-1, level236) COLOURED(250,250,0)
DRAWTEXT(" < CT 38,2", BarIndex-1, level382) COLOURED(250,250,0)
DRAWTEXT(" < CT 50,0", BarIndex-1, level500) COLOURED(250,250,0)
DRAWTEXT(" < CT 56", BarIndex-1, level560) COLOURED(250,250,0)
DRAWTEXT(" < CT 61,8", BarIndex-1, level618) COLOURED(250,250,0)
DRAWTEXT(" < CT 78,6", BarIndex-1, level786) COLOURED(250,250,0)
DRAWTEXT(" < CT 70,5", BarIndex-1, level702) COLOURED(250,250,0)
DRAWTEXT(" < CT 89,3", BarIndex-1, level893) COLOURED(250,250,0)
DRAWTEXT(" < CT LOW", BarIndex-1, ll) COLOURED(250,250,0)
ENDIF
RETURN hhLT COLOURED(0,0,250) STYLE(line,3) AS "LT HIGH", LTlevel236 COLOURED(250,105,180) STYLE(dottedline,1) AS "LT 23,6", LTlevel107 COLOURED(250,250,250) STYLE(dottedline,1) AS "LT 10,7", LTlevel382 COLOURED(257,105,180) STYLE(line,2) AS "LT 38,2", LTlevel44 COLOURED(257,250,250) STYLE(dottedline,1) AS "LT 44", LTlevel500 COLOURED(250,105,180) STYLE(line,3) AS "LT 50,0", LTlevel560 COLOURED(250,250,0) STYLE(dottedline,1) AS "LT 56,0", LTlevel702 COLOURED(250,250,250) STYLE(dottedline,2) AS "LT 70.50", LTlevel618 COLOURED(250,105,180) STYLE(line,2) AS "LT 61,8", LTlevel786 COLOURED(250,250,250) STYLE(dottedline,1) AS "LT 78,6", LTlevel744 COLOURED(250,250,250) STYLE(dottedline,3) AS "LT 74,4", LTlevel893 COLOURED(250,250,250) STYLE(dottedline,1) AS "LT 89.3", llLT COLOURED(0,0,250) STYLE(line,3) AS "LT LOW", hh STYLE(line,3) AS "SHT HIGH", level107 COLOURED(250,250,0) AS "SHT 10,7", level236 COLOURED(0,250,0) AS "SHT 23,6", level382 COLOURED(0,250,0) AS "SHT 38,2", level44 COLOURED(250,250,0) AS "SHT 44", level500 COLOURED(0,250,0) AS "SHT 50,0", level560 COLOURED(250,250,0) AS "SHT 56", level618 COLOURED(0,250,0) AS "SHT 61,8", level786 COLOURED(0,250,0) AS "SHT 78,6", level744 COLOURED(250,250,0) AS "SHT 74,4", level893 COLOURED(250,250,0) AS "SHT 89,3", level702 COLOURED(250,250,0) AS "SHT 70,5", ll STYLE(line,3) AS "SHT LOW"
merci bien GRACIAS Ivan. la modification que j aimerais avoir
1- les textes des fibo s’affichent en plus à chaque barre donc c’est illisible. sur l indic “Fibo” de base, les fibo s’affichent une seule fois.
2- il y a t’il la possibilité d’avoir un parametrage qui permet d’afficher soit le bandeau CT soit le bandeau LT en cliquant sur un bouton par exemple?
Merci encore pour ton aide precieuse.
ps: j ai changé la couleur les LT pour etre plus lisible.( en rose/bleu)
Ah, d’accord. Pour le premier problème, saisissez ceci sur la première ligne : « DEFPARAM DrawOnLastBarOnly = true ».
Pour le second, vous devrez créer 2 variables booléennes « ShowCT » et « ShowLT ».
DEFPARAM DrawOnLastBarOnly = true
// --- VISUALIZATION PARAMETERS ---
// (Set these in the indicator settings window as "Boolean")
ShowCT = 1 // Show CT
ShowLT = 1 // Show LT
// --- CALCULATION PARAMETERS ---
ShorttermHH = 50
ShorttermLL = 50
LongtermHH = 200
LongtermLL = 100
// Fill transparency (0 = invisible, 255 = opaque)
alphaLevel = 40
// --------------------------------------
// --- LONG TERM CALCULATIONS (LT) ---
// --------------------------------------
hhLT = Highest[LongtermHH](High)
llLT = Lowest[LongtermLL](Low)
rangeLT = hhLT - llLT
// Mathematical calculations
LTfib107 = rangeLT * 0.107
LTfib236 = rangeLT * 0.236
LTfib382 = rangeLT * 0.382
LTfib44 = rangeLT * 0.44
LTfib500 = rangeLT * 0.5
LTfib560 = rangeLT * 0.56
LTfib618 = rangeLT * 0.618
LTfib702 = rangeLT * 0.705
LTfib744 = rangeLT * 0.7455
LTfib786 = rangeLT * 0.786
LTfib893 = rangeLT * 0.893
// LT Levels assignment
LTlevel107 = hhLT - LTfib107
LTlevel236 = hhLT - LTfib236
LTlevel382 = hhLT - LTfib382
LTlevel44 = hhLT - LTfib44
LTlevel500 = hhLT - LTfib500
LTlevel560 = hhLT - LTfib560
LTlevel618 = hhLT - LTfib618
LTlevel702 = hhLT - LTfib702
LTlevel786 = hhLT - LTfib786
LTlevel744 = hhLT - LTfib744
LTlevel893 = hhLT - LTfib893
// --------------------------------------
// --- SHORT TERM CALCULATIONS (CT) ---
// --------------------------------------
hh = Highest[ShorttermHH](High)
ll = Lowest[ShorttermLL](Low)
rangeCT = hh - ll
// Mathematical calculations
fib107 = rangeCT * 0.107
fib236 = rangeCT * 0.236
fib382 = rangeCT * 0.382
fib44 = rangeCT * 0.44
fib500 = rangeCT * 0.5
fib560 = rangeCT * 0.56
fib618 = rangeCT * 0.618
fib702 = rangeCT * 0.705
fib744 = rangeCT * 0.7455
fib786 = rangeCT * 0.786
fib893 = rangeCT * 0.893
// CT Levels assignment
level107 = hh - fib107
level236 = hh - fib236
level382 = hh - fib382
level44 = hh - fib44
level500 = hh - fib500
level560 = hh - fib560
level618 = hh - fib618
level786 = hh - fib786
level702 = hh - fib702
level744 = hh - fib744
level893 = hh - fib893
// --------------------------------------
// --- VISUALIZATION LOGIC (ON/OFF) ---
// --------------------------------------
// 1. LONG TERM MANAGEMENT (LT)
IF ShowLT THEN
// LT Trend Colors
IF LTlevel500 > LTlevel500[1] THEN
rLT = 0
gLT = 255
bLT = 0
ELSE
rLT = 255
gLT = 0
bLT = 0
ENDIF
// LT Fill drawing
COLORBETWEEN(LTlevel382, LTlevel618, rLT, gLT, bLT, alphaLevel)
ELSE
// If ShowLT is false, hide lines by assigning UNDEFINED
hhLT = UNDEFINED
llLT = UNDEFINED
LTlevel107 = UNDEFINED
LTlevel236 = UNDEFINED
LTlevel382 = UNDEFINED
LTlevel44 = UNDEFINED
LTlevel500 = UNDEFINED
LTlevel560 = UNDEFINED
LTlevel618 = UNDEFINED
LTlevel702 = UNDEFINED
LTlevel744 = UNDEFINED
LTlevel786 = UNDEFINED
LTlevel893 = UNDEFINED
ENDIF
// 2. SHORT TERM MANAGEMENT (CT)
IF ShowCT THEN
// CT Trend Colors
IF level500 > level500[1] THEN
rCT = 0
gCT = 255
bCT = 0
ELSE
rCT = 255
gCT = 0
bCT = 0
ENDIF
// CT Fill drawing
COLORBETWEEN(level382, level618, rCT, gCT, bCT, alphaLevel)
ELSE
// If ShowCT is false, hide lines by assigning UNDEFINED
hh = UNDEFINED
ll = UNDEFINED
level107 = UNDEFINED
level236 = UNDEFINED
level382 = UNDEFINED
level44 = UNDEFINED
level500 = UNDEFINED
level560 = UNDEFINED
level618 = UNDEFINED
level702 = UNDEFINED
level744 = UNDEFINED
level786 = UNDEFINED
level893 = UNDEFINED
ENDIF
// --------------------------------------
// --- TEXT DRAWING (Last bar only) ---
// --------------------------------------
IF IsLastBarUpdate THEN
// LT Texts (Only if ShowLT is active)
IF ShowLT THEN
DRAWTEXT(" <= LT HIGH", BarIndex, hhLT, SansSerif, Bold, 20) COLOURED(250,250,0)
DRAWTEXT(" <= LT 10,7", BarIndex, LTlevel107, SansSerif, Bold, 18) COLOURED(250,150,0)
DRAWTEXT(" <= LT 23,6", BarIndex, LTlevel236, SansSerif, Bold, 18) COLOURED(250,150,0)
DRAWTEXT(" <= LT 38,2", BarIndex, LTlevel382, SansSerif, Bold, 18) COLOURED(257,128,0)
DRAWTEXT(" <= LT 50,0", BarIndex, LTlevel500, SansSerif, Bold, 18) COLOURED(250,250,0)
DRAWTEXT(" <= LT 56,0", BarIndex, LTlevel560, SansSerif, Bold, 18) COLOURED(250,250,0)
DRAWTEXT(" <= LT 61,8", BarIndex, LTlevel618, SansSerif, Bold, 18) COLOURED(250,250,0)
DRAWTEXT(" <= LT 70,5", BarIndex, LTlevel702, SansSerif, Bold, 18) COLOURED(250,250,0)
DRAWTEXT(" <= LT 78,6", BarIndex, LTlevel786, SansSerif, Bold, 18) COLOURED(250,250,0)
DRAWTEXT(" <= LT 74,4", BarIndex, LTlevel744, SansSerif, Bold, 18) COLOURED(250,250,0)
DRAWTEXT(" <= LT 89.3", BarIndex, LTlevel893, SansSerif, Bold, 18) COLOURED(250,250,0)
DRAWTEXT(" <= LT LOW", BarIndex, llLT, SansSerif, Bold, 20) COLOURED(250,250,0)
ENDIF
// CT Texts (Only if ShowCT is active)
IF ShowCT THEN
DRAWTEXT(" < CT HIGH", BarIndex-1, hh) COLOURED(250,250,0)
DRAWTEXT(" < CT 10,7", BarIndex-1, level107) COLOURED(250,250,0)
DRAWTEXT(" < CT 23,6", BarIndex-1, level236) COLOURED(250,250,0)
DRAWTEXT(" < CT 38,2", BarIndex-1, level382) COLOURED(250,250,0)
DRAWTEXT(" < CT 50,0", BarIndex-1, level500) COLOURED(250,250,0)
DRAWTEXT(" < CT 56", BarIndex-1, level560) COLOURED(250,250,0)
DRAWTEXT(" < CT 61,8", BarIndex-1, level618) COLOURED(250,250,0)
DRAWTEXT(" < CT 78,6", BarIndex-1, level786) COLOURED(250,250,0)
DRAWTEXT(" < CT 70,5", BarIndex-1, level702) COLOURED(250,250,0)
DRAWTEXT(" < CT 89,3", BarIndex-1, level893) COLOURED(250,250,0)
DRAWTEXT(" < CT LOW", BarIndex-1, ll) COLOURED(250,250,0)
ENDIF
ENDIF
RETURN hhLT COLOURED(0,0,250) STYLE(line,3) AS "LT HIGH", LTlevel236 COLOURED(250,105,180) STYLE(dottedline,1) AS "LT 23,6", LTlevel107 COLOURED(250,250,250) STYLE(dottedline,1) AS "LT 10,7", LTlevel382 COLOURED(257,105,180) STYLE(line,2) AS "LT 38,2", LTlevel44 COLOURED(257,250,250) STYLE(dottedline,1) AS "LT 44", LTlevel500 COLOURED(250,105,180) STYLE(line,3) AS "LT 50,0", LTlevel560 COLOURED(250,250,0) STYLE(dottedline,1) AS "LT 56,0", LTlevel702 COLOURED(250,250,250) STYLE(dottedline,2) AS "LT 70.50", LTlevel618 COLOURED(250,105,180) STYLE(line,2) AS "LT 61,8", LTlevel786 COLOURED(250,250,250) STYLE(dottedline,1) AS "LT 78,6", LTlevel744 COLOURED(250,250,250) STYLE(dottedline,3) AS "LT 74,4", LTlevel893 COLOURED(250,250,250) STYLE(dottedline,1) AS "LT 89.3", llLT COLOURED(0,0,250) STYLE(line,3) AS "LT LOW", hh STYLE(line,3) AS "SHT HIGH", level107 COLOURED(250,250,0) AS "SHT 10,7", level236 COLOURED(0,250,0) AS "SHT 23,6", level382 COLOURED(0,250,0) AS "SHT 38,2", level44 COLOURED(250,250,0) AS "SHT 44", level500 COLOURED(0,250,0) AS "SHT 50,0", level560 COLOURED(250,250,0) AS "SHT 56", level618 COLOURED(0,250,0) AS "SHT 61,8", level786 COLOURED(0,250,0) AS "SHT 78,6", level744 COLOURED(250,250,0) AS "SHT 74,4", level893 COLOURED(250,250,0) AS "SHT 89,3", level702 COLOURED(250,250,0) AS "SHT 70,5", ll STYLE(line,3) AS "SHT LOW"
Fibo dynamique : couleurs de bandeau CT/LT haussier ou baissier
This topic contains 4 replies,
has 2 voices, and was last updated by
Iván González
1 week, 3 days ago.
| Forum: | ProBuilder : Indicateurs & Outils Personnalisés |
| Language: | French |
| Started: | 02/16/2026 |
| Status: | Active |
| Attachments: | 5 files |
The information collected on this form is stored in a computer file by ProRealCode to create and access your ProRealCode profile. This data is kept in a secure database for the duration of the member's membership. They will be kept as long as you use our services and will be automatically deleted after 3 years of inactivity. Your personal data is used to create your private profile on ProRealCode. This data is maintained by SAS ProRealCode, 407 rue Freycinet, 59151 Arleux, France. If you subscribe to our newsletters, your email address is provided to our service provider "MailChimp" located in the United States, with whom we have signed a confidentiality agreement. This company is also compliant with the EU/Swiss Privacy Shield, and the GDPR. For any request for correction or deletion concerning your data, you can directly contact the ProRealCode team by email at privacy@prorealcode.com If you would like to lodge a complaint regarding the use of your personal data, you can contact your data protection supervisory authority.