ProRealCode - Trading & Coding with ProRealTime™
bonjour, est ce possiblel d’avoir un indicateur de niveaux avec : OHLC du jour , de la veille, de la semaine passée, du mois passé, en daily et daily -1, du POC , VAH VAL? que l’ on pourrait facilement decliquer/parametrer couleur et texte? Merci.
Voici un indicateur tout-en-un. J’ai joint le fichier .itf contenant les variables configurées.
//---------------------------------------------------------------
//PRC_All-in-One Levels
//version = 0
//26.10.26
//Iván González @ www.prorealcode.com
//Sharing ProRealTime knowledge
//--------------------------------------------------------------------//
defparam drawonlastbaronly = true
//--------------------------------------------------------------------//
// SETTINGS (1 = show, 0 = hide)
//--------------------------------------------------------------------//
showToday = 1 // current day: open, high, low
showPrevDay = 1 // previous day: open, high, low, close
showPrevWeek = 1 // previous week: open, high, low, close
showPrevMonth = 1 // previous month: open, high, low, close
showVPToday = 1 // current day: POC, VAH, VAL (developing)
showVPPrevDay = 1 // previous day: POC, VAH, VAL
showProfile = 1 // volume profile histogram of each day shown above
showLabels = 1 // text and price next to each level
extBars = 15 // bars the levels extend to the right of the last candle
lblShift = 8 // bars between the end of a level and its text (raise it if they overlap)
rows = 50 // price rows used to build the daily volume profiles
vaPct = 70 // value area, % of the day's volume
profPct = 60 // widest row of the profile, % of the previous day's length
//--------------------------------------------------------------------//
// COLOURS (red, green, blue)
//--------------------------------------------------------------------//
tdR = 41 // current day
tdG = 98
tdB = 255
pdR = 245 // previous day
pdG = 124
pdB = 0
pwR = 156 // previous week
pwG = 39
pwB = 176
pmR = 183 // previous month
pmG = 28
pmB = 28
vtR = 0 // current day POC / VAH / VAL
vtG = 137
vtB = 123
vpR = 97 // previous day POC / VAH / VAL
vpG = 97
vpB = 97
//--------------------------------------------------------------------//
// PREVIOUS WEEK AND PREVIOUS MONTH (last closed candle)
//--------------------------------------------------------------------//
TIMEFRAME(weekly, updateonclose)
pwO = open
pwH = high
pwL = low
pwC = close
TIMEFRAME(monthly, updateonclose)
pmO = open
pmH = high
pmL = low
pmC = close
TIMEFRAME(default)
//--------------------------------------------------------------------//
// FIRST BAR OF THE CURRENT DAY AND OF THE PREVIOUS DAY
// A day starts when the platform's previous daily candle changes, so the
// profiles cover the same day as DOpen/DHigh/DLow/DClose (with futures,
// intradaybarindex can also restart at midnight in the middle of a session)
//--------------------------------------------------------------------//
pdOpen = DOpen(1)
pdClose = DClose(1)
once curStart = -1
once prevStart = -1
IF barindex > 0 AND (pdOpen <> pdOpen[1] OR pdClose <> pdClose[1]) THEN
prevStart = curStart
curStart = barindex
ENDIF
//--------------------------------------------------------------------//
// LEVELS (drawn on the last bar only)
//--------------------------------------------------------------------//
IF islastbarupdate THEN
// 0-2 current day, 3-6 previous day, 7-10 previous week, 11-14 previous month
$lv[0] = DOpen(0)
$lv[1] = DHigh(0)
$lv[2] = DLow(0)
$lv[3] = DOpen(1)
$lv[4] = DHigh(1)
$lv[5] = DLow(1)
$lv[6] = DClose(1)
$lv[7] = pwO
$lv[8] = pwH
$lv[9] = pwL
$lv[10] = pwC
$lv[11] = pmO
$lv[12] = pmH
$lv[13] = pmL
$lv[14] = pmC
FOR k = 0 TO 20 DO
$on[k] = 0
NEXT
FOR k = 0 TO 2 DO
$on[k] = showToday
NEXT
FOR k = 3 TO 6 DO
$on[k] = showPrevDay
NEXT
FOR k = 7 TO 10 DO
$on[k] = showPrevWeek
NEXT
FOR k = 11 TO 14 DO
$on[k] = showPrevMonth
NEXT
//-----------------------------------------------------------------//
// DAILY VOLUME PROFILES: 15-17 current day, 18-20 previous day
// Built from the chart candles: the volume of each candle is spread
// evenly over the price rows its range covers (use an intraday chart)
//-----------------------------------------------------------------//
isIntraday = GetTimeFrame < 86400
// width of the widest profile row, in bars
refLen = barindex - curStart + 1
IF prevStart >= 0 THEN
refLen = curStart - prevStart
ENDIF
profW = max(1, round(refLen * profPct / 100))
FOR p = 0 TO 1 DO
IF p = 0 THEN
jFrom = 0
jTo = barindex - curStart
wanted = (showVPToday = 1) AND (curStart >= 0)
x0 = curStart
pR = vtR
pG = vtG
pB = vtB
ELSE
jFrom = barindex - curStart + 1
jTo = barindex - prevStart
wanted = (showVPPrevDay = 1) AND (prevStart >= 0)
x0 = prevStart
pR = vpR
pG = vpG
pB = vpB
ENDIF
IF wanted AND isIntraday THEN
// price range of the day
hiP = high[jFrom]
loP = low[jFrom]
FOR j = jFrom TO jTo DO
hiP = max(hiP, high[j])
loP = min(loP, low[j])
NEXT
stepP = (hiP - loP) / rows
FOR i = 0 TO rows - 1 DO
$vb[i] = 0
NEXT
totV = 0
IF stepP > 0 THEN
FOR j = jFrom TO jTo DO
vol = volume[j]
IF vol > 0 THEN
bH = high[j]
bL = low[j]
rngB = bH - bL
IF rngB > 0 THEN
// only the rows the candle touches
iLo = max(0, floor((bL - loP) / stepP))
iHi = min(rows - 1, floor((bH - loP) / stepP))
FOR i = iLo TO iHi DO
rLo = loP + i * stepP
ovl = min(bH, rLo + stepP) - max(bL, rLo)
IF ovl > 0 THEN
$vb[i] = $vb[i] + vol * ovl / rngB
ENDIF
NEXT
ELSE
// zero-range candle: all its volume goes to its own row
iD = min(rows - 1, max(0, floor((bL - loP) / stepP)))
$vb[iD] = $vb[iD] + vol
ENDIF
totV = totV + vol
ENDIF
NEXT
ENDIF
// instruments without volume: no profile, no POC/VAH/VAL
IF totV > 0 THEN
// POC = row with the most volume
iPoc = 0
FOR i = 1 TO rows - 1 DO
IF $vb[i] > $vb[iPoc] THEN
iPoc = i
ENDIF
NEXT
// value area: grow from the POC, adding the bigger neighbouring row
iUp = iPoc
iDn = iPoc
vaVol = $vb[iPoc]
vaTarget = totV * vaPct / 100
WHILE vaVol < vaTarget AND (iUp < rows - 1 OR iDn > 0) DO
vUp = 0
IF iUp < rows - 1 THEN
vUp = $vb[iUp + 1]
ENDIF
vDn = 0
IF iDn > 0 THEN
vDn = $vb[iDn - 1]
ENDIF
IF iUp < rows - 1 AND (vUp >= vDn OR iDn = 0) THEN
iUp = iUp + 1
vaVol = vaVol + vUp
ELSE
iDn = iDn - 1
vaVol = vaVol + vDn
ENDIF
WEND
base = 15 + 3 * p
$lv[base] = loP + (iPoc + 0.5) * stepP
$lv[base + 1] = loP + (iUp + 1) * stepP
$lv[base + 2] = loP + iDn * stepP
FOR k = base TO base + 2 DO
$on[k] = 1
NEXT
// histogram from the first bar of the day: value area rows darker
IF showProfile = 1 THEN
maxV = $vb[iPoc]
FOR i = 0 TO rows - 1 DO
IF $vb[i] > 0 THEN
wB = max(1, round($vb[i] / maxV * profW))
yB = loP + i * stepP
IF i >= iDn AND i <= iUp THEN
DRAWRECTANGLE(x0, yB + stepP * 0.9, x0 + wB, yB) COLOURED(pR, pG, pB, 0) FILLCOLOR(pR, pG, pB, 90)
ELSE
DRAWRECTANGLE(x0, yB + stepP * 0.9, x0 + wB, yB) COLOURED(pR, pG, pB, 0) FILLCOLOR(pR, pG, pB, 35)
ENDIF
ENDIF
NEXT
ENDIF
ENDIF
ENDIF
NEXT
//-----------------------------------------------------------------//
// DRAWING
//-----------------------------------------------------------------//
xStart = barindex
IF curStart >= 0 THEN
xStart = curStart
ENDIF
xEnd = barindex + extBars
xTxt = xEnd + lblShift // DRAWTEXT centres the text on this point
FOR k = 0 TO 20 DO
lvl = $lv[k]
IF $on[k] = 1 AND lvl <> undefined THEN
IF k <= 2 THEN
cR = tdR
cG = tdG
cB = tdB
ELSIF k <= 6 THEN
cR = pdR
cG = pdG
cB = pdB
ELSIF k <= 10 THEN
cR = pwR
cG = pwG
cB = pwB
ELSIF k <= 14 THEN
cR = pmR
cG = pmG
cB = pmB
ELSIF k <= 17 THEN
cR = vtR
cG = vtG
cB = vtB
ELSE
cR = vpR
cG = vpG
cB = vpB
ENDIF
// POC thicker, open and close dotted, the rest solid
IF k = 15 OR k = 18 THEN
DRAWSEGMENT(xStart, lvl, xEnd, lvl) COLOURED(cR, cG, cB) STYLE(line, 2)
ELSIF k = 0 OR k = 3 OR k = 6 OR k = 7 OR k = 10 OR k = 11 OR k = 14 THEN
DRAWSEGMENT(xStart, lvl, xEnd, lvl) COLOURED(cR, cG, cB) STYLE(dottedline, 1)
ELSE
DRAWSEGMENT(xStart, lvl, xEnd, lvl) COLOURED(cR, cG, cB) STYLE(line, 1)
ENDIF
IF showLabels = 1 THEN
px = round(lvl / ticksize) * ticksize
// label texts: rename them here if you like
IF k = 0 THEN
DRAWTEXT("Day Open #px#", xTxt, lvl, sansserif, standard, 9) COLOURED(cR, cG, cB)
ELSIF k = 1 THEN
DRAWTEXT("Day High #px#", xTxt, lvl, sansserif, standard, 9) COLOURED(cR, cG, cB)
ELSIF k = 2 THEN
DRAWTEXT("Day Low #px#", xTxt, lvl, sansserif, standard, 9) COLOURED(cR, cG, cB)
ELSIF k = 3 THEN
DRAWTEXT("PD Open #px#", xTxt, lvl, sansserif, standard, 9) COLOURED(cR, cG, cB)
ELSIF k = 4 THEN
DRAWTEXT("PD High #px#", xTxt, lvl, sansserif, standard, 9) COLOURED(cR, cG, cB)
ELSIF k = 5 THEN
DRAWTEXT("PD Low #px#", xTxt, lvl, sansserif, standard, 9) COLOURED(cR, cG, cB)
ELSIF k = 6 THEN
DRAWTEXT("PD Close #px#", xTxt, lvl, sansserif, standard, 9) COLOURED(cR, cG, cB)
ELSIF k = 7 THEN
DRAWTEXT("PW Open #px#", xTxt, lvl, sansserif, standard, 9) COLOURED(cR, cG, cB)
ELSIF k = 8 THEN
DRAWTEXT("PW High #px#", xTxt, lvl, sansserif, standard, 9) COLOURED(cR, cG, cB)
ELSIF k = 9 THEN
DRAWTEXT("PW Low #px#", xTxt, lvl, sansserif, standard, 9) COLOURED(cR, cG, cB)
ELSIF k = 10 THEN
DRAWTEXT("PW Close #px#", xTxt, lvl, sansserif, standard, 9) COLOURED(cR, cG, cB)
ELSIF k = 11 THEN
DRAWTEXT("PM Open #px#", xTxt, lvl, sansserif, standard, 9) COLOURED(cR, cG, cB)
ELSIF k = 12 THEN
DRAWTEXT("PM High #px#", xTxt, lvl, sansserif, standard, 9) COLOURED(cR, cG, cB)
ELSIF k = 13 THEN
DRAWTEXT("PM Low #px#", xTxt, lvl, sansserif, standard, 9) COLOURED(cR, cG, cB)
ELSIF k = 14 THEN
DRAWTEXT("PM Close #px#", xTxt, lvl, sansserif, standard, 9) COLOURED(cR, cG, cB)
ELSIF k = 15 THEN
DRAWTEXT("POC #px#", xTxt, lvl, sansserif, standard, 9) COLOURED(cR, cG, cB)
ELSIF k = 16 THEN
DRAWTEXT("VAH #px#", xTxt, lvl, sansserif, standard, 9) COLOURED(cR, cG, cB)
ELSIF k = 17 THEN
DRAWTEXT("VAL #px#", xTxt, lvl, sansserif, standard, 9) COLOURED(cR, cG, cB)
ELSIF k = 18 THEN
DRAWTEXT("PD POC #px#", xTxt, lvl, sansserif, standard, 9) COLOURED(cR, cG, cB)
ELSIF k = 19 THEN
DRAWTEXT("PD VAH #px#", xTxt, lvl, sansserif, standard, 9) COLOURED(cR, cG, cB)
ELSE
DRAWTEXT("PD VAL #px#", xTxt, lvl, sansserif, standard, 9) COLOURED(cR, cG, cB)
ENDIF
ENDIF
ENDIF
NEXT
ENDIF
RETURN
Bravo, merci ; Ivan
Ivan, estil posible de placer les textes des 2 cotés pour + de visibilité?
J'ai modifié la visibilité des niveaux
//---------------------------------------------------------------
//PRC_All-in-One Levels
//version = 0
//26.10.26
//Iván González @ www.prorealcode.com
//Sharing ProRealTime knowledge
//--------------------------------------------------------------------//
defparam drawonlastbaronly = true
//--------------------------------------------------------------------//
// SETTINGS (1 = show, 0 = hide)
//--------------------------------------------------------------------//
showToday = 1 // current day: open, high, low
showPrevDay = 1 // previous day: open, high, low, close
showPrevWeek = 1 // previous week: open, high, low, close
showPrevMonth = 1 // previous month: open, high, low, close
showVPToday = 1 // current day: POC, VAH, VAL (developing)
showVPPrevDay = 1 // previous day: POC, VAH, VAL
showProfile = 1 // volume profile histogram of each day shown above
showLabels = 1 // text and price next to each level
extBars = 15 // bars the levels extend to the right of the last candle
lblShift = 8 // bars between the end of a level and its text (raise it if they overlap)
rows = 50 // price rows used to build the daily volume profiles
vaPct = 70 // value area, % of the day's volume
profPct = 60 // widest row of the profile, % of the previous day's length
//--------------------------------------------------------------------//
// COLOURS (red, green, blue)
//--------------------------------------------------------------------//
tdR = 41 // current day
tdG = 98
tdB = 255
pdR = 245 // previous day
pdG = 124
pdB = 0
pwR = 156 // previous week
pwG = 39
pwB = 176
pmR = 183 // previous month
pmG = 28
pmB = 28
vtR = 0 // current day POC / VAH / VAL
vtG = 137
vtB = 123
vpR = 97 // previous day POC / VAH / VAL
vpG = 97
vpB = 97
//--------------------------------------------------------------------//
// PREVIOUS WEEK AND PREVIOUS MONTH (last closed candle)
//--------------------------------------------------------------------//
TIMEFRAME(weekly, updateonclose)
pwO = open
pwH = high
pwL = low
pwC = close
TIMEFRAME(monthly, updateonclose)
pmO = open
pmH = high
pmL = low
pmC = close
TIMEFRAME(default)
//--------------------------------------------------------------------//
// FIRST BAR OF THE CURRENT DAY AND OF THE PREVIOUS DAY
// A day starts when the platform's previous daily candle changes, so the
// profiles cover the same day as DOpen/DHigh/DLow/DClose (with futures,
// intradaybarindex can also restart at midnight in the middle of a session)
//--------------------------------------------------------------------//
pdOpen = DOpen(1)
pdClose = DClose(1)
once curStart = -1
once prevStart = -1
IF barindex > 0 AND (pdOpen <> pdOpen[1] OR pdClose <> pdClose[1]) THEN
prevStart = curStart
curStart = barindex
ENDIF
//--------------------------------------------------------------------//
// LEVELS (drawn on the last bar only)
//--------------------------------------------------------------------//
IF islastbarupdate THEN
// 0-2 current day, 3-6 previous day, 7-10 previous week, 11-14 previous month
$lv[0] = DOpen(0)
$lv[1] = DHigh(0)
$lv[2] = DLow(0)
$lv[3] = DOpen(1)
$lv[4] = DHigh(1)
$lv[5] = DLow(1)
$lv[6] = DClose(1)
$lv[7] = pwO
$lv[8] = pwH
$lv[9] = pwL
$lv[10] = pwC
$lv[11] = pmO
$lv[12] = pmH
$lv[13] = pmL
$lv[14] = pmC
FOR k = 0 TO 20 DO
$on[k] = 0
NEXT
FOR k = 0 TO 2 DO
$on[k] = showToday
NEXT
FOR k = 3 TO 6 DO
$on[k] = showPrevDay
NEXT
FOR k = 7 TO 10 DO
$on[k] = showPrevWeek
NEXT
FOR k = 11 TO 14 DO
$on[k] = showPrevMonth
NEXT
//-----------------------------------------------------------------//
// DAILY VOLUME PROFILES: 15-17 current day, 18-20 previous day
// Built from the chart candles: the volume of each candle is spread
// evenly over the price rows its range covers (use an intraday chart)
//-----------------------------------------------------------------//
isIntraday = GetTimeFrame < 86400
// width of the widest profile row, in bars
refLen = barindex - curStart + 1
IF prevStart >= 0 THEN
refLen = curStart - prevStart
ENDIF
profW = max(1, round(refLen * profPct / 100))
FOR p = 0 TO 1 DO
IF p = 0 THEN
jFrom = 0
jTo = barindex - curStart
wanted = (showVPToday = 1) AND (curStart >= 0)
x0 = curStart
pR = vtR
pG = vtG
pB = vtB
ELSE
jFrom = barindex - curStart + 1
jTo = barindex - prevStart
wanted = (showVPPrevDay = 1) AND (prevStart >= 0)
x0 = prevStart
pR = vpR
pG = vpG
pB = vpB
ENDIF
IF wanted AND isIntraday THEN
// price range of the day
hiP = high[jFrom]
loP = low[jFrom]
FOR j = jFrom TO jTo DO
hiP = max(hiP, high[j])
loP = min(loP, low[j])
NEXT
stepP = (hiP - loP) / rows
FOR i = 0 TO rows - 1 DO
$vb[i] = 0
NEXT
totV = 0
IF stepP > 0 THEN
FOR j = jFrom TO jTo DO
vol = volume[j]
IF vol > 0 THEN
bH = high[j]
bL = low[j]
rngB = bH - bL
IF rngB > 0 THEN
// only the rows the candle touches
iLo = max(0, floor((bL - loP) / stepP))
iHi = min(rows - 1, floor((bH - loP) / stepP))
FOR i = iLo TO iHi DO
rLo = loP + i * stepP
ovl = min(bH, rLo + stepP) - max(bL, rLo)
IF ovl > 0 THEN
$vb[i] = $vb[i] + vol * ovl / rngB
ENDIF
NEXT
ELSE
// zero-range candle: all its volume goes to its own row
iD = min(rows - 1, max(0, floor((bL - loP) / stepP)))
$vb[iD] = $vb[iD] + vol
ENDIF
totV = totV + vol
ENDIF
NEXT
ENDIF
// instruments without volume: no profile, no POC/VAH/VAL
IF totV > 0 THEN
// POC = row with the most volume
iPoc = 0
FOR i = 1 TO rows - 1 DO
IF $vb[i] > $vb[iPoc] THEN
iPoc = i
ENDIF
NEXT
// value area: grow from the POC, adding the bigger neighbouring row
iUp = iPoc
iDn = iPoc
vaVol = $vb[iPoc]
vaTarget = totV * vaPct / 100
WHILE vaVol < vaTarget AND (iUp < rows - 1 OR iDn > 0) DO
vUp = 0
IF iUp < rows - 1 THEN
vUp = $vb[iUp + 1]
ENDIF
vDn = 0
IF iDn > 0 THEN
vDn = $vb[iDn - 1]
ENDIF
IF iUp < rows - 1 AND (vUp >= vDn OR iDn = 0) THEN
iUp = iUp + 1
vaVol = vaVol + vUp
ELSE
iDn = iDn - 1
vaVol = vaVol + vDn
ENDIF
WEND
base = 15 + 3 * p
$lv[base] = loP + (iPoc + 0.5) * stepP
$lv[base + 1] = loP + (iUp + 1) * stepP
$lv[base + 2] = loP + iDn * stepP
FOR k = base TO base + 2 DO
$on[k] = 1
NEXT
// histogram from the first bar of the day: value area rows darker
IF showProfile = 1 THEN
maxV = $vb[iPoc]
FOR i = 0 TO rows - 1 DO
IF $vb[i] > 0 THEN
wB = max(1, round($vb[i] / maxV * profW))
yB = loP + i * stepP
IF i >= iDn AND i <= iUp THEN
DRAWRECTANGLE(x0, yB + stepP * 0.9, x0 + wB, yB) COLOURED(pR, pG, pB, 0) FILLCOLOR(pR, pG, pB, 90)
ELSE
DRAWRECTANGLE(x0, yB + stepP * 0.9, x0 + wB, yB) COLOURED(pR, pG, pB, 0) FILLCOLOR(pR, pG, pB, 35)
ENDIF
ENDIF
NEXT
ENDIF
ENDIF
ENDIF
NEXT
//-----------------------------------------------------------------//
// DRAWING
//-----------------------------------------------------------------//
xStart = barindex
IF curStart >= 0 THEN
xStart = curStart
ENDIF
xEnd = barindex + extBars
xTxt = xEnd + lblShift // DRAWTEXT centres the text on this point
FOR k = 0 TO 20 DO
lvl = $lv[k]
IF $on[k] = 1 AND lvl <> undefined THEN
IF k <= 2 THEN
cR = tdR
cG = tdG
cB = tdB
ELSIF k <= 6 THEN
cR = pdR
cG = pdG
cB = pdB
ELSIF k <= 10 THEN
cR = pwR
cG = pwG
cB = pwB
ELSIF k <= 14 THEN
cR = pmR
cG = pmG
cB = pmB
ELSIF k <= 17 THEN
cR = vtR
cG = vtG
cB = vtB
ELSE
cR = vpR
cG = vpG
cB = vpB
ENDIF
// POC thicker, open and close dotted, the rest solid
IF k = 15 OR k = 18 THEN
DRAWSEGMENT(xStart, lvl, xEnd, lvl) COLOURED(cR, cG, cB) STYLE(line, 2)
ELSIF k = 0 OR k = 3 OR k = 6 OR k = 7 OR k = 10 OR k = 11 OR k = 14 THEN
DRAWSEGMENT(xStart, lvl, xEnd, lvl) COLOURED(cR, cG, cB) STYLE(dottedline, 1)
ELSE
DRAWSEGMENT(xStart, lvl, xEnd, lvl) COLOURED(cR, cG, cB) STYLE(line, 1)
ENDIF
IF showLabels = 1 THEN
px = round(lvl / ticksize) * ticksize
// label texts: rename them here if you like
IF k = 0 THEN
DRAWTEXT("Day Open #px#", xTxt, lvl, sansserif, bold, 12) COLOURED(250,250,250)
ELSIF k = 1 THEN
DRAWTEXT("Day High #px#", xTxt, lvl, sansserif, bold, 12) COLOURED(250,250,250)
ELSIF k = 2 THEN
DRAWTEXT("Day Low #px#", xTxt, lvl, sansserif, bold, 12) COLOURED(250,250,250)
ELSIF k = 3 THEN
DRAWTEXT("PD Open #px#", xTxt, lvl, sansserif, bold, 12) COLOURED(250,250,250)
ELSIF k = 4 THEN
DRAWTEXT("PD High #px#", xTxt, lvl, sansserif, bold, 12) COLOURED(250,250,250)
ELSIF k = 5 THEN
DRAWTEXT("PD Low #px#", xTxt, lvl, sansserif, bold, 12) COLOURED(250,250,250)
ELSIF k = 6 THEN
DRAWTEXT("PD Close #px#", xTxt, lvl, sansserif, bold, 12) COLOURED(250,250,250)
ELSIF k = 7 THEN
DRAWTEXT("PW Open #px#", xTxt, lvl, sansserif, bold, 12) COLOURED(250,250,250)
ELSIF k = 8 THEN
DRAWTEXT("PW High #px#", xTxt, lvl, sansserif, bold, 12) COLOURED(250,250,250)
ELSIF k = 9 THEN
DRAWTEXT("PW Low #px#", xTxt, lvl, sansserif, bold, 12) COLOURED(250,250,250)
ELSIF k = 10 THEN
DRAWTEXT("PW Close #px#", xTxt, lvl, sansserif, bold, 12) COLOURED(250,250,250)
ELSIF k = 11 THEN
DRAWTEXT("PM Open #px#", xTxt, lvl, sansserif, bold, 12) COLOURED(250,250,250)
ELSIF k = 12 THEN
DRAWTEXT("PM High #px#", xTxt, lvl, sansserif, bold, 12) COLOURED(250,250,250)
ELSIF k = 13 THEN
DRAWTEXT("PM Low #px#", xTxt, lvl, sansserif, bold, 12) COLOURED(250,250,250)
ELSIF k = 14 THEN
DRAWTEXT("PM Close #px#", xTxt, lvl, sansserif, bold, 12) COLOURED(250,250,250)
ELSIF k = 15 THEN
DRAWTEXT("POC #px#", xTxt, lvl, sansserif, bold, 12) COLOURED(250,250,250)
ELSIF k = 16 THEN
DRAWTEXT("VAH #px#", xTxt, lvl, sansserif, bold, 12) COLOURED(250,250,250)
ELSIF k = 17 THEN
DRAWTEXT("VAL #px#", xTxt, lvl, sansserif, bold, 12) COLOURED(250,250,250)
ELSIF k = 18 THEN
DRAWTEXT("PD POC #px#", xTxt, lvl, sansserif, bold, 12) COLOURED(250,250,250)
ELSIF k = 19 THEN
DRAWTEXT("PD VAH #px#", xTxt, lvl, sansserif, bold, 12) COLOURED(250,250,250)
ELSE
DRAWTEXT("PD VAL #px#", xTxt, lvl, sansserif, bold, 12) COLOURED(250,250,250)
ENDIF
ENDIF
ENDIF
NEXT
ENDIF
RETURN
Describe what this topic is trying to build, in plain English, and ProRealAI writes the ProRealTime™ indicator, screener or system for you.
INDIC TOUT EN UN
This topic contains 4 replies,
has 2 voices, and was last updated by Géraud Laveissiere
10 hours, 43 minutes ago.
| Forum: | ProBuilder : Indicateurs & Outils Personnalisés |
| Language: | French |
| Started: | 10/26/2026 |
| Status: | Active |
| Attachments: | 2 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.