EXPERIMENTAL:
Request for oct15joe: SR lvls
preliminary version
Request for oct15joe: SR lvls
preliminary version
//@version=2 study(title='[RS]Swing Charts V1 SR Levels V0', shorttitle='SCSR', overlay=true) SHOW_BARCOLOR = input(title='Overwrite Bar Colors?', type=bool, defval=false) SHOW_ZIGZAG_LVL0 = input(title='Display ZigZag Level 0?', type=bool, defval=true) SHOW_SWINGCHART_LVL0 = input(title='Display Swing Chart Stops Level 0?', type=bool, defval=false) SHOW_SWINGSIGNAL_LVL0 = input(title='Display Swing Signals Level 0?', type=bool, defval=false) f_up_bar(_previous_high, _current_high, _previous_low, _current_low)=> _return = _previous_high < _current_high and _previous_low < _current_low f_down_bar(_previous_high, _current_high, _previous_low, _current_low)=> _return = _previous_high > _current_high and _previous_low > _current_low f_inside_bar(_previous_high, _current_high, _previous_low, _current_low)=> _return = _previous_high >= _current_high and _previous_low <= _current_low f_outside_bar(_previous_high, _current_high, _previous_low, _current_low)=> _return = _previous_high <= _current_high and _previous_low >= _current_low //-- f_swing_high(_previous_high, _current_high, _previous_low, _current_low)=> _condition_00 = f_up_bar(_previous_high[1], _current_high[1], _previous_low[1], _current_low[1]) and f_down_bar(_previous_high, _current_high, _previous_low, _current_low) _condition_01 = f_outside_bar(_previous_high[1], _current_high[1], _previous_low[1], _current_low[1]) and f_down_bar(_previous_high, _current_high, _previous_low, _current_low) _condition_02 = f_inside_bar(_previous_high[1], _current_high[1], _previous_low[1], _current_low[1]) and f_down_bar(_previous_high, _current_high, _previous_low, _current_low) _condition_03 = f_up_bar(_previous_high[1], _current_high[1], _previous_low[1], _current_low[1]) and f_inside_bar(_previous_high, _current_high, _previous_low, _current_low) and close[0] < hl2[1] _condition_04 = f_outside_bar(_previous_high, _current_high, _previous_low, _current_low) and close < hl2 _condition_05 = false _return = _condition_00 or _condition_01 or _condition_02 or _condition_03 or _condition_04 or _condition_05 f_swing_low(_previous_high, _current_high, _previous_low, _current_low)=> _condition_00 = f_down_bar(_previous_high[1], _current_high[1], _previous_low[1], _current_low[1]) and f_up_bar(_previous_high, _current_high, _previous_low, _current_low) _condition_01 = f_outside_bar(_previous_high[1], _current_high[1], _previous_low[1], _current_low[1]) and f_up_bar(_previous_high, _current_high, _previous_low, _current_low) _condition_02 = f_inside_bar(_previous_high[1], _current_high[1], _previous_low[1], _current_low[1]) and f_up_bar(_previous_high, _current_high, _previous_low, _current_low) _condition_03 = f_down_bar(_previous_high[1], _current_high[1], _previous_low[1], _current_low[1]) and f_inside_bar(_previous_high, _current_high, _previous_low, _current_low) and close[0] > hl2[1] _condition_04 = f_outside_bar(_previous_high, _current_high, _previous_low, _current_low) and close > hl2 _condition_05 = false _return = _condition_00 or _condition_01 or _condition_02 or _condition_03 or _condition_04 or _condition_05 //-- f_swingchart(_swings_high, _swings_low)=> _trend = na(_trend[1]) ? 1 : _trend[1] > 0 and _swings_low ? -1 : _trend[1] < 0 and _swings_high ? 1 : _trend[1] _return = na(_return[1]) ? 0 : change(_trend) > 0 ? nz(_swings_high, high[1]) : change(_trend) < 0 ? nz(_swings_low, low[1]) : _return[1] swings_high_lvl0 = f_swing_high(high[1], high, low[1], low) ? highest(3) : na swings_low_lvl0 = f_swing_low(high[1], high, low[1], low) ? lowest(3) : na swing_chart_lvl0 = f_swingchart(swings_high_lvl0, swings_low_lvl0) zigzag_lvl0 = change(swing_chart_lvl0) != 0 ? swing_chart_lvl0 : na zigzag_lvl0_trend = na(zigzag_lvl0_trend[1]) ? 1 : change(swing_chart_lvl0) > 0 ? 1 : change(swing_chart_lvl0) < 0 ? -1 : zigzag_lvl0_trend[1] plotshape(title='Swing High 0' , series=not SHOW_SWINGSIGNAL_LVL0 ? na : swings_high_lvl0 , style=shape.triangledown , location=location.abovebar, color=red, transp=0, offset=-1) plotshape(title='Swing Low 0' , series=not SHOW_SWINGSIGNAL_LVL0 ? na : swings_low_lvl0 , style=shape.triangleup , location=location.belowbar, color=lime, transp=0, offset=-1) plot(title='Swing Chart 0' , series=not SHOW_SWINGCHART_LVL0 ? na : swing_chart_lvl0 , color=change(swing_chart_lvl0) != 0 ? na : black , transp=0, offset=-1) plot(title='ZigZag 0' , series=not SHOW_ZIGZAG_LVL0 ? na : zigzag_lvl0 , color=zigzag_lvl0_trend > 0 ? lime : red, transp=0, linewidth=1, offset=-1) barcolor(title='Up Bar' , color=not SHOW_BARCOLOR ? na : f_up_bar(high[1], high, low[1], low) ? lime : na ) barcolor(title='Down Bar' , color=not SHOW_BARCOLOR ? na : f_down_bar(high[1], high, low[1], low) ? red : na ) barcolor(title='Inside Bar' , color=not SHOW_BARCOLOR ? na : f_inside_bar(high[1], high, low[1], low) ? blue : na ) barcolor(title='Outside Bar' , color=not SHOW_BARCOLOR ? na : f_outside_bar(high[1], high, low[1], low) ? aqua : na ) a = valuewhen(change(swing_chart_lvl0)!=0, swing_chart_lvl0, 1) b = valuewhen(change(swing_chart_lvl0)!=0, swing_chart_lvl0, 0) resistance_00 = a < b ? b : resistance_00[1] resistance_01 = valuewhen(change(resistance_00)!=0, resistance_00, 1) resistance_02 = valuewhen(change(resistance_01)!=0, resistance_01, 1) resistance_03 = valuewhen(change(resistance_02)!=0, resistance_02, 1) resistance_04 = valuewhen(change(resistance_03)!=0, resistance_03, 1) plot(resistance_00, color=change(resistance_00) != 0 ? na : fuchsia) plot(resistance_01, color=change(resistance_01) != 0 ? na : fuchsia) plot(resistance_02, color=change(resistance_02) != 0 ? na : fuchsia) plot(resistance_03, color=change(resistance_03) != 0 ? na : fuchsia) plot(resistance_04, color=change(resistance_04) != 0 ? na : fuchsia) support_00 = a > b ? b : support_00[1] support_01 = valuewhen(change(support_00)!=0, support_00, 1) support_02 = valuewhen(change(support_01)!=0, support_01, 1) support_03 = valuewhen(change(support_02)!=0, support_02, 1) support_04 = valuewhen(change(support_03)!=0, support_03, 1) plot(support_00, color=change(support_00) != 0 ? na : teal) plot(support_01, color=change(support_01) != 0 ? na : teal) plot(support_02, color=change(support_02) != 0 ? na : teal) plot(support_03, color=change(support_03) != 0 ? na : teal) plot(support_04, color=change(support_04) != 0 ? na : teal)