//@version = 5 indicator("Release The Kraken", overlay=true,max_lines_count=500, max_boxes_count=500, max_labels_count=500 ) grp1 = "Global Settings" show_lab = input.bool(true ,"Show Labels",group = grp1 ) labelsz1 = input.string("Medium","Label Size",options = ["Small","Medium","Large"]) labelsz = labelsz1 == "Small" ? size.tiny : labelsz1 == "Medium" ? size.small : labelsz1 == "Large" ? size.normal : na showprices = input.bool(true ,"Show Prices",group = grp1 ) // - grp5 = "Kraken Price Levels" // , overlay = true, max_lines_count = 500, max_labels_count = 500) //************************************************************************************************************************************************************************************************** //Inputs //************************************************************************************************************************************************************************************************** string GeneralGroup = grp5+" GENERAL" kr_on = input.bool(true,"Show Kraken Price Levels",group = GeneralGroup,inline = 'm') po3color = input.color( title = "", defval = color.black, group = GeneralGroup,inline = 'm') //labon = input.bool(false,"Show GB Zones", group = GeneralGroup) and show_lab // -- i_genNumberOfThreeRange = input.int( title = "Number of three range", options = [3, 9, 27, 81, 243, 729, 2187], defval = 81, group = GeneralGroup) i_genNumberOfRanges = input.int( title = "Number of ranges to show", minval = 1, maxval = 9, defval = 4, group = GeneralGroup) i_genDynamicLabels = false// kr_on and input.bool( title = "Dynamic labels", defval = false, group = GeneralGroup) i_genEnable1189 =kr_on and input.bool( title = "Enable ERD/IRD", defval = true, group = GeneralGroup,inline = '1a') erd_ird_col = input.color( title = "", defval = #e90719, group = GeneralGroup,inline = '1a') i_genEnable5050 =kr_on and input.bool( title = "Enable Equilibrium", defval = true, group = GeneralGroup,inline = '1b') eqcolor = input.color( title = "", defval = #9c27b0, group = GeneralGroup,inline = '1b') i_genEnable4159 =kr_on and input.bool( title = "Enable L PO3", defval = true, group = GeneralGroup,inline = '1c') lp3color = input.color( title = "", defval = color.new(#2962ff,50), group = GeneralGroup,inline = '1c') enable_lpos = kr_on and input.bool( title = "Enable L PO3 ERD/IRD", defval = true, group = GeneralGroup) i_genEnable397 = enable_lpos and kr_on and input.bool( title = "              Enable L PO3 ERD/IRD 1", defval = true, group = GeneralGroup,inline = '2a') l1color = input.color( title = "", defval = color.new(#000000,50), group = GeneralGroup,inline = '2a') i_genEnable2971 =enable_lpos and kr_on and input.bool( title = "              Enable L PO3 ERD/IRD 2", defval = true, group = GeneralGroup,inline = '2b') l2color = input.color( title = "", defval = color.new(#000000,50), group = GeneralGroup,inline = '2b') i_genEnable4753 =enable_lpos and kr_on and input.bool( title = "              Enable L PO3 ERD/IRD 3", defval = true, group = GeneralGroup,inline = '2c') l3color = input.color( title = "", defval = color.new(#000000,50), group = GeneralGroup,inline = '2c') // i_genAccent1189 ? i_genAccentColoru : i_genAccentColord // i_genAccent1783 ? i_genAccentColoru : i_genAccentColord // i_genAccent2971 ? i_genAccentColoru : i_genAccentColord // i_genAccent4159 ? i_genAccentColoru : i_genAccentColord // i_genAccent4753 ? i_genAccentColoru : i_genAccentColord // i_genAccent5050 ? i_genAccentColoru : i_genAccentColord //************************************************************************************************************************************************************************************************** //Libraries //************************************************************************************************************************************************************************************************** import paragjyoti2012/LoggerLib/5 as Logger import DewMic/FrameworkLib/44 as Framework // import DewMic/HoplaRangesLib/12 as Hopla import DewMic/ConversionLib/14 as Conversion import DewMic/InformationLib/12 as Information //************************************************************************************************************************************************************************************************** //Logger //************************************************************************************************************************************************************************************************** var logger = Logger.init() var logTable = Logger.initTable(logger,max_rows_count=25,offset=0,position="right",size="small") f_logMessage(_x) => Logger.log(str.tostring(_x),logger,logTable,"message") f_logWarning(_x) => Logger.log(str.tostring(_x),logger,logTable,"warning") f_logError(_x) => Logger.log(str.tostring(_x),logger,logTable,"error") f_logInfo(_x) => Logger.log(str.tostring(_x),logger,logTable,"info") f_logSucces(_x) => Logger.log(str.tostring(_x),logger,logTable,"succes") var logLabel = label.new(x=na,y=na,text="") f_logLabel(_x) => label.set_x( logLabel, bar_index) label.set_y( logLabel, high) label.set_text( logLabel, str.tostring(_x)) label.set_color( logLabel, color.red) //************************************************************************************************************************************************************************************************** //Information //************************************************************************************************************************************************************************************************** table InfoTable = table.new(columns=2, rows=15, border_width=2, frame_width=2, position=position.top_right) string[] Infos = array.new_string() color[] BackgroundColors = array.new_color() color[] TextColors = array.new_color() //************************************************************************************************************************************************************************************************** //Functions + data //************************************************************************************************************************************************************************************************** // // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // // © DewMic // //@version=5 // // @description TODO: add library description here // library("HoplaRangesLib", overlay = true) //************************************************************************************************************************************************************************************************** //Imports //************************************************************************************************************************************************************************************************** // import paragjyoti2012/LoggerLib/5 as Logger // import DewMic/FrameworkLib/46 as Framework // import DewMic/ConversionLib/10 as Conversion //************************************************************************************************************************************************************************************************** //Logger //************************************************************************************************************************************************************************************************** // var logger = Logger.init() // var logTable = Logger.initTable(logger,max_rows_count=10,offset=0,position="right",size="small") // f_logMessage(_x) => Logger.log(str.tostring(_x),logger,logTable,"message") // f_logWarning(_x) => Logger.log(str.tostring(_x),logger,logTable,"warning") // f_logError(_x) => Logger.log(str.tostring(_x),logger,logTable,"error") // f_logInfo(_x) => Logger.log(str.tostring(_x),logger,logTable,"info") // f_logSucces(_x) => Logger.log(str.tostring(_x),logger,logTable,"succes") //************************************************************************************************************************************************************************************************** //Private functions //************************************************************************************************************************************************************************************************** f_multiplyFactor(multiplyFactor) => float output = 1 if(syminfo.type=='forex') if(syminfo.basecurrency == "JPY" or syminfo.currency == "JPY") output := 100 else output := 10000 output*multiplyFactor new_label() => label.new(x = na, y = na, xloc = xloc.bar_time) new_line() => line.new(x1 = na, x2 = na, y1 = na, y2 = na, xloc = xloc.bar_time) set_line_label(line line, label label, float y, color color, string label_text, color text_color, int width, bool dynamic_labels) => int delta = time - time[1] int x2Line = time + delta*5 int x1Line = time int xLabel = time + delta*5 // if(dynamic_labels) // x1Line := chart.right_visible_bar_time - 4 * delta // x2Line := x1Line + 1*delta // xLabel := chart.right_visible_bar_time - 3 * delta line.set_y1(line, y) line.set_y2(line, y) line.set_x1(line, x1Line) line.set_x2(line, x2Line) line.set_extend(line, extend.left) line.set_color(line, color) line.set_style(line, line.style_solid) line.set_width(line, width) label.set_xy(label, xLabel, y) label.set_tooltip(label,str.tostring(y,format.mintick)) label.set_text(label, label_text) label.set_textcolor(label, show_lab?text_color:color.new(color.white,100)) label.set_style(label, label.style_label_left) label.set_color(label, color.new(color.white,100)) label.set_size(label, labelsz) label.set_textalign(label, text.align_left) set_line_label2(label label, float y, color color, string label_text, color text_color, int width, bool dynamic_labels) => int delta = time - time[1] int xLabel = time + delta*9 // if(dynamic_labels) // xLabel := chart.right_visible_bar_time + 6 * delta label.set_xy(label, xLabel, y) label.set_tooltip(label,str.tostring(y,format.mintick)) label.set_text(label, label_text) label.set_textcolor(label, show_lab?text_color:color.new(color.white,100)) label.set_style(label, label.style_label_left) label.set_color(label, color.new(color.orange,100)) label.set_size(label, size.small) label.set_textalign(label, text.align_left) drawRange(float multiplyFactor, dealingRangeLow, numberOfThreeRange, enable397, enable1189, enable1783, enable2971, enable4159, enable4753,enable5050, color, accent397, accent1189, accent1783, accent2971, accent4159, accent4753,accent5050, accentColor, dynamicLabels) => float DealingRangeHigh = dealingRangeLow + numberOfThreeRange/f_multiplyFactor(multiplyFactor) float DealingRange = DealingRangeHigh - dealingRangeLow float RB_1_97 = 0.985*DealingRange + dealingRangeLow //RB float RejectionPremium = 0.963*DealingRange + dealingRangeLow //Rejection block float OB_97_89 = 0.93*DealingRange + dealingRangeLow //OB float OrderBlockPremium = 0.889*DealingRange + dealingRangeLow //Orderblock float FVG_89_83 = 0.86*DealingRange + dealingRangeLow //FVG float FairValueGapPremium = 0.83*DealingRange + dealingRangeLow //Fvg float LV_83_71 = 0.77*DealingRange + dealingRangeLow //LV float LiquidityVoidPremium = 0.704*DealingRange + dealingRangeLow //Liquidity void float BRK_71_59 = 0.65*DealingRange + dealingRangeLow //BRK float BreakerPremium = 0.666*DealingRange + dealingRangeLow //Breaker float MB_59_53 = 0.56*DealingRange + dealingRangeLow //MB float MitigationPremium = 0.296*DealingRange + dealingRangeLow //Mitigation float NewPremium = 0.50*DealingRange + dealingRangeLow //Mitigation float NewDiscount = 0.50*DealingRange + dealingRangeLow //Mitigation float MitigationDiscount = 0.370*DealingRange + dealingRangeLow //Mitigation float MB_47_41 = 0.44*DealingRange + dealingRangeLow //MB float BreakerDiscount = 0.333*DealingRange + dealingRangeLow //Breaker float BRK_41_29 = 0.35*DealingRange + dealingRangeLow //BRK float LiquidityVoidDiscount = 0.630*DealingRange + dealingRangeLow //Liquidity void float LV_29_17 = 0.23*DealingRange + dealingRangeLow //LV float FairValueGapDiscount = 0.17*DealingRange + dealingRangeLow //Fvg float FVG_17_11 = 0.14*DealingRange + dealingRangeLow //FVG float OrderBlockDiscount = 0.111*DealingRange + dealingRangeLow //Order block float OB_11_03 = 0.07*DealingRange + dealingRangeLow //OB float RejectionDiscount = 0.037*DealingRange + dealingRangeLow //Rejection block float RB_03_0 = 0.015*DealingRange + dealingRangeLow //RB var RangeHighLine = new_line() var RangeHighLabel = new_label() var RejectionPremiumLine = new_line() var RejectionPremiumLabel = new_label() var RejectionPremiumLabel1 = new_label() var OrderBlockPremiumLine = new_line() var OrderBlockPremiumLabel = new_label() var OrderBlockPremiumLabel1 = new_label() var FairValueGapPremiumLine = new_line() var FairValueGapPremiumLabel = new_label() var FairValueGapPremiumLabel1 = new_label() var LiquidityVoidPremiumLine = new_line() var LiquidityVoidPremiumLabel = new_label() var LiquidityVoidPremiumLabel1 = new_label() var BreakerPremiumLine = new_line() var BreakerPremiumLabel = new_label() var BreakerPremiumLabel1 = new_label() var MitigationPremiumLine = new_line() var MitigationPremiumLabel = new_label() var MitigationPremiumLabel1 = new_label() var MitigationPremiumLabel150 = new_label() var NewPremiumLine = new_line() var NewPremiumLabel = new_label() //Discount var MitigationDiscountLine = new_line() var MitigationDiscountLabel = new_label() var MitigationDiscountLabel1 = new_label() var NewDiscountLine = new_line() var NewDiscountLabel = new_label() var NewDiscountLabel1 = new_label() var BreakerDiscountLine = new_line() var BreakerDiscountLabel = new_label() var BreakerDiscountLabel1 = new_label() var LiquidityVoidDiscountLine = new_line() var LiquidityVoidDiscountLabel = new_label() var LiquidityVoidDiscountLabel1 = new_label() var FairValueGapDiscountLine = new_line() var FairValueGapDiscountLabel = new_label() var FairValueGapDiscountLabel1 = new_label() var OrderBlockDiscountLine = new_line() var OrderBlockDiscountLabel = new_label() var OrderBlockDiscountLabel1 = new_label() var RejectionDiscountLine = new_line() var RejectionDiscountLabel = new_label() var RejectionDiscountLabel1 = new_label() var RangeLowLine = new_line() var RangeLowLabel = new_label() set_line_label(RangeHighLine, RangeHighLabel, DealingRangeHigh,po3color, "PO3" + (showprices ? " (" + str.tostring(DealingRangeHigh,format = format.mintick) + ")" : na), po3color, 2, dynamicLabels) if(enable397) set_line_label(RejectionPremiumLine, RejectionPremiumLabel, RejectionPremium, l1color, " "+ (showprices ? " (" + str.tostring(RejectionPremium,format = format.mintick) + ")" : na), l1color, 1, dynamicLabels) set_line_label(RejectionDiscountLine, RejectionDiscountLabel, RejectionDiscount, l1color, " "+ (showprices ? " (" + str.tostring(RejectionDiscount,format = format.mintick) + ")" : na), l1color, 1, dynamicLabels) if(enable1189) set_line_label(OrderBlockPremiumLine, OrderBlockPremiumLabel, OrderBlockPremium, erd_ird_col, "IRD / ERD" + (showprices ? " (" + str.tostring(OrderBlockPremium,format = format.mintick) + ")" : na), erd_ird_col, 1, dynamicLabels) set_line_label(OrderBlockDiscountLine, OrderBlockDiscountLabel, OrderBlockDiscount, erd_ird_col, "IRD / ERD" + (showprices ? " (" + str.tostring(OrderBlockDiscount,format = format.mintick) + ")" : na), erd_ird_col, 1, dynamicLabels) if(enable2971) set_line_label(LiquidityVoidPremiumLine, LiquidityVoidPremiumLabel, LiquidityVoidPremium, l2color, " "+ (showprices ? " (" + str.tostring(LiquidityVoidPremium,format = format.mintick) + ")" : na), l2color, 1, dynamicLabels) set_line_label(LiquidityVoidDiscountLine, LiquidityVoidDiscountLabel, LiquidityVoidDiscount, l2color, " "+ (showprices ? " (" + str.tostring(LiquidityVoidDiscount,format = format.mintick) + ")" : na), l2color, 1, dynamicLabels) if(enable4159) set_line_label(BreakerPremiumLine, BreakerPremiumLabel, BreakerPremium, lp3color , "L PO3"+ (showprices ? " (" + str.tostring(BreakerPremium,format = format.mintick) + ")" : na), lp3color, 1, dynamicLabels) set_line_label(BreakerDiscountLine, BreakerDiscountLabel, BreakerDiscount, lp3color , "L PO3"+ (showprices ? " (" + str.tostring(BreakerDiscount,format = format.mintick) + ")" : na), lp3color, 1, dynamicLabels) if(enable4753) set_line_label(MitigationDiscountLine, MitigationDiscountLabel, MitigationDiscount, l3color, " "+ (showprices ? " (" + str.tostring(MitigationDiscount,format = format.mintick) + ")" : na), l3color, 1, dynamicLabels) set_line_label(MitigationPremiumLine, MitigationPremiumLabel, MitigationPremium, l3color, " "+ (showprices ? " (" + str.tostring(MitigationPremium,format = format.mintick) + ")" : na), l3color, 1, dynamicLabels) if(enable5050) set_line_label(NewDiscountLine, NewDiscountLabel, NewDiscount, eqcolor, "EQ"+ (showprices ? " (" + str.tostring(NewDiscount,format = format.mintick) + ")" : na), eqcolor, 1, dynamicLabels) set_line_label(NewPremiumLine, NewPremiumLabel, NewPremium, eqcolor, "EQ"+ (showprices ? " (" + str.tostring(NewPremium,format = format.mintick) + ")" : na), eqcolor, 1, dynamicLabels) // if labon // color rangeColor = accent397 ? accentColor : color // set_line_label2(RejectionPremiumLabel1, RB_1_97, rangeColor, "RB", rangeColor, 1, dynamicLabels) // set_line_label2(RejectionDiscountLabel1, RB_03_0, rangeColor, "RB", rangeColor, 1, dynamicLabels) // set_line_label2(OrderBlockPremiumLabel1, OB_97_89, rangeColor, "OB", rangeColor, 1, dynamicLabels) // set_line_label2(OrderBlockDiscountLabel1, OB_11_03, rangeColor, "OB", rangeColor, 1, dynamicLabels) // set_line_label2(FairValueGapPremiumLabel1, FVG_89_83, rangeColor, "FVG", rangeColor, 1, dynamicLabels) // set_line_label2(FairValueGapDiscountLabel1, FVG_17_11, rangeColor, "FVG", rangeColor, 1, dynamicLabels) // set_line_label2(LiquidityVoidPremiumLabel1, LV_83_71, rangeColor, "LV", rangeColor, 1, dynamicLabels) // set_line_label2(LiquidityVoidDiscountLabel1, LV_29_17, rangeColor, "LV", rangeColor, 1, dynamicLabels) // set_line_label2(BreakerPremiumLabel1, BRK_71_59, rangeColor, "BRK", rangeColor, 1, dynamicLabels) // set_line_label2(BreakerDiscountLabel1, BRK_41_29, rangeColor, "BRK", rangeColor, 1, dynamicLabels) // set_line_label2(MitigationDiscountLabel1, MB_59_53, rangeColor, "MB", rangeColor, 1, dynamicLabels) // set_line_label2(MitigationPremiumLabel1, MB_47_41, rangeColor, "MB", rangeColor, 1, dynamicLabels) // set_line_label2(MitigationPremiumLabel150, NewPremium, rangeColor, "EQ", rangeColor, 1, dynamicLabels) set_line_label(RangeLowLine, RangeLowLabel, dealingRangeLow, po3color, "PO3" + (showprices ? " (" + str.tostring(dealingRangeLow,format = format.mintick) + ")" : na), po3color, 2, dynamicLabels) //************************************************************************************************************************************************************************************************** //Private functions //************************************************************************************************************************************************************************************************** draw_range(int multiply_factor, int number_of_ranges, int number_of_three_range, bool enable_3_97, bool enable_11_89, bool enable_17_83, bool enable_29_71, bool enable_41_59, bool enable_47_53, bool enable_50_50, color color, bool accent_3_97, bool accent_11_89, bool accent_17_83, bool accent_29_71, bool accent_41_59, bool accent_47_53, bool accent_50_50, color accent_coloru, color accent_colord, bool dynamic_labels) => float ClosePrice = math.floor(open*f_multiplyFactor(multiply_factor)) float DealingRangeLow = math.floor(ClosePrice/number_of_three_range)*number_of_three_range/f_multiplyFactor(multiply_factor) if(number_of_ranges >= 9) drawRange(multiply_factor, DealingRangeLow + 9 *number_of_three_range/f_multiplyFactor(multiply_factor), number_of_three_range, enable_3_97, enable_11_89, enable_17_83, enable_29_71, enable_41_59, enable_47_53, enable_50_50, color, accent_3_97, accent_11_89, accent_17_83, accent_29_71, accent_41_59, accent_47_53, accent_50_50, accent_coloru, dynamic_labels) drawRange(multiply_factor, DealingRangeLow - 9 *number_of_three_range/f_multiplyFactor(multiply_factor), number_of_three_range, enable_3_97, enable_11_89, enable_17_83, enable_29_71, enable_41_59, enable_47_53, enable_50_50, color, accent_3_97, accent_11_89, accent_17_83, accent_29_71, accent_41_59, accent_47_53, accent_50_50, accent_colord, dynamic_labels) if(number_of_ranges >= 8) drawRange(multiply_factor, DealingRangeLow + 8 *number_of_three_range/f_multiplyFactor(multiply_factor), number_of_three_range, enable_3_97, enable_11_89, enable_17_83, enable_29_71, enable_41_59, enable_47_53, enable_50_50, color, accent_3_97, accent_11_89, accent_17_83, accent_29_71, accent_41_59, accent_47_53, accent_50_50, accent_coloru, dynamic_labels) drawRange(multiply_factor, DealingRangeLow - 8 *number_of_three_range/f_multiplyFactor(multiply_factor), number_of_three_range, enable_3_97, enable_11_89, enable_17_83, enable_29_71, enable_41_59, enable_47_53, enable_50_50, color, accent_3_97, accent_11_89, accent_17_83, accent_29_71, accent_41_59, accent_47_53, accent_50_50, accent_colord, dynamic_labels) if(number_of_ranges >= 7) drawRange(multiply_factor, DealingRangeLow + 7 *number_of_three_range/f_multiplyFactor(multiply_factor), number_of_three_range, enable_3_97, enable_11_89, enable_17_83, enable_29_71, enable_41_59, enable_47_53, enable_50_50, color, accent_3_97, accent_11_89, accent_17_83, accent_29_71, accent_41_59, accent_47_53, accent_50_50, accent_coloru, dynamic_labels) drawRange(multiply_factor, DealingRangeLow - 7 *number_of_three_range/f_multiplyFactor(multiply_factor), number_of_three_range, enable_3_97, enable_11_89, enable_17_83, enable_29_71, enable_41_59, enable_47_53, enable_50_50, color, accent_3_97, accent_11_89, accent_17_83, accent_29_71, accent_41_59, accent_47_53, accent_50_50, accent_colord, dynamic_labels) if(number_of_ranges >= 6) drawRange(multiply_factor, DealingRangeLow + 6 *number_of_three_range/f_multiplyFactor(multiply_factor), number_of_three_range, enable_3_97, enable_11_89, enable_17_83, enable_29_71, enable_41_59, enable_47_53, enable_50_50, color, accent_3_97, accent_11_89, accent_17_83, accent_29_71, accent_41_59, accent_47_53, accent_50_50, accent_coloru, dynamic_labels) drawRange(multiply_factor, DealingRangeLow - 6 *number_of_three_range/f_multiplyFactor(multiply_factor), number_of_three_range, enable_3_97, enable_11_89, enable_17_83, enable_29_71, enable_41_59, enable_47_53, enable_50_50, color, accent_3_97, accent_11_89, accent_17_83, accent_29_71, accent_41_59, accent_47_53, accent_50_50, accent_colord, dynamic_labels) if(number_of_ranges >= 5) drawRange(multiply_factor, DealingRangeLow + 5 *number_of_three_range/f_multiplyFactor(multiply_factor), number_of_three_range, enable_3_97, enable_11_89, enable_17_83, enable_29_71, enable_41_59, enable_47_53, enable_50_50, color, accent_3_97, accent_11_89, accent_17_83, accent_29_71, accent_41_59, accent_47_53, accent_50_50, accent_coloru, dynamic_labels) drawRange(multiply_factor, DealingRangeLow - 5 *number_of_three_range/f_multiplyFactor(multiply_factor), number_of_three_range, enable_3_97, enable_11_89, enable_17_83, enable_29_71, enable_41_59, enable_47_53, enable_50_50, color, accent_3_97, accent_11_89, accent_17_83, accent_29_71, accent_41_59, accent_47_53, accent_50_50, accent_colord, dynamic_labels) if(number_of_ranges >= 4) drawRange(multiply_factor, DealingRangeLow + 4 *number_of_three_range/f_multiplyFactor(multiply_factor), number_of_three_range, enable_3_97, enable_11_89, enable_17_83, enable_29_71, enable_41_59, enable_47_53, enable_50_50, color, accent_3_97, accent_11_89, accent_17_83, accent_29_71, accent_41_59, accent_47_53, accent_50_50, accent_coloru, dynamic_labels) drawRange(multiply_factor, DealingRangeLow - 4 *number_of_three_range/f_multiplyFactor(multiply_factor), number_of_three_range, enable_3_97, enable_11_89, enable_17_83, enable_29_71, enable_41_59, enable_47_53, enable_50_50, color, accent_3_97, accent_11_89, accent_17_83, accent_29_71, accent_41_59, accent_47_53, accent_50_50, accent_colord, dynamic_labels) if(number_of_ranges >= 3) drawRange(multiply_factor, DealingRangeLow + 3 *number_of_three_range/f_multiplyFactor(multiply_factor), number_of_three_range, enable_3_97, enable_11_89, enable_17_83, enable_29_71, enable_41_59, enable_47_53, enable_50_50, color, accent_3_97, accent_11_89, accent_17_83, accent_29_71, accent_41_59, accent_47_53, accent_50_50, accent_coloru, dynamic_labels) drawRange(multiply_factor, DealingRangeLow - 3 *number_of_three_range/f_multiplyFactor(multiply_factor), number_of_three_range, enable_3_97, enable_11_89, enable_17_83, enable_29_71, enable_41_59, enable_47_53, enable_50_50, color, accent_3_97, accent_11_89, accent_17_83, accent_29_71, accent_41_59, accent_47_53, accent_50_50, accent_colord, dynamic_labels) if(number_of_ranges >= 2) drawRange(multiply_factor, DealingRangeLow + 2 *number_of_three_range/f_multiplyFactor(multiply_factor), number_of_three_range, enable_3_97, enable_11_89, enable_17_83, enable_29_71, enable_41_59, enable_47_53, enable_50_50, color, accent_3_97, accent_11_89, accent_17_83, accent_29_71, accent_41_59, accent_47_53, accent_50_50, accent_coloru, dynamic_labels) drawRange(multiply_factor, DealingRangeLow - 2 *number_of_three_range/f_multiplyFactor(multiply_factor), number_of_three_range, enable_3_97, enable_11_89, enable_17_83, enable_29_71, enable_41_59, enable_47_53, enable_50_50, color, accent_3_97, accent_11_89, accent_17_83, accent_29_71, accent_41_59, accent_47_53, accent_50_50, accent_colord, dynamic_labels) if(number_of_ranges >= 1) drawRange(multiply_factor, DealingRangeLow + 1 *number_of_three_range/f_multiplyFactor(multiply_factor), number_of_three_range, enable_3_97, enable_11_89, enable_17_83, enable_29_71, enable_41_59, enable_47_53, enable_50_50, color, accent_3_97, accent_11_89, accent_17_83, accent_29_71, accent_41_59, accent_47_53, accent_50_50, accent_coloru, dynamic_labels) drawRange(multiply_factor, DealingRangeLow - 1 *number_of_three_range/f_multiplyFactor(multiply_factor), number_of_three_range, enable_3_97, enable_11_89, enable_17_83, enable_29_71, enable_41_59, enable_47_53, enable_50_50, color, accent_3_97, accent_11_89, accent_17_83, accent_29_71, accent_41_59, accent_47_53, accent_50_50, accent_colord, dynamic_labels) drawRange(multiply_factor, DealingRangeLow, number_of_three_range, enable_3_97, enable_11_89, enable_17_83, enable_29_71, enable_41_59, enable_47_53, enable_50_50, color, accent_3_97, accent_11_89, accent_17_83, accent_29_71, accent_41_59, accent_47_53, accent_50_50, accent_coloru, dynamic_labels) mf = syminfo.ticker == 'CL1!' or syminfo.ticker == 'DXY'? 100 : 1 if kr_on draw_range(mf, i_genNumberOfRanges, i_genNumberOfThreeRange, i_genEnable397, i_genEnable1189, false, i_genEnable2971, i_genEnable4159, i_genEnable4753,i_genEnable5050,na, na, na, na, na, na, na, na,na,na, i_genDynamicLabels)