Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Main Indicator : DR/IDR V1
- // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
- // © TheMas7er and bmistiaen
- // Imported Indicator: TheMas7er Scalp (US equity)5min [promuckaj]
- // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
- // © promuckaj
- //////////////////////////////////////
- // Script Compiled by @CEOInvesting //
- //////////////////////////////////////
- //================================================================================================================================\\
- //================================================================================================================================\\
- //@version=5
- indicator('Ultimate DR/iDR + VIBs, FVGs, Auto FIB, rDR Projection, & Session Labels',shorttitle = 'Ultimate DR/iDR', overlay=true, max_lines_count=500, max_boxes_count=500)
- import PineCoders/VisibleChart/4 as PCchart
- Plot_intraday_Seperator = input(defval=true, title='Display Intra-Day DR Seperator [UTC-5 | 19:30]', group="Intra-Day Sessions")
- //Show FVG (imbalance) and VIB (Volume Imbalance)
- ShowImbalance = input(defval=false, title='Display Fair Value Gaps (FVG)', group="FVGImbalance")
- color_fvg_imbalance = input.color(color.new(color.fuchsia,30),title="FVG:", inline="i_1",group="FVGImbalance")
- ExtendFVG = input(defval=false, title='Extend Recent FVG', group="FVGImbalance")
- display_vol_imbalance = input(false, title='Display Volume Imbalance (VIB)', group="VOLImbalance")
- color_vol_imbalance = input.color(color.new(color.orange,30),title="VIB:", inline="i_1",group="VOLImbalance")
- ExtendVIB = input(defval=false, title='Extend Recent VIB', group="VOLImbalance")
- // Display Expansion Target
- //show_oDR_expansion_target = input(false, title='Show Daily oDR Expansion Target?', tooltip='Show the estimated daily expansion targets for the oDR session [Based on Nindos Findings]', group="Expansion")
- show_rDR_expansion_target = input(false, title='Show Daily rDR Expansion Target?', tooltip='Show the estimated daily expansion target for the rDR session high/low [Based on Nindos Findings] (oDR high/low + oDR range x 2) ** Requires oDR range to be complete before showing projection **', group="Expansion Estimate")
- color_rDR_expansion_target = input.color(color.rgb(158, 55, 255, 60),title="rDR Expansion Target Color:", inline="i_1",group="Expansion Estimate")
- color_rDR_expansion_target_text = input.color(color.rgb(158, 55, 255, 60),title="rDR Expansion Target Text Color:", inline="i_1",group="Expansion Estimate")
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////// MAIN DR / iDR Model ////////////////////////////////////////////////////////////////////////////
- // Input options
- // {
- LS0='Solid', LS1='Dashed', LS2='Dotted'
- BX0='DR', BX1='IDR'
- XL0='Follow Time', XL1='Session End', XL2='ADR End', XL3='ODR End', XL4='RDR End'
- STDLT0='Dynamic',STDLT1='Static'
- // } Input options
- TIMEZONE = 'America/New_York'
- ONE_HOUR = 3600*1000
- ONE_DAY = 24*ONE_HOUR
- // Inputs
- // {
- var GRP1 = "Time Settings"
- //timings
- exchangeOffset = input.int(0,"Exchange Offset (hours)", group=GRP1)
- regularTime = input.session('0930-1030', 'RDR Time', group=GRP1)
- regularExtend = input.session('1030-1600', 'RDR Lines Time', group=GRP1)
- afterTime = input.session('1930-2030', 'ADR Time', group=GRP1)
- afterExtend = input.session('2030-0200', 'ADR Lines Time', group=GRP1)
- overnightTime = input.session('0300-0400', 'ODR Time', group=GRP1)
- overnightExtend = input.session('0400-0830', 'ODR Lines Time', group=GRP1)
- var GRP2 = "General Settings"
- //lines
- showRegular = input.bool(true, 'Regular', group=GRP2, inline='session', tooltip='Show Regular and/or After and/or Overnight session')
- showAfter = input.bool(true, 'After', group=GRP2, inline='session')
- showOvernight = input.bool(true, 'Overnight', group=GRP2, inline='session')
- drlines = input.bool(true, 'Show DR Lines ?', group=GRP2)
- idrlines = input.bool(true, 'Show IDR Lines ?', group=GRP2)
- middledrline = input.bool(false, 'Show Middle DR Line ?', group=GRP2)
- middleidrline = input.bool(true, 'Show Middle IDR Line ?', group=GRP2)
- openline = input.bool(true, 'Show Opening Line ?', group=GRP2, inline='openline', tooltip='Shows the Opening line of the Defining Range.\n- Extend: Extends the drawing of the Opening line into the RDR/ODR Lines Time.')
- extendopLines = input.bool(true, 'Extend', group=GRP2, inline='openline') // Extend, follow price
- extendopLinesType = input.string(XL1, '', options=[XL0,XL1,XL2,XL3,XL4], group=GRP2, inline='openline')
- showBackground = input.bool(true, 'Show DR/IDR Box ?', group=GRP2)
- boxType = input.string(BX1, 'Box DR or IDR ?', options=[BX0,BX1], group=GRP2)
- extenddrLines = input.bool(true, 'Extend DR Lines ?', group=GRP2)
- extendidrLines = input.bool(true, 'Extend IDR Lines ?', group=GRP2)
- showAllHistory = input.bool(false, 'Show complete history ?', 'Might cause a slight drawing delay when panning/moving/zooming the chart.', group=GRP2)
- useBoxColors = input.bool(false, 'Box color based on open and close', 'If unchecked, it will default to the selected Box Background Color', group=GRP2)
- extendToEndOfRDR = input.bool(false, 'Extend lines of all ranges to end of most recent Regular session?', group=GRP2)
- showStdLines = input.bool(true, 'Show STD Lines ?', group=GRP2, inline='stdlines', tooltip='Shows the Standard Deviation lines in 0.5 IDR range increments.\n- All = Shows all the STD lines on previous sessions.\n- Labels = Show STD level labels.\n- Dropdown = Choose between Dynamic or Static STD lines.')
- showStdLinesAll = input.bool(true, 'All', group=GRP2, inline='stdlines')
- showStdLineLabels = input.bool(true, 'Labels', group=GRP2, inline='stdlines')
- stdLineType = input.string(STDLT1, '', [STDLT0,STDLT1], group=GRP2, inline='stdlines')
- stdLineDynamicExtraPos = input.int(0, 'Dynamic (+)', minval=0, group=GRP2, inline='stdlinedynamic', tooltip='Dynamic STD Lines.\nDynamically draw STD lines around price action. Progresses with price.\n- (+) = Number of positive extra levels to draw in addition to the lines that are automatically drawn around price action.\n- (-) = Number of negative extra levels to draw in addition to the lines that are automatically drawn around price action.\n- Auto = Automatically determine number of STD lines that need to be drawn. Follows price action.')
- stdLineDynamicExtraNeg = input.int(0, '(-)', minval=0, group=GRP2, inline='stdlinedynamic')
- stdLineDynamicExtraAuto = input.bool(false, 'Auto', group=GRP2, inline='stdlinedynamic')
- stdLineStaticExtraPos = input.int(10, 'Static (+)', minval=0, group=GRP2, inline='stdlinestatic', tooltip='Static STD Lines.\nDraws a fixed number of STD lines.\n- (+) = Number of positive levels to draw.\n- (-) = Number of negative levels to draw.')
- stdLineStaticExtraNeg = input.int(10, '(-)', minval=0, group=GRP2, inline='stdlinestatic')
- var GRP3 = "Styles"
- linesWidth = input.int(1, 'Box And Lines Width ?', minval=1, maxval=4, group=GRP3)
- drLineColor = input.color(color.gray, 'DR Line Color', group=GRP3, inline='drline')
- drLineStyle = input.string(LS0, 'Style', options=[LS0,LS1,LS2], group=GRP3, inline='drline')
- idrLineColor = input.color(color.red, 'IDR Line Color', group=GRP3, inline='idrline')
- idrLineStyle = input.string(LS1, 'Style', options=[LS0,LS1,LS2], group=GRP3, inline='idrline')
- middleLineColor = input.color(color.gray, 'Middle Line Color', group=GRP3, inline='midline')
- middleLineStyle = input.string(LS2, 'Style', options=[LS0,LS1,LS2], group=GRP3, inline='midline')
- opLineColor = input.color(color.green, 'Opening Line', group=GRP3, inline='openline', tooltip='Opening line:\n- Color\n- Style\n- Width')
- opLineStyle = input.string(LS2, '', options=[LS0,LS1,LS2], group=GRP3, inline='openline')
- stdLineColor = input.color(color.gray, 'STD Lines', group=GRP3, inline='stdline', tooltip='Standard deviation lines:\n- Color\n- Style\n- Width')
- stdLineStyle = input.string(LS2, '', options=[LS0,LS1,LS2], group=GRP3, inline='stdline')
- backgroundColor = input.color(color.new(color.gray, 75), 'Box Background Color', group=GRP3)
- boxBorderSize = input.int(0, title="Box border size", minval=0, group=GRP3)
- upBoxColor = input.color(color.new(color.green, 85), 'Up box', group=GRP3, inline='upbox')
- upBorderColor = input.color(color.green, 'border', group=GRP3, inline='upbox')
- downBoxColor = input.color(color.new(color.red, 85), 'Down box', group=GRP3, inline='downbox')
- downBorderColor = input.color(color.red, 'border', group=GRP3, inline='downbox')
- // } Inputs
- // Constants
- // {
- exchangeOffsetMS = exchangeOffset * 3600000
- // } Constants
- // Variables {
- var int startTime = na
- var int endTime = na
- var string currentSession = na
- var line lowrdrl = na
- var line highrdrl = na
- var line lowridrl = na
- var line highridrl = na
- var line leftrdrl = na
- var line rightrdrl = na
- var line middlerdrl = na
- var line middleridrl = na
- var line drLineOpen = na
- var box bgBox = na
- var line[] stdLines = array.new<line>()
- var float[] stdLevels = array.new<float>()
- var label[] stdLabels = array.new<label>()
- var float rdrlow = na
- var float rdrhigh = na
- var float ridrlow = na
- var float ridrhigh = na
- var float rdrmiddle = na
- var float ridrmiddle = na
- var float sessionOpen = na
- var float regidrlow = na
- var float regidrhigh = na
- var float sessionHigh = na
- var float sessionLow = na
- var int stdLinesStartTime = na
- var int stdLinesStopTime = na
- var bool use_m5 = false
- // } Variables
- // Functions {
- f_insession(_session) =>
- not na(time(timeframe.period, _session, TIMEZONE))
- f_timestrToHM(_timeStr) =>
- var int hourInt = na
- var int minuteInt = na
- if str.length(_timeStr) == 4
- hourInt := int(str.tonumber(str.substring(_timeStr, 0, 2)))
- minuteInt := int(str.tonumber(str.substring(_timeStr, 2, 4)))
- [hourInt, minuteInt]
- f_sessionTime(_session, _timezone=syminfo.timezone, _part) =>
- var int ts = na
- if str.length(_session) == 9 and (_part == 0 or _part == 1)
- arraySessionSplit = str.split(_session, '-')
- timeStrTo = array.get(arraySessionSplit, _part)
- [hourTo, minuteTo] = f_timestrToHM(timeStrTo)
- ts := timestamp(_timezone, year, month, dayofmonth, hourTo, minuteTo)
- ts
- f_sessionStartTime(_session, _timezone=syminfo.timezone) => f_sessionTime(_session, _timezone, 0)
- f_sessionStopTime(_session, _timezone=syminfo.timezone) => f_sessionTime(_session, _timezone, 1)
- f_timestamp_to_date(int _ts = na, string _tz = na) => timestamp(_tz, year(_ts, _tz), month(_ts, _tz), dayofmonth(_ts, _tz))
- f_lineStyle(_inputOption) =>
- switch(_inputOption)
- LS0 => line.style_solid
- LS1 => line.style_dashed
- LS2 => line.style_dotted
- => line.style_solid
- f_newline(_color, _style) => line.new(na, na, na, na, xloc=xloc.bar_time, color=_color, style=_style, width=linesWidth)
- f_newdrline() => f_newline(drLineColor, f_lineStyle(drLineStyle))
- f_newidrline() => f_newline(idrLineColor, f_lineStyle(idrLineStyle))
- f_newmdline() => f_newline(middleLineColor, f_lineStyle(middleLineStyle))
- f_newopline() => f_newline(opLineColor, f_lineStyle(opLineStyle))
- f_newstdine() => f_newline(stdLineColor, f_lineStyle(stdLineStyle))
- f_newbox() => box.new(na, na, na, na, xloc=xloc.bar_time, bgcolor=backgroundColor, border_width=boxBorderSize)
- f_moveLine(_line, _x1, _y, _x2) => line.set_xy1(_line, _x1 + exchangeOffsetMS, _y), line.set_xy2(_line, _x2 + exchangeOffsetMS, _y), _line
- f_movebox(_box, _left, _top, _right, _bottom, _bordercolor, _bgcolor) => box.set_lefttop(_box, _left + exchangeOffsetMS, _top), box.set_rightbottom(_box, _right + exchangeOffsetMS, _bottom), box.set_border_color(_box, _bordercolor), box.set_bgcolor(_box, _bgcolor)
- f_newLabel() => label.new(na, na, '', xloc = xloc.bar_time, yloc=yloc.price, style=label.style_label_left, color=color(na), textcolor=stdLineColor)
- f_moveLabel(_label, _x, _y, _text) =>
- label.set_xy(_label, _x, _y)
- label.set_text(_label, _text)
- _label
- f_drawStdLine(_fromTime, _toTime, _level, float _stdLabelValue=na) =>
- if not na(_level)
- if not array.includes(stdLevels, _level)
- array.push(stdLevels, _level)
- array.push(stdLines, f_moveLine(f_newstdine(), _fromTime, _level, _toTime))
- if showStdLineLabels
- array.push(stdLabels, f_moveLabel(f_newLabel(), _toTime, _level, str.format('{0}',_stdLabelValue)))
- f_drawStdLines(_fromTime, _toTime, bool _clear = false) =>
- var float stdStepFactor = 0.5
- var float stdStep = na
- var float stdLevel = na
- var float stdLabelValue = na
- var int nrLevels = na
- var int nrLevelsPos = na
- var int nrLevelsNeg = na
- if _clear and not showStdLinesAll and array.size(stdLevels) > 0
- // If we don't need to show all the lines, delete them each time we clear. If we do need to show all the previous lines, don't delete them.
- for tmpIndex = 0 to array.size(stdLines)-1
- line.delete(array.get(stdLines, tmpIndex))
- if showStdLineLabels
- label.delete(array.get(stdLabels, tmpIndex))
- if _clear
- array.clear(stdLevels)
- array.clear(stdLines)
- if showStdLineLabels
- array.clear(stdLabels)
- stdStep := math.abs(regidrhigh-regidrlow) * stdStepFactor
- if stdStep != 0
- switch stdLineType
- STDLT0 =>
- nrLevelsPos := math.ceil(math.max(sessionHigh - regidrhigh, 0) / stdStep) + (stdLineDynamicExtraAuto ? 0 : stdLineDynamicExtraPos)
- nrLevelsNeg := math.ceil(math.max(regidrlow - sessionLow, 0) / stdStep) + (stdLineDynamicExtraAuto ? 0 : stdLineDynamicExtraNeg)
- STDLT1 =>
- nrLevelsPos := stdLineStaticExtraPos
- nrLevelsNeg := stdLineStaticExtraNeg
- // Positive lines
- if nrLevelsPos >= 1
- for cnt = 1 to nrLevelsPos
- stdLevel := regidrhigh + (cnt * stdStep)
- stdLabelValue := cnt * stdStepFactor
- f_drawStdLine(_fromTime, _toTime, stdLevel, stdLabelValue)
- // Negative lines
- if nrLevelsNeg >= 1
- for cnt = 1 to nrLevelsNeg
- stdLevel := regidrlow - (cnt * stdStep)
- stdLabelValue := cnt * (-stdStepFactor)
- f_drawStdLine(_fromTime, _toTime, stdLevel, stdLabelValue)
- // } Functions
- // Use the 5 minute timeframe if the chart timeframe is lower than 5m
- if barstate.isfirst
- use_m5 := timeframe.in_seconds() < 300
- [m5_open, m5_high, m5_low, m5_close] = request.security(syminfo.tickerid, '5', [open, high, low, close], lookahead = barmerge.lookahead_on)
- open_value = use_m5 ? m5_open : open
- high_value = use_m5 ? m5_high : high
- low_value = use_m5 ? m5_low : low
- close_value = use_m5 ? m5_close : close
- inRegularSession = f_insession(regularTime) and showRegular
- inRegularExtend = f_insession(regularExtend) and showRegular
- inAfterSession = f_insession(afterTime) and showAfter
- inAfterExtend = f_insession(afterExtend) and showAfter
- inOvernightSession = f_insession(overnightTime) and showOvernight
- inOvernightExtend = f_insession(overnightExtend) and showOvernight
- inSession = inRegularSession or inOvernightSession or inAfterSession
- inExtend = inRegularExtend or inOvernightExtend or inAfterExtend
- enterSession = inSession and not inSession[1]
- enterExtend = inExtend and not inExtend[1]
- leaveRegularSession = not inRegularSession and inRegularSession[1]
- enterRegularExtend = inRegularExtend and not inRegularExtend[1]
- if timeframe.isintraday and (PCchart.barIsVisible() or not showAllHistory)
- if enterSession
- currentSession := inRegularSession ? regularTime : inOvernightSession ? overnightTime : inAfterSession ? afterTime : na
- else if enterExtend
- currentSession := inRegularExtend ? regularExtend : inOvernightExtend ? overnightExtend : inAfterExtend ? afterExtend : na
- if inSession
- // Initialize levels
- if not inSession[1]
- startTime := time
- sessionOpen := open_value
- rdrhigh := high_value
- rdrlow := low_value
- ridrlow := math.min(open_value, close_value)
- ridrhigh := math.max(open_value, close_value)
- // Initialize drawing objects
- if showBackground
- bgBox := f_newbox()
- if drlines
- highrdrl := f_newdrline()
- lowrdrl := f_newdrline()
- if idrlines
- highridrl := f_newidrline()
- lowridrl := f_newidrline()
- if middledrline
- middlerdrl := f_newmdline()
- if middleidrline
- middleridrl := f_newmdline()
- if openline
- drLineOpen := f_newopline()
- // Calculate levels
- rdrhigh := math.max(high_value, rdrhigh)
- rdrlow := math.min(low_value, rdrlow)
- ridrhigh := math.max(open_value, close_value, ridrhigh)
- ridrlow := math.min(open_value, close_value, ridrlow)
- rdrmiddle := math.avg(rdrhigh, rdrlow)
- ridrmiddle := math.avg(ridrhigh, ridrlow)
- if leaveRegularSession
- regidrhigh := ridrhigh
- regidrlow := ridrlow
- if inRegularExtend
- stdLinesStartTime := f_sessionStartTime(regularExtend, TIMEZONE)
- stdLinesStopTime := f_sessionStopTime(overnightExtend, TIMEZONE) + ONE_DAY * (dayofweek == dayofweek.friday and syminfo.type != 'crypto' ? 3 : 1)
- if enterRegularExtend
- // Initialize session high/low.
- sessionHigh := high_value
- sessionLow := low_value
- // Remember high/low since session started. Needed for drawing STD levels. Also keep high low beyond Extend.
- sessionHigh := math.max(sessionHigh, high_value)
- sessionLow := math.min(sessionLow, low_value)
- // Draw objects
- if showBackground and inSession
- boxUp = close_value > sessionOpen
- boxBorderColor = useBoxColors ? (boxUp ? upBorderColor : downBorderColor) : backgroundColor
- boxBackgroundColor = useBoxColors ? (boxUp ? upBoxColor : downBoxColor) : backgroundColor
- boxHigh = boxType==BX0 ? rdrhigh : ridrhigh
- boxLow = boxType==BX0 ? rdrlow : ridrlow
- f_movebox(bgBox, startTime, boxHigh, time, boxLow, boxBorderColor, boxBackgroundColor)
- if extendToEndOfRDR
- if syminfo.type == 'warrant' or syminfo.type == 'structured' or syminfo.type == 'right'
- endTime := time
- else if time > (timenow - 2 * ONE_DAY) // no need to call functions every bar. Only start checking 2 days ago.
- if f_timestamp_to_date(f_sessionStopTime(currentSession, TIMEZONE), TIMEZONE) == f_timestamp_to_date(timenow, TIMEZONE) //timenow_date
- endTime := f_sessionStopTime(regularExtend, TIMEZONE)
- else
- endTime := time
- else
- endTime := time
- else
- endTime := time
- if drlines and (inSession or (extenddrLines and inExtend))
- f_moveLine(highrdrl, startTime, rdrhigh, endTime)
- f_moveLine(lowrdrl, startTime, rdrlow, endTime)
- if middledrline
- f_moveLine(middlerdrl, startTime, rdrmiddle, endTime)
- if idrlines and (inSession or (extendidrLines and inExtend))
- f_moveLine(highridrl, startTime, ridrhigh, endTime)
- f_moveLine(lowridrl, startTime, ridrlow, endTime)
- if middleidrline
- f_moveLine(middleridrl, startTime, ridrmiddle, endTime)
- if openline and (inSession or (extendopLines and inExtend))
- f_moveLine(drLineOpen, startTime, sessionOpen, endTime)
- if showStdLines
- f_drawStdLines(stdLinesStartTime, stdLinesStopTime, enterRegularExtend)
- //////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////// TheMas7er Scalp Indicator //////////////////////////////////////////////
- res = "D"
- //Main
- showMain = input(true,"Show main DR/iDR", group = "********* main New York Session (default 09:30-10:30am) *********")
- TimeMain = input.session("0930-1025", "Time range:",tooltip = "By default it is set to be used on 5min chart, so it means it is set to obtain last candle on 10:25. Consider this if you change time frame.")
- ny = TimeMain + ":1234567"
- showExtLines = input(true,"Show extended lines on session", tooltip = "Extended lines to the right will be visible till next DR sesion")
- mainColor = input.color(color.rgb(76, 175, 79, 100),"High DR Color:", inline = "Main lines:", group = "Customize colors and lines")
- mainLebelTextCol = input.color(color.red,"Label Text color:", inline = "Main lines:", group = "Customize colors and lines")
- mainExtLinesStyle = input.string("Dashed","Ext. Style:", options=["Solid", "Dashed", "Dotted"],inline = "exMain lines:")
- mainExtLinesWidth = input.int(1,"Width:",inline = "exMain lines:")
- lmainColor = input.color(color.rgb(255, 82, 82, 100),"Low DR Color:", inline = "lMain lines:")
- lmainLebelTextCol = input.color(color.red,"Label Text color:", inline = "lMain lines:")
- lmainExtLinesStyle = input.string("Dashed","Ext. Style:", options=["Solid", "Dashed", "Dotted"],inline = "lexMain lines:")
- lmainExtLinesWidth = input.int(1,"Width:",inline = "lexMain lines:")
- showFibo = input(true,"Show fibo levels according to DR (0.5 step)", tooltip = "It will be visible till next DR session",group = "Fibonacci levels")
- FiboColor = input(color.rgb(196, 196, 196),"Fibo lines Color:",inline = "Fibo lines:")
- FiboLineStyle = input.string("Solid","Style:", options=["Solid", "Dashed", "Dotted"],inline = "Fibo lines:")
- FiboLineWidth = input.int(1,"Width:",inline = "Fibo lines:")
- //Early
- showEarly = input(true,"Show early eDR/eiDR", group = "********* early New York Session (default 03:00-04:00am) *********")
- TimeEarly = input.session("0300-0355", "Time range:",tooltip = "By default it is set to be used on 5min chart, so it means it is set to obtain last candle on 03:55. Consider this if you change time frame.")
- nye = TimeEarly + ":1234567"
- showEarlyExtLines = input(true,"Show extended lines on session", tooltip = "Extended lines to the right will be visible till next DR session")
- emainColor = input.color(color.rgb(76, 175, 79, 100),"High DR Color:", inline = "eMain lines:", group = "Customize colors and lines ")
- emainLebelTextCol = input.color(color.red,"Label Text color:", inline = "eMain lines:", group = "Customize colors and lines ")
- emainExtLinesStyle = input.string("Dashed","Ext. Style:", options=["Solid", "Dashed", "Dotted"],inline = "eexMain lines:")
- emainExtLinesWidth = input.int(1,"Width:",inline = "eexMain lines:")
- elmainColor = input.color(color.rgb(255, 82, 82, 100),"Low DR Color:", inline = "elMain lines:")
- elmainLebelTextCol = input.color(color.red,"Label Text color:", inline = "elMain lines:")
- elmainExtLinesStyle = input.string("Dashed","Ext. Style:", options=["Solid", "Dashed", "Dotted"],inline = "elexMain lines:")
- elmainExtLinesWidth = input.int(1,"Width:",inline = "elexMain lines:")
- showeFibo = input(true,"Show fibo levels according to eDR (0.5 step)", tooltip = "It will be visible till next DR session",group = "Fibonacci levels ")
- eFiboColor = input(color.rgb(196, 196, 196),"Fibo lines Color:",inline = "eFibo lines:")
- eFiboLineStyle = input.string("Solid","Style:", options=["Solid", "Dashed", "Dotted"],inline = "eFibo lines:")
- eFiboLineWidth = input.int(1,"Width:",inline = "eFibo lines:")
- //ADR
- showADR = input(true,"Show ADR", group = "********* ADR New York Session (default 07:30-08:30pm) *********")
- TimeADR = input.session("1930-2025", "Time range:",tooltip = "By default it is set to be used on 5min chart, so it means it is set to obtain last candle on 08:25 pm. Consider this if you change time frame.")
- nya = TimeADR + ":1234567"
- showADRExtLines = input(true,"Show extended lines on session", tooltip = "Extended lines to the right will be visible till next DR session")
- adrmainColor = input.color(color.rgb(76, 175, 79, 100),"High DR Color:", inline = "aMain lines:", group = "Customize colors and lines ")
- adrmainLebelTextCol = input.color(color.red,"Label Text color:", inline = "aMain lines:", group = "Customize colors and lines ")
- adrmainExtLinesStyle = input.string("Dashed","Ext. Style:", options=["Solid", "Dashed", "Dotted"],inline = "aexMain lines:")
- adrmainExtLinesWidth = input.int(1,"Width:",inline = "aexMain lines:")
- adrlmainColor = input.color(color.rgb(255, 82, 82, 100),"Low DR Color:", inline = "alMain lines:")
- adrlmainLebelTextCol = input.color(color.red,"Label Text color:", inline = "alMain lines:")
- adrlmainExtLinesStyle = input.string("Dashed","Ext. Style:", options=["Solid", "Dashed", "Dotted"],inline = "alexMain lines:")
- adrlmainExtLinesWidth = input.int(1,"Width:",inline = "alexMain lines:")
- showadrFibo = input(true,"Show fibo levels according to eDR (0.5 step)", tooltip = "It will be visible till next DR session",group = "Fibonacci levels ")
- adrFiboColor = input(color.rgb(196, 196, 196),"Fibo lines Color:",inline = "aFibo lines:")
- adrFiboLineStyle = input.string("Solid","Style:", options=["Solid", "Dashed", "Dotted"],inline = "aFibo lines:")
- adrFiboLineWidth = input.int(1,"Width:",inline = "aFibo lines:")
- mainLineS = line.style_solid
- if mainExtLinesStyle == "Solid"
- mainLineS := line.style_solid
- if mainExtLinesStyle == "Dashed"
- mainLineS := line.style_dashed
- if mainExtLinesStyle == "Dotted"
- mainLineS := line.style_dotted
- lmainLineS = line.style_solid
- if lmainExtLinesStyle == "Solid"
- lmainLineS := line.style_solid
- if lmainExtLinesStyle == "Dashed"
- lmainLineS := line.style_dashed
- if lmainExtLinesStyle == "Dotted"
- lmainLineS := line.style_dotted
- emainLineS = line.style_solid
- if emainExtLinesStyle == "Solid"
- emainLineS := line.style_solid
- if emainExtLinesStyle == "Dashed"
- emainLineS := line.style_dashed
- if emainExtLinesStyle == "Dotted"
- emainLineS := line.style_dotted
- elmainLineS = line.style_solid
- if elmainExtLinesStyle == "Solid"
- elmainLineS := line.style_solid
- if elmainExtLinesStyle == "Dashed"
- elmainLineS := line.style_dashed
- if elmainExtLinesStyle == "Dotted"
- elmainLineS := line.style_dotted
- adrmainLineS = line.style_solid
- if adrmainExtLinesStyle == "Solid"
- adrmainLineS := line.style_solid
- if adrmainExtLinesStyle == "Dashed"
- adrmainLineS := line.style_dashed
- if adrmainExtLinesStyle == "Dotted"
- adrmainLineS := line.style_dotted
- adrlmainLineS = line.style_solid
- if adrlmainExtLinesStyle == "Solid"
- adrlmainLineS := line.style_solid
- if adrlmainExtLinesStyle == "Dashed"
- adrlmainLineS := line.style_dashed
- if adrlmainExtLinesStyle == "Dotted"
- adrlmainLineS := line.style_dotted
- fibLineS = line.style_solid
- if FiboLineStyle == "Solid"
- fibLineS := line.style_solid
- if FiboLineStyle == "Dashed"
- fibLineS := line.style_dashed
- if FiboLineStyle == "Dotted"
- fibLineS := line.style_dotted
- efibLineS = line.style_solid
- if eFiboLineStyle == "Solid"
- efibLineS := line.style_solid
- if eFiboLineStyle == "Dashed"
- efibLineS := line.style_dashed
- if eFiboLineStyle == "Dotted"
- efibLineS := line.style_dotted
- adrfibLineS = line.style_solid
- if adrFiboLineStyle == "Solid"
- adrfibLineS := line.style_solid
- if adrFiboLineStyle == "Dashed"
- adrfibLineS := line.style_dashed
- if adrFiboLineStyle == "Dotted"
- adrfibLineS := line.style_dotted
- is_newbar(sess) =>
- t = time(res, sess, "America/New_York")
- na(t[1]) and not na(t) or t[1] < t
- is_session(sess) =>
- not na(time(timeframe.period, sess, "America/New_York"))
- nyNewbar = is_newbar(ny)
- nySession = is_session(ny)
- nyeSession = is_session(nye)
- nyaSession = is_session(nya)
- //TheMas7er calc
- //barcolor(nySession ? color.white : na)
- var line DRhighE = na
- var line DRlowE = na
- var line IDRhighE = na
- var line IDRlowE = na
- var line eDRhighE = na
- var line eDRlowE = na
- var line eIDRhighE = na
- var line eIDRlowE = na
- var line aDRhighE = na
- var line aDRlowE = na
- var line aIDRhighE = na
- var line aIDRlowE = na
- var float aDR_high = na
- var float aDR_low = na
- var line rDR_Downside_low_target = na //rDR DownSide Expansion Target
- var line rDR_Upside_high_target = na //rDR UpSide Expansion Target
- var label rDR_Downside_low_target_label = na
- var label rDR_Upside_high_target_label = na
- var line Fibo05 = na
- var line Fibo15 = na
- var line Fibo2 = na
- var line Fibo25 = na
- var line Fibo3 = na
- var line Fibo35 = na
- var line Fibo4 = na
- var line Fibo45 = na
- var line Fibo5 = na
- var line Fibo55 = na
- var line Fibo6 = na
- var line FiboM05 = na
- var line FiboM1 = na
- var line FiboM15 = na
- var line FiboM2 = na
- var line FiboM25 = na
- var line FiboM3 = na
- var line FiboM35 = na
- var line FiboM4 = na
- var line FiboM45 = na
- var line FiboM5 = na
- var line FiboM55 = na
- var line FiboM6 = na
- var label Fibo05T = na
- var label Fibo15T = na
- var label Fibo2T = na
- var label Fibo25T = na
- var label Fibo3T = na
- var label Fibo35T = na
- var label Fibo4T = na
- var label Fibo45T = na
- var label Fibo5T = na
- var label Fibo55T = na
- var label Fibo6T = na
- var label FiboM05T = na
- var label FiboM1T = na
- var label FiboM15T = na
- var label FiboM2T = na
- var label FiboM25T = na
- var label FiboM3T = na
- var label FiboM35T = na
- var label FiboM4T = na
- var label FiboM45T = na
- var label FiboM5T = na
- var label FiboM55T = na
- var label FiboM6T = na
- var line eFibo05 = na
- var line eFibo15 = na
- var line eFibo2 = na
- var line eFibo25 = na
- var line eFibo3 = na
- var line eFibo35 = na
- var line eFibo4 = na
- var line eFibo45 = na
- var line eFibo5 = na
- var line eFibo55 = na
- var line eFibo6 = na
- var line eFiboM05 = na
- var line eFiboM1 = na
- var line eFiboM15 = na
- var line eFiboM2 = na
- var line eFiboM25 = na
- var line eFiboM3 = na
- var line eFiboM35 = na
- var line eFiboM4 = na
- var line eFiboM45 = na
- var line eFiboM5 = na
- var line eFiboM55 = na
- var line eFiboM6 = na
- var label eFibo05T = na
- var label eFibo15T = na
- var label eFibo2T = na
- var label eFibo25T = na
- var label eFibo3T = na
- var label eFibo35T = na
- var label eFibo4T = na
- var label eFibo45T = na
- var label eFibo5T = na
- var label eFibo55T = na
- var label eFibo6T = na
- var label eFiboM05T = na
- var label eFiboM1T = na
- var label eFiboM15T = na
- var label eFiboM2T = na
- var label eFiboM25T = na
- var label eFiboM3T = na
- var label eFiboM35T = na
- var label eFiboM4T = na
- var label eFiboM45T = na
- var label eFiboM5T = na
- var label eFiboM55T = na
- var label eFiboM6T = na
- var line aFibo05 = na
- var line aFibo15 = na
- var line aFibo2 = na
- var line aFibo25 = na
- var line aFibo3 = na
- var line aFibo35 = na
- var line aFibo4 = na
- var line aFibo45 = na
- var line aFibo5 = na
- var line aFibo55 = na
- var line aFibo6 = na
- var line aFiboM05 = na
- var line aFiboM1 = na
- var line aFiboM15 = na
- var line aFiboM2 = na
- var line aFiboM25 = na
- var line aFiboM3 = na
- var line aFiboM35 = na
- var line aFiboM4 = na
- var line aFiboM45 = na
- var line aFiboM5 = na
- var line aFiboM55 = na
- var line aFiboM6 = na
- var label aFibo05T = na
- var label aFibo15T = na
- var label aFibo2T = na
- var label aFibo25T = na
- var label aFibo3T = na
- var label aFibo35T = na
- var label aFibo4T = na
- var label aFibo45T = na
- var label aFibo5T = na
- var label aFibo55T = na
- var label aFibo6T = na
- var label aFiboM05T = na
- var label aFiboM1T = na
- var label aFiboM15T = na
- var label aFiboM2T = na
- var label aFiboM25T = na
- var label aFiboM3T = na
- var label aFiboM35T = na
- var label aFiboM4T = na
- var label aFiboM45T = na
- var label aFiboM5T = na
- var label aFiboM55T = na
- var label aFiboM6T = na
- startBar = false
- endBar = false
- starteBar = false
- endeBar = false
- startaBar = false
- endaBar = false
- if barstate.isconfirmed
- if nyeSession
- starteBar := nyeSession[1] == false and nyeSession
- else
- endeBar := nyeSession == false and nyeSession[1]
- if nySession
- startBar := nySession[1] == false and nySession
- else
- endBar := nySession == false and nySession[1]
- if nyaSession
- startaBar := nyaSession[1] == false and nyaSession
- else
- endaBar := nyaSession == false and nyaSession[1]
- FirsteBar = ta.barssince(starteBar)
- LasteBar = ta.barssince(endeBar)+1
- FirstBar = ta.barssince(startBar)
- LastBar = ta.barssince(endBar)+1
- FirstaBar = ta.barssince(startaBar)
- LastaBar = ta.barssince(endaBar)+1
- afTextPos = bar_index[1]
- afTextXloc = xloc.bar_index
- //NY early eDR/eIDR
- if barstate.isconfirmed and endeBar and showEarly
- HHe = high
- LLe = low
- HHidre = close
- LLidre = open
- if close > open
- HHidre := close
- LLidre := open
- else
- HHidre := open
- LLidre := close
- for i = 1 to FirsteBar
- if high[i] > HHe
- HHe := high[i]
- if low[i] < LLe
- LLe := low[i]
- if close[i] > open[i] and close[i] > HHidre
- HHidre := close[i]
- if close[i] < open[i] and open[i] > HHidre
- HHidre := open[i]
- if close[i] > open[i] and open[i] < LLidre
- LLidre := open[i]
- if close[i] < open[i] and close[i] < LLidre
- LLidre := close[i]
- eDRhigh = line.new(bar_index[FirsteBar], HHe,bar_index,HHe,color=emainColor,style=line.style_solid,width=emainExtLinesWidth)
- eDRhighLabel = label.new(bar_index[FirsteBar],HHe,text="oDR high",size=size.small,color=emainColor,style=label.style_label_right,textcolor=emainLebelTextCol)
- eDRlow = line.new(bar_index[FirsteBar], LLe,bar_index,LLe,color=elmainColor,style=line.style_solid,width=elmainExtLinesWidth)
- eDRlowLabel = label.new(bar_index[FirsteBar],LLe,text="oDR low",size=size.small,color=elmainColor,style=label.style_label_right,textcolor=elmainLebelTextCol)
- eIDRhigh = line.new(bar_index[FirsteBar], HHidre,bar_index,HHidre,color=emainColor,style=line.style_dotted,width=emainExtLinesWidth)
- eIDRhighLabel = label.new(bar_index[FirsteBar+3],HHidre,text="oiDR high",size=size.small,color=color.rgb(61, 61, 61),style=label.style_none,textcolor=emainColor)
- eIDRlow = line.new(bar_index[FirsteBar], LLidre,bar_index,LLidre,color=elmainColor,style=line.style_dotted,width=elmainExtLinesWidth)
- eIDRlowLabel = label.new(bar_index[FirsteBar+3],LLidre,text="oiDR low",size=size.small,color=color.rgb(61, 61, 61),style=label.style_none,textcolor=elmainColor)
- if show_rDR_expansion_target
- // aDR DownSide Expansion
- rDR_Downside_low_target := line.new(bar_index[1],LLe-((HHe-LLe)*2),bar_index,LLe-((HHe-LLe)*2),extend=extend.right,color=color_rDR_expansion_target,style=line.style_solid,width=1) //oDR (low) - oDR's range * 2 = rDR estimated low
- rDR_Downside_low_target_label := label.new(afTextPos, LLe-((HHe-LLe)*2), "Projected Minimum rDR Target (low)", xloc = afTextXloc, size=size.small, style = label.style_none,textcolor=color_rDR_expansion_target_text)
- // aDR UpSide Expansion
- rDR_Upside_high_target := line.new(bar_index[1],HHe+((HHe-LLe)*2),bar_index,HHe+((HHe-LLe)*2),extend=extend.right,color=color_rDR_expansion_target,style=line.style_solid,width=1) //oDR (high) + oDR's range * 2 = rDR estimated high
- rDR_Upside_high_target_label := label.new(afTextPos, HHe+((HHe-LLe)*2), "Projected Minimum rDR Target (high)", xloc = afTextXloc, size=size.small, style = label.style_none,textcolor=color_rDR_expansion_target_text)
- if showEarlyExtLines
- eDRhighE := line.new(bar_index[1], HHe,bar_index,HHe,extend = extend.right,color=emainColor,style=emainLineS,width=emainExtLinesWidth)
- eDRlowE := line.new(bar_index[1], LLe,bar_index,LLe,extend = extend.right,color=elmainColor,style=elmainLineS,width=elmainExtLinesWidth)
- eIDRhighE := line.new(bar_index[1], HHidre,bar_index,HHidre,extend = extend.right,color=emainColor,style=line.style_dotted,width=emainExtLinesWidth)
- eIDRlowE := line.new(bar_index[1], LLidre,bar_index,LLidre,extend = extend.right,color=elmainColor,style=line.style_dotted,width=elmainExtLinesWidth)
- //Fibo early
- if showeFibo
- eFibo05 := line.new(bar_index[1], (HHidre+LLidre)/2,bar_index,(HHidre+LLidre)/2,extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFibo15 := line.new(bar_index[1], HHidre + ((HHidre-LLidre)*0.5),bar_index,HHidre + ((HHidre-LLidre)*0.5),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFibo2 := line.new(bar_index[1], HHidre + (HHidre-LLidre),bar_index,HHidre + (HHidre-LLidre),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFibo25 := line.new(bar_index[1], HHidre + ((HHidre-LLidre)*1.5),bar_index,HHidre + ((HHidre-LLidre)*1.5),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFibo3 := line.new(bar_index[1], HHidre + ((HHidre-LLidre)*2),bar_index,HHidre + ((HHidre-LLidre)*2),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFibo35 := line.new(bar_index[1], HHidre + ((HHidre-LLidre)*2.5),bar_index,HHidre + ((HHidre-LLidre)*2.5),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFibo4 := line.new(bar_index[1], HHidre + ((HHidre-LLidre)*3),bar_index,HHidre + ((HHidre-LLidre)*3),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFibo45 := line.new(bar_index[1], HHidre + ((HHidre-LLidre)*3.5),bar_index,HHidre + ((HHidre-LLidre)*3.5),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFibo5 := line.new(bar_index[1], HHidre + ((HHidre-LLidre)*4),bar_index,HHidre + ((HHidre-LLidre)*4),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFibo55 := line.new(bar_index[1], HHidre + ((HHidre-LLidre)*4.5),bar_index,HHidre + ((HHidre-LLidre)*4.5),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFibo6 := line.new(bar_index[1], HHidre + ((HHidre-LLidre)*5),bar_index,HHidre + ((HHidre-LLidre)*5),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFiboM05 := line.new(bar_index[1], LLidre - ((HHidre-LLidre)*0.5),bar_index,LLidre - ((HHidre-LLidre)*0.5),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFiboM1 := line.new(bar_index[1], LLidre - (HHidre-LLidre),bar_index,LLidre - (HHidre-LLidre),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFiboM15 := line.new(bar_index[1], LLidre - ((HHidre-LLidre)*1.5),bar_index,LLidre - ((HHidre-LLidre)*1.5),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFiboM2 := line.new(bar_index[1], LLidre - ((HHidre-LLidre)*2),bar_index,LLidre - ((HHidre-LLidre)*2),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFiboM25 := line.new(bar_index[1], LLidre - ((HHidre-LLidre)*2.5),bar_index,LLidre - ((HHidre-LLidre)*2.5),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFiboM3 := line.new(bar_index[1], LLidre - ((HHidre-LLidre)*3),bar_index,LLidre - ((HHidre-LLidre)*3),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFiboM35 := line.new(bar_index[1], LLidre - ((HHidre-LLidre)*3.5),bar_index,LLidre - ((HHidre-LLidre)*3.5),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFiboM4 := line.new(bar_index[1], LLidre - ((HHidre-LLidre)*4),bar_index,LLidre - ((HHidre-LLidre)*4),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFiboM45 := line.new(bar_index[1], LLidre - ((HHidre-LLidre)*4.5),bar_index,LLidre - ((HHidre-LLidre)*4.5),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFiboM5 := line.new(bar_index[1], LLidre - ((HHidre-LLidre)*5),bar_index,LLidre - ((HHidre-LLidre)*5),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFiboM55 := line.new(bar_index[1], LLidre - ((HHidre-LLidre)*5.5),bar_index,LLidre - ((HHidre-LLidre)*5.5),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- eFiboM6 := line.new(bar_index[1], LLidre - ((HHidre-LLidre)*6),bar_index,LLidre - ((HHidre-LLidre)*6),extend = extend.right,color=eFiboColor,style=efibLineS,width=eFiboLineWidth)
- efTextPos = bar_index[1]
- efTextXloc = xloc.bar_index
- eFibo05T := label.new(efTextPos, (HHidre+LLidre)/2, "0.5", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFibo15T := label.new(efTextPos, HHidre + ((HHidre-LLidre)*0.5), "1.5", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFibo2T := label.new(efTextPos, HHidre + (HHidre-LLidre), "2", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFibo25T := label.new(efTextPos, HHidre + ((HHidre-LLidre)*1.5), "2.5", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFibo3T := label.new(efTextPos, HHidre + ((HHidre-LLidre)*2), "3", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFibo35T := label.new(efTextPos, HHidre + ((HHidre-LLidre)*2.5), "3.5", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFibo4T := label.new(efTextPos, HHidre + ((HHidre-LLidre)*3), "4", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFibo45T := label.new(efTextPos, HHidre + ((HHidre-LLidre)*3.5), "4.5", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFibo5T := label.new(efTextPos, HHidre + ((HHidre-LLidre)*4), "5", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFibo55T := label.new(efTextPos, HHidre + ((HHidre-LLidre)*4.5), "5.5", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFibo6T := label.new(efTextPos, HHidre + ((HHidre-LLidre)*5), "6", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFiboM05T := label.new(efTextPos, LLidre - ((HHidre-LLidre)*0.5), "-0.5", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFiboM1T := label.new(efTextPos, LLidre - (HHidre-LLidre), "-1", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFiboM15T := label.new(efTextPos, LLidre - ((HHidre-LLidre)*1.5), "-1.5", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFiboM2T := label.new(efTextPos, LLidre - ((HHidre-LLidre)*2), "-2", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFiboM25T := label.new(efTextPos, LLidre - ((HHidre-LLidre)*2.5), "-2.5", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFiboM3T := label.new(efTextPos, LLidre - ((HHidre-LLidre)*3), "-3", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFiboM35T := label.new(efTextPos, LLidre - ((HHidre-LLidre)*3.5), "-3.5", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFiboM4T := label.new(efTextPos, LLidre - ((HHidre-LLidre)*4), "-4", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFiboM45T := label.new(efTextPos, LLidre - ((HHidre-LLidre)*4.5), "-4.5", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFiboM5T := label.new(efTextPos, LLidre - ((HHidre-LLidre)*5), "-5", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFiboM55T := label.new(efTextPos, LLidre - ((HHidre-LLidre)*5.5), "-5.5", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- eFiboM6T := label.new(efTextPos, LLidre - ((HHidre-LLidre)*6), "-6", xloc = efTextXloc, style = label.style_none,textcolor=eFiboColor)
- DeleteOldeLInes = false
- if showEarly and showMain and showADR and (nyeSession or nySession or nyaSession)
- DeleteOldeLInes := true
- if showEarly and showMain == false and showADR == false and nyeSession
- DeleteOldeLInes := true
- if showEarly == false and showMain and showADR == false and nySession
- DeleteOldeLInes := true
- if showEarly == false and showMain == false and showADR and nyaSession
- DeleteOldeLInes := true
- if showEarly == false and showMain and showADR and (nySession or nyaSession)
- DeleteOldeLInes := true
- if showEarly and showMain == false and showADR and (nyeSession or nyaSession)
- DeleteOldeLInes := true
- if showEarly and showMain and showADR == false and (nyeSession or nySession)
- DeleteOldeLInes := true
- if DeleteOldeLInes
- line.delete(eDRhighE[1])
- line.delete(eDRlowE[1])
- line.delete(eIDRhighE[1])
- line.delete(eIDRlowE[1])
- line.delete(eFibo05[1])
- line.delete(eFibo15[1])
- line.delete(eFibo2[1])
- line.delete(eFibo25[1])
- line.delete(eFibo3[1])
- line.delete(eFibo35[1])
- line.delete(eFibo4[1])
- line.delete(eFibo45[1])
- line.delete(eFibo5[1])
- line.delete(eFibo55[1])
- line.delete(eFibo6[1])
- line.delete(eFiboM05[1])
- line.delete(eFiboM1[1])
- line.delete(eFiboM15[1])
- line.delete(eFiboM2[1])
- line.delete(eFiboM25[1])
- line.delete(eFiboM3[1])
- line.delete(eFiboM35[1])
- line.delete(eFiboM4[1])
- line.delete(eFiboM45[1])
- line.delete(eFiboM5[1])
- line.delete(eFiboM55[1])
- line.delete(eFiboM6[1])
- label.delete(eFibo05T[1])
- label.delete(eFibo15T[1])
- label.delete(eFibo2T[1])
- label.delete(eFibo25T[1])
- label.delete(eFibo3T[1])
- label.delete(eFibo35T[1])
- label.delete(eFibo4T[1])
- label.delete(eFibo45T[1])
- label.delete(eFibo5T[1])
- label.delete(eFibo55T[1])
- label.delete(eFibo6T[1])
- label.delete(eFiboM05T[1])
- label.delete(eFiboM1T[1])
- label.delete(eFiboM15T[1])
- label.delete(eFiboM2T[1])
- label.delete(eFiboM25T[1])
- label.delete(eFiboM3T[1])
- label.delete(eFiboM35T[1])
- label.delete(eFiboM4T[1])
- label.delete(eFiboM45T[1])
- label.delete(eFiboM5T[1])
- label.delete(eFiboM55T[1])
- label.delete(eFiboM6T[1])
- //NY regular DR/iDR
- if barstate.isconfirmed and endBar and showMain
- HH = high
- LL = low
- HHidr = close
- LLidr = open
- if close > open
- HHidr := close
- LLidr := open
- else
- HHidr := open
- LLidr := close
- for i = 1 to FirstBar
- if high[i] > HH
- HH := high[i]
- if low[i] < LL
- LL := low[i]
- if close[i] > open[i] and close[i] > HHidr
- HHidr := close[i]
- if close[i] < open[i] and open[i] > HHidr
- HHidr := open[i]
- if close[i] > open[i] and open[i] < LLidr
- LLidr := open[i]
- if close[i] < open[i] and close[i] < LLidr
- LLidr := close[i]
- DRhigh = line.new(bar_index[FirstBar], HH,bar_index,HH,color=mainColor,style=line.style_solid,width=mainExtLinesWidth)
- DRhighLabel = label.new(bar_index[FirstBar],HH,text="rDR high",size=size.small,color=mainColor,style=label.style_label_right,textcolor=mainLebelTextCol)
- DRlow = line.new(bar_index[FirstBar], LL,bar_index,LL,color=lmainColor,style=line.style_solid,width=lmainExtLinesWidth)
- DRlowLabel = label.new(bar_index[FirstBar],LL,text="rDR low",size=size.small,color=lmainColor,style=label.style_label_right,textcolor=lmainLebelTextCol)
- IDRhigh = line.new(bar_index[FirstBar], HHidr,bar_index,HHidr,color=mainColor,style=line.style_dotted,width=mainExtLinesWidth)
- IDRhighLabel = label.new(bar_index[FirstBar+3],HHidr,text="riDR high",size=size.small,color=color.rgb(61, 61, 61),style=label.style_none,textcolor=mainColor)
- IDRlow = line.new(bar_index[FirstBar], LLidr,bar_index,LLidr,color=lmainColor,style=line.style_dotted,width=lmainExtLinesWidth)
- IDRlowLabel = label.new(bar_index[FirstBar+3],LLidr,text="riDR low",size=size.small,color=color.rgb(61, 61, 61),style=label.style_none,textcolor=lmainColor)
- if showExtLines
- DRhighE := line.new(bar_index[1], HH,bar_index,HH,extend = extend.right,color=mainColor,style=mainLineS,width=mainExtLinesWidth)
- DRlowE := line.new(bar_index[1], LL,bar_index,LL,extend = extend.right,color=lmainColor,style=lmainLineS,width=lmainExtLinesWidth)
- IDRhighE := line.new(bar_index[1], HHidr,bar_index,HHidr,extend = extend.right,color=mainColor,style=line.style_dotted,width=mainExtLinesWidth)
- IDRlowE := line.new(bar_index[1], LLidr,bar_index,LLidr,extend = extend.right,color=lmainColor,style=line.style_dotted,width=lmainExtLinesWidth)
- if showFibo
- Fibo05 := line.new(bar_index[1], (HHidr+LLidr)/2,bar_index,(HHidr+LLidr)/2,extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- Fibo15 := line.new(bar_index[1], HHidr + ((HHidr-LLidr)*0.5),bar_index,HHidr + ((HHidr-LLidr)*0.5),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- Fibo2 := line.new(bar_index[1], HHidr + (HHidr-LLidr),bar_index,HHidr + (HHidr-LLidr),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- Fibo25 := line.new(bar_index[1], HHidr + ((HHidr-LLidr)*1.5),bar_index,HHidr + ((HHidr-LLidr)*1.5),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- Fibo3 := line.new(bar_index[1], HHidr + ((HHidr-LLidr)*2),bar_index,HHidr + ((HHidr-LLidr)*2),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- Fibo35 := line.new(bar_index[1], HHidr + ((HHidr-LLidr)*2.5),bar_index,HHidr + ((HHidr-LLidr)*2.5),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- Fibo4 := line.new(bar_index[1], HHidr + ((HHidr-LLidr)*3),bar_index,HHidr + ((HHidr-LLidr)*3),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- Fibo45 := line.new(bar_index[1], HHidr + ((HHidr-LLidr)*3.5),bar_index,HHidr + ((HHidr-LLidr)*3.5),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- Fibo5 := line.new(bar_index[1], HHidr + ((HHidr-LLidr)*4),bar_index,HHidr + ((HHidr-LLidr)*4),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- Fibo55 := line.new(bar_index[1], HHidr + ((HHidr-LLidr)*4.5),bar_index,HHidr + ((HHidr-LLidr)*4.5),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- Fibo6 := line.new(bar_index[1], HHidr + ((HHidr-LLidr)*5),bar_index,HHidr + ((HHidr-LLidr)*5),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- FiboM05 := line.new(bar_index[1], LLidr - ((HHidr-LLidr)*0.5),bar_index,LLidr - ((HHidr-LLidr)*0.5),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- FiboM1 := line.new(bar_index[1], LLidr - (HHidr-LLidr),bar_index,LLidr - (HHidr-LLidr),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- FiboM15 := line.new(bar_index[1], LLidr - ((HHidr-LLidr)*1.5),bar_index,LLidr - ((HHidr-LLidr)*1.5),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- FiboM2 := line.new(bar_index[1], LLidr - ((HHidr-LLidr)*2),bar_index,LLidr - ((HHidr-LLidr)*2),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- FiboM25 := line.new(bar_index[1], LLidr - ((HHidr-LLidr)*2.5),bar_index,LLidr - ((HHidr-LLidr)*2.5),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- FiboM3 := line.new(bar_index[1], LLidr - ((HHidr-LLidr)*3),bar_index,LLidr - ((HHidr-LLidr)*3),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- FiboM35 := line.new(bar_index[1], LLidr - ((HHidr-LLidr)*3.5),bar_index,LLidr - ((HHidr-LLidr)*3.5),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- FiboM4 := line.new(bar_index[1], LLidr - ((HHidr-LLidr)*4),bar_index,LLidr - ((HHidr-LLidr)*4),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- FiboM45 := line.new(bar_index[1], LLidr - ((HHidr-LLidr)*4.5),bar_index,LLidr - ((HHidr-LLidr)*4.5),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- FiboM5 := line.new(bar_index[1], LLidr - ((HHidr-LLidr)*5),bar_index,LLidr - ((HHidr-LLidr)*5),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- FiboM55 := line.new(bar_index[1], LLidr - ((HHidr-LLidr)*5.5),bar_index,LLidr - ((HHidr-LLidr)*5.5),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- FiboM6 := line.new(bar_index[1], LLidr - ((HHidr-LLidr)*6),bar_index,LLidr - ((HHidr-LLidr)*6),extend = extend.right,color=FiboColor,style=fibLineS,width=FiboLineWidth)
- fTextPos = bar_index[1]
- fTextXloc = xloc.bar_index
- Fibo05T := label.new(fTextPos, (HHidr+LLidr)/2, "0.5", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- Fibo15T := label.new(fTextPos, HHidr + ((HHidr-LLidr)*0.5), "1.5", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- Fibo2T := label.new(fTextPos, HHidr + (HHidr-LLidr), "2", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- Fibo25T := label.new(fTextPos, HHidr + ((HHidr-LLidr)*1.5), "2.5", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- Fibo3T := label.new(fTextPos, HHidr + ((HHidr-LLidr)*2), "3", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- Fibo35T := label.new(fTextPos, HHidr + ((HHidr-LLidr)*2.5), "3.5", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- Fibo4T := label.new(fTextPos, HHidr + ((HHidr-LLidr)*3), "4", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- Fibo45T := label.new(fTextPos, HHidr + ((HHidr-LLidr)*3.5), "4.5", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- Fibo5T := label.new(fTextPos, HHidr + ((HHidr-LLidr)*4), "5", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- Fibo55T := label.new(fTextPos, HHidr + ((HHidr-LLidr)*4.5), "5.5", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- Fibo6T := label.new(fTextPos, HHidr + ((HHidr-LLidr)*5), "6", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- FiboM05T := label.new(fTextPos, LLidr - ((HHidr-LLidr)*0.5), "-0.5", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- FiboM1T := label.new(fTextPos, LLidr - (HHidr-LLidr), "-1", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- FiboM15T := label.new(fTextPos, LLidr - ((HHidr-LLidr)*1.5), "-1.5", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- FiboM2T := label.new(fTextPos, LLidr - ((HHidr-LLidr)*2), "-2", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- FiboM25T := label.new(fTextPos, LLidr - ((HHidr-LLidr)*2.5), "-2.5", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- FiboM3T := label.new(fTextPos, LLidr - ((HHidr-LLidr)*3), "-3", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- FiboM35T := label.new(fTextPos, LLidr - ((HHidr-LLidr)*3.5), "-3.5", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- FiboM4T := label.new(fTextPos, LLidr - ((HHidr-LLidr)*4), "-4", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- FiboM45T := label.new(fTextPos, LLidr - ((HHidr-LLidr)*4.5), "-4.5", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- FiboM5T := label.new(fTextPos, LLidr - ((HHidr-LLidr)*5), "-5", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- FiboM55T := label.new(fTextPos, LLidr - ((HHidr-LLidr)*5.5), "-5.5", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- FiboM6T := label.new(fTextPos, LLidr - ((HHidr-LLidr)*6), "-6", xloc = fTextXloc, style = label.style_none,textcolor=FiboColor)
- DeleteOldLInes = false
- if showEarly and showMain and showADR and (nyeSession or nySession or nyaSession)
- DeleteOldLInes := true
- if showEarly and showMain == false and showADR == false and nyeSession
- DeleteOldLInes := true
- if showEarly == false and showMain and showADR == false and nySession
- DeleteOldLInes := true
- if showEarly == false and showMain == false and showADR and nyaSession
- DeleteOldLInes := true
- if showEarly == false and showMain and showADR and (nySession or nyaSession)
- DeleteOldLInes := true
- if showEarly and showMain == false and showADR and (nyeSession or nyaSession)
- DeleteOldLInes := true
- if showEarly and showMain and showADR == false and (nyeSession or nySession)
- DeleteOldLInes := true
- if DeleteOldLInes
- line.delete(DRhighE[1])
- line.delete(DRlowE[1])
- line.delete(IDRhighE[1])
- line.delete(IDRlowE[1])
- line.delete(Fibo05[1])
- line.delete(Fibo15[1])
- line.delete(Fibo2[1])
- line.delete(Fibo25[1])
- line.delete(Fibo3[1])
- line.delete(Fibo35[1])
- line.delete(Fibo4[1])
- line.delete(Fibo45[1])
- line.delete(Fibo5[1])
- line.delete(Fibo55[1])
- line.delete(Fibo6[1])
- line.delete(FiboM05[1])
- line.delete(FiboM1[1])
- line.delete(FiboM15[1])
- line.delete(FiboM2[1])
- line.delete(FiboM25[1])
- line.delete(FiboM3[1])
- line.delete(FiboM35[1])
- line.delete(FiboM4[1])
- line.delete(FiboM45[1])
- line.delete(FiboM5[1])
- line.delete(FiboM55[1])
- line.delete(FiboM6[1])
- label.delete(Fibo05T[1])
- label.delete(Fibo15T[1])
- label.delete(Fibo2T[1])
- label.delete(Fibo25T[1])
- label.delete(Fibo3T[1])
- label.delete(Fibo35T[1])
- label.delete(Fibo4T[1])
- label.delete(Fibo45T[1])
- label.delete(Fibo5T[1])
- label.delete(Fibo55T[1])
- label.delete(Fibo6T[1])
- label.delete(FiboM05T[1])
- label.delete(FiboM1T[1])
- label.delete(FiboM15T[1])
- label.delete(FiboM2T[1])
- label.delete(FiboM25T[1])
- label.delete(FiboM3T[1])
- label.delete(FiboM35T[1])
- label.delete(FiboM4T[1])
- label.delete(FiboM45T[1])
- label.delete(FiboM5T[1])
- label.delete(FiboM55T[1])
- label.delete(FiboM6T[1])
- //NY ADR
- if barstate.isconfirmed and endaBar and showADR
- HHa = high
- LLa = low
- HHidra = close
- LLidra = open
- if close > open
- HHidra := close
- LLidra := open
- else
- HHidra := open
- LLidra := close
- for i = 1 to FirstaBar
- if high[i] > HHa
- HHa := high[i]
- if low[i] < LLa
- LLa := low[i]
- if close[i] > open[i] and close[i] > HHidra
- HHidra := close[i]
- if close[i] < open[i] and open[i] > HHidra
- HHidra := open[i]
- if close[i] > open[i] and open[i] < LLidra
- LLidra := open[i]
- if close[i] < open[i] and close[i] < LLidra
- LLidra := close[i]
- aDRhigh = line.new(bar_index[FirstaBar], HHa,bar_index,HHa,color=emainColor,style=line.style_solid,width=adrmainExtLinesWidth)
- aDRhighLabel = label.new(bar_index[FirstaBar],HHa,text="aDR high",size=size.small,color=adrmainColor,style=label.style_label_right,textcolor=adrmainLebelTextCol)
- aDRlow = line.new(bar_index[FirstaBar], LLa,bar_index,LLa,color=adrlmainColor,style=line.style_solid,width=adrlmainExtLinesWidth)
- aDRlowLabel = label.new(bar_index[FirstaBar],LLa,text="aDR low",size=size.small,color=adrlmainColor,style=label.style_label_right,textcolor=adrlmainLebelTextCol)
- aIDRhigh = line.new(bar_index[FirstaBar], HHidra,bar_index,HHidra,color=adrmainColor,style=line.style_dotted,width=adrmainExtLinesWidth)
- aIDRhighLabel = label.new(bar_index[FirstaBar+3],HHidra,text="aiDR high",size=size.small,color=color.rgb(61, 61, 61),style=label.style_none,textcolor=adrmainColor)
- aIDRlow = line.new(bar_index[FirstaBar], LLidra,bar_index,LLidra,color=adrlmainColor,style=line.style_dotted,width=adrlmainExtLinesWidth)
- aIDRlowLabel = label.new(bar_index[FirstaBar+3],LLidra,text="aiDR low",size=size.small,color=color.rgb(61, 61, 61),style=label.style_none,textcolor=adrlmainColor)
- aDR_low := LLa
- aDR_high := HHa
- if showADRExtLines
- aDRhighE := line.new(bar_index[1], HHa,bar_index,HHa,extend = extend.right,color=adrmainColor,style=adrmainLineS,width=adrmainExtLinesWidth)
- aDRlowE := line.new(bar_index[1], LLa,bar_index,LLa,extend = extend.right,color=adrlmainColor,style=adrlmainLineS,width=adrlmainExtLinesWidth)
- aIDRhighE := line.new(bar_index[1], HHidra,bar_index,HHidra,extend = extend.right,color=adrmainColor,style=line.style_dotted,width=adrmainExtLinesWidth)
- aIDRlowE := line.new(bar_index[1], LLidra,bar_index,LLidra,extend = extend.right,color=adrlmainColor,style=line.style_dotted,width=adrlmainExtLinesWidth)
- //Fibo ADR
- if showadrFibo
- aFibo05 := line.new(bar_index[1], (HHidra+LLidra)/2,bar_index,(HHidra+LLidra)/2,extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFibo15 := line.new(bar_index[1], HHidra + ((HHidra-LLidra)*0.5),bar_index,HHidra + ((HHidra-LLidra)*0.5),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFibo2 := line.new(bar_index[1], HHidra + (HHidra-LLidra),bar_index,HHidra + (HHidra-LLidra),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFibo25 := line.new(bar_index[1], HHidra + ((HHidra-LLidra)*1.5),bar_index,HHidra + ((HHidra-LLidra)*1.5),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFibo3 := line.new(bar_index[1], HHidra + ((HHidra-LLidra)*2),bar_index,HHidra + ((HHidra-LLidra)*2),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFibo35 := line.new(bar_index[1], HHidra + ((HHidra-LLidra)*2.5),bar_index,HHidra + ((HHidra-LLidra)*2.5),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFibo4 := line.new(bar_index[1], HHidra + ((HHidra-LLidra)*3),bar_index,HHidra + ((HHidra-LLidra)*3),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFibo45 := line.new(bar_index[1], HHidra + ((HHidra-LLidra)*3.5),bar_index,HHidra + ((HHidra-LLidra)*3.5),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFibo5 := line.new(bar_index[1], HHidra + ((HHidra-LLidra)*4),bar_index,HHidra + ((HHidra-LLidra)*4),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFibo55 := line.new(bar_index[1], HHidra + ((HHidra-LLidra)*4.5),bar_index,HHidra + ((HHidra-LLidra)*4.5),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFibo6 := line.new(bar_index[1], HHidra + ((HHidra-LLidra)*5),bar_index,HHidra + ((HHidra-LLidra)*5),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFiboM05 := line.new(bar_index[1], LLidra - ((HHidra-LLidra)*0.5),bar_index,LLidra - ((HHidra-LLidra)*0.5),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFiboM1 := line.new(bar_index[1], LLidra - (HHidra-LLidra),bar_index,LLidra - (HHidra-LLidra),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFiboM15 := line.new(bar_index[1], LLidra - ((HHidra-LLidra)*1.5),bar_index,LLidra - ((HHidra-LLidra)*1.5),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFiboM2 := line.new(bar_index[1], LLidra - ((HHidra-LLidra)*2),bar_index,LLidra - ((HHidra-LLidra)*2),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFiboM25 := line.new(bar_index[1], LLidra - ((HHidra-LLidra)*2.5),bar_index,LLidra - ((HHidra-LLidra)*2.5),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFiboM3 := line.new(bar_index[1], LLidra - ((HHidra-LLidra)*3),bar_index,LLidra - ((HHidra-LLidra)*3),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFiboM35 := line.new(bar_index[1], LLidra - ((HHidra-LLidra)*3.5),bar_index,LLidra - ((HHidra-LLidra)*3.5),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFiboM4 := line.new(bar_index[1], LLidra - ((HHidra-LLidra)*4),bar_index,LLidra - ((HHidra-LLidra)*4),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFiboM45 := line.new(bar_index[1], LLidra - ((HHidra-LLidra)*4.5),bar_index,LLidra - ((HHidra-LLidra)*4.5),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFiboM5 := line.new(bar_index[1], LLidra - ((HHidra-LLidra)*5),bar_index,LLidra - ((HHidra-LLidra)*5),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFiboM55 := line.new(bar_index[1], LLidra - ((HHidra-LLidra)*5.5),bar_index,LLidra - ((HHidra-LLidra)*5.5),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFiboM6 := line.new(bar_index[1], LLidra - ((HHidra-LLidra)*6),bar_index,LLidra - ((HHidra-LLidra)*6),extend = extend.right,color=adrFiboColor,style=adrfibLineS,width=adrFiboLineWidth)
- aFibo05T := label.new(afTextPos, (HHidra+LLidra)/2, "0.5", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFibo15T := label.new(afTextPos, HHidra + ((HHidra-LLidra)*0.5), "1.5", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFibo2T := label.new(afTextPos, HHidra + (HHidra-LLidra), "2", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFibo25T := label.new(afTextPos, HHidra + ((HHidra-LLidra)*1.5), "2.5", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFibo3T := label.new(afTextPos, HHidra + ((HHidra-LLidra)*2), "3", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFibo35T := label.new(afTextPos, HHidra + ((HHidra-LLidra)*2.5), "3.5", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFibo4T := label.new(afTextPos, HHidra + ((HHidra-LLidra)*3), "4", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFibo45T := label.new(afTextPos, HHidra + ((HHidra-LLidra)*3.5), "4.5", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFibo5T := label.new(afTextPos, HHidra + ((HHidra-LLidra)*4), "5", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFibo55T := label.new(afTextPos, HHidra + ((HHidra-LLidra)*4.5), "5.5", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFibo6T := label.new(afTextPos, HHidra + ((HHidra-LLidra)*5), "6", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFiboM05T := label.new(afTextPos, LLidra - ((HHidra-LLidra)*0.5), "-0.5", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFiboM1T := label.new(afTextPos, LLidra - (HHidra-LLidra), "-1", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFiboM15T := label.new(afTextPos, LLidra - ((HHidra-LLidra)*1.5), "-1.5", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFiboM2T := label.new(afTextPos, LLidra - ((HHidra-LLidra)*2), "-2", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFiboM25T := label.new(afTextPos, LLidra - ((HHidra-LLidra)*2.5), "-2.5", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFiboM3T := label.new(afTextPos, LLidra - ((HHidra-LLidra)*3), "-3", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFiboM35T := label.new(afTextPos, LLidra - ((HHidra-LLidra)*3.5), "-3.5", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFiboM4T := label.new(afTextPos, LLidra - ((HHidra-LLidra)*4), "-4", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFiboM45T := label.new(afTextPos, LLidra - ((HHidra-LLidra)*4.5), "-4.5", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFiboM5T := label.new(afTextPos, LLidra - ((HHidra-LLidra)*5), "-5", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFiboM55T := label.new(afTextPos, LLidra - ((HHidra-LLidra)*5.5), "-5.5", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- aFiboM6T := label.new(afTextPos, LLidra - ((HHidra-LLidra)*6), "-6", xloc = afTextXloc, style = label.style_none,textcolor=adrFiboColor)
- DeleteOldaLInes = false
- if showEarly and showMain and showADR and (nyeSession or nySession or nyaSession)
- DeleteOldaLInes := true
- if showADR and showEarly == false and showMain == false and nyaSession
- DeleteOldaLInes := true
- if showADR == false and showMain and showEarly and (nySession or nyeSession)
- DeleteOldaLInes := true
- if showADR == false and showMain and showEarly == false and (nySession)
- DeleteOldaLInes := true
- if showADR == false and showMain == false and showEarly and (nyeSession)
- DeleteOldaLInes := true
- if showADR and showMain and showEarly == false and (nySession or nyaSession)
- DeleteOldaLInes := true
- if showADR and showMain == false and showEarly and (nyeSession or nyaSession)
- DeleteOldaLInes := true
- if DeleteOldaLInes
- line.delete(aDRhighE[1])
- line.delete(aDRlowE[1])
- line.delete(aIDRhighE[1])
- line.delete(aIDRlowE[1])
- line.delete(aFibo05[1])
- line.delete(aFibo15[1])
- line.delete(aFibo2[1])
- line.delete(aFibo25[1])
- line.delete(aFibo3[1])
- line.delete(aFibo35[1])
- line.delete(aFibo4[1])
- line.delete(aFibo45[1])
- line.delete(aFibo5[1])
- line.delete(aFibo55[1])
- line.delete(aFibo6[1])
- line.delete(aFiboM05[1])
- line.delete(aFiboM1[1])
- line.delete(aFiboM15[1])
- line.delete(aFiboM2[1])
- line.delete(aFiboM25[1])
- line.delete(aFiboM3[1])
- line.delete(aFiboM35[1])
- line.delete(aFiboM4[1])
- line.delete(aFiboM45[1])
- line.delete(aFiboM5[1])
- line.delete(aFiboM55[1])
- line.delete(aFiboM6[1])
- label.delete(aFibo05T[1])
- label.delete(aFibo15T[1])
- label.delete(aFibo2T[1])
- label.delete(aFibo25T[1])
- label.delete(aFibo3T[1])
- label.delete(aFibo35T[1])
- label.delete(aFibo4T[1])
- label.delete(aFibo45T[1])
- label.delete(aFibo5T[1])
- label.delete(aFibo55T[1])
- label.delete(aFibo6T[1])
- label.delete(aFiboM05T[1])
- label.delete(aFiboM1T[1])
- label.delete(aFiboM15T[1])
- label.delete(aFiboM2T[1])
- label.delete(aFiboM25T[1])
- label.delete(aFiboM3T[1])
- label.delete(aFiboM35T[1])
- label.delete(aFiboM4T[1])
- label.delete(aFiboM45T[1])
- label.delete(aFiboM5T[1])
- label.delete(aFiboM55T[1])
- label.delete(aFiboM6T[1])
- //Delete Old Labels
- DeleteExpansionTargets = false
- if aDR_low != aDR_low[1] or aDR_high != aDR_high[1]
- DeleteExpansionTargets := true
- if DeleteExpansionTargets
- line.delete(rDR_Downside_low_target[1])
- line.delete(rDR_Upside_high_target[1])
- label.delete(rDR_Downside_low_target_label[1])
- label.delete(rDR_Upside_high_target_label[1])
- ////////////////////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////
- // Draw Vertical Lines as Intraday Seperator
- cur_minute = minute
- cur_hour = hour
- do_plot = false
- if(cur_minute == 30 and cur_hour == 19) and Plot_intraday_Seperator
- do_plot := true
- else
- do_plot := false
- vline(BarIndex, Color, LineStyle, LineWidth) =>
- line.new(BarIndex, low - ta.tr, BarIndex, high + ta.tr, xloc.bar_index, extend.both, Color, LineStyle, LineWidth)
- if (do_plot)
- vline(bar_index[0], color.rgb(46, 40, 40, 51), line.style_solid, 1)
- // FVG Imbalance
- TopImbalance = low[2] <= open[1] and high[0] >= close[1]
- TopImbalancesize = low[2] - high[0]
- if ShowImbalance and TopImbalance and TopImbalancesize > 0
- BOX1 = box.new(left=bar_index[1], top=low[2], right=bar_index[0], bottom=high[0])
- box.set_bgcolor(BOX1, color=color_fvg_imbalance)
- box.set_border_color(BOX1, color=color_fvg_imbalance)
- if ExtendFVG == true
- box.set_extend (BOX1,extend.right)
- // To prevent clutter, disable extension from the last box drawing
- box.set_extend(id=BOX1[1], extend=extend.none)
- BottomInbalance = high[2] >= open[1] and low[0] <= close[1]
- BottomInbalancesize = low[0] - high[2]
- if ShowImbalance and BottomInbalance and BottomInbalancesize > 0
- BOX2 = box.new(left=bar_index[1], top=low[0], right=bar_index[0], bottom=high[2])
- box.set_bgcolor(BOX2, color=color_fvg_imbalance)
- box.set_border_color(BOX2, color=color_fvg_imbalance)
- if ExtendFVG == true
- box.set_extend (BOX2,extend.right)
- // To prevent clutter, disable extension from the last box drawing
- box.set_extend(id=BOX2[1], extend=extend.none)
- // Volume Imbalances //
- vol_imbalance_up = open > close[1] and low <= high[1] and close > close[1] and open > open[1]
- vol_imbalance_down = open < close[1] and open < open[1] and high >= low[1] and close < close[1] and close < open[1]
- if vol_imbalance_up and display_vol_imbalance
- VIBbox1 = box.new(left=bar_index-1, top=math.min(open,close), right=bar_index, bottom=math.max(close[1],open[1]), bgcolor=color_vol_imbalance, border_color=color_vol_imbalance)
- if ExtendVIB == true
- box.set_extend (VIBbox1,extend.right)
- // To prevent clutter, disable extension from the last box drawing
- box.set_extend(id=VIBbox1[1], extend=extend.none)
- if vol_imbalance_down and display_vol_imbalance
- VIBbox2 = box.new(left=bar_index-1, top=math.min(close[1],open[1]), right=bar_index, bottom=math.max(open,close), bgcolor=color_vol_imbalance, border_color=color_vol_imbalance)
- if ExtendVIB == true
- box.set_extend (VIBbox2,extend.right)
- // To prevent clutter, disable extension from the last box drawing
- box.set_extend(id=VIBbox2[1], extend=extend.none)
Advertisement
Add Comment
Please, Sign In to add comment