커뮤니티

조건검색 문의

프로필 이미지
사공하늘
2025-10-27 00:40:26
72
글번호 227325
답변완료

//@version=5 indicator("Middle Line Breakout from RSI Shift Zone", overlay=true)
// --------------------------------------------------------------------------------------------------------------------{ // Middle Line Calculation from RSI Shift Zone rsi_len = input.int(14, "RSI length") upper_level = input.int(70, "Upper RSI Level", minval = 50) lower_level = input.int(30, "Lower RSI Level", maxval = 50) min_channel_len = input.int(15, "Minimal bars length of the channel")
var start = int(na) var trigger = false var float upper = na var float lower = na var channel_color = color(na)
rsi = ta.rsi(close, rsi_len)
channel_upper = ta.crossover(rsi, upper_level) and not trigger channel_lower = ta.crossunder(rsi, lower_level) and not trigger
if channel_upper or channel_lower     start := bar_index     trigger := true     upper := high     lower := low
if bar_index-start >= min_channel_len     trigger := false
trigger_change = channel_upper != channel_upper[1] or channel_lower != channel_lower[1]
// Middle Line Calculation middle_line = trigger_change ? na : math.avg(upper, lower) // --------------------------------------------------------------------------------------------------------------------}
// --------------------------------------------------------------------------------------------------------------------{ // Middle Line Breakout Signals middle_line_breakout_up = ta.crossover(close, middle_line) middle_line_breakout_down = ta.crossunder(close, middle_line)
// Plot Middle Line plot(middle_line, "Middle Line", color=color.blue, linewidth=2)
// Plot Breakout Signals plotshape(middle_line_breakout_up, "Breakout Up", shape.triangleup, location.belowbar, color=color.green, size=size.small) plotshape(middle_line_breakout_down, "Breakout Down", shape.triangledown, location.abovebar, color=color.red, size=size.small)
// Alerts alertcondition(middle_line_breakout_up, "Middle Line Breakout Up", "Middle Line Bullish Breakout") alertcondition(middle_line_breakout_down, "Middle Line Breakout Down", "Middle Line Bearish Breakout") // --------------------------------------------------------------------------------------------------------------------}

위  트뷰 신호 스크립트를 예스트레이더 검색기로 만들어 주시면 감사드리겠습니다 (__)


2번째 트뷰 스크립트 신호 요청 식 //@version=5 indicator("Upper Line from RSI Shift Zone", overlay=true)

// --------------------------------------------------------------------------------------------------------------------{ // Upper Line Calculation from RSI Shift Zone rsi_len = input.int(14, "RSI length") upper_level = input.int(70, "Upper RSI Level", minval = 50) lower_level = input.int(30, "Lower RSI Level", maxval = 50) min_channel_len = input.int(15, "Minimal bars length of the channel")

var start = int(na) var trigger = false var float upper = na var float lower = na var channel_color = color(na)

rsi = ta.rsi(close, rsi_len)

channel_upper = ta.crossover(rsi, upper_level) and not trigger channel_lower = ta.crossunder(rsi, lower_level) and not trigger

if channel_upper or channel_lower     start := bar_index     trigger := true     upper := high     lower := low

if bar_index-start >= min_channel_len     trigger := false

trigger_change = channel_upper != channel_upper[1] or channel_lower != channel_lower[1]

// Upper Line Calculation upper_line = trigger_change ? na : upper // --------------------------------------------------------------------------------------------------------------------}

// --------------------------------------------------------------------------------------------------------------------{ // Upper Line Breakout Signals upper_line_breakout_up = ta.crossover(close, upper_line) upper_line_breakout_down = ta.crossunder(close, upper_line)

// Plot Upper Line plot(upper_line, "Upper Line", color=color.red, linewidth=2)

// Plot Breakout Signals plotshape(upper_line_breakout_up, "Upper Breakout Up", shape.triangleup, location.belowbar, color=color.green, size=size.small) plotshape(upper_line_breakout_down, "Upper Breakout Down", shape.triangledown, location.abovebar, color=color.red, size=size.small)

// Alerts alertcondition(upper_line_breakout_up, "Upper Line Breakout Up", "Upper Line Bullish Breakout") alertcondition(upper_line_breakout_down, "Upper Line Breakout Down", "Upper Line Bearish Breakout")

// Optional: Display current upper line value var label upper_label = na if not na(upper_line)     if na(upper_label)         upper_label := label.new(bar_index, upper_line, "U: " + str.tostring(math.round(upper_line, 2)), style=label.style_label_left, color=color.red, textcolor=color.white, size=size.small)     else         label.set_xy(upper_label, bar_index, upper_line)         label.set_text(upper_label, "U: " + str.tostring(math.round(upper_line, 2))) // --------------------------------------------------------------------------------------------------------------------}

위 스크립트는 첫번째 요청 스크립트와 약간 다른 스크립트입니다. 위 2번째 스크립트 또한 예스트레이더 검색기로 변환시켜주시면 감사드리겠습니다 (__)

검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-10-27 17:38:35

안녕하세요. 예스스탁입니다. 1 input : rsi_len(14); input : upper_level(70); input : lower_level(30); input : min_channel_len(15); var : start(nan),trigger(False),upper(Nan),lower(Nan),channel_color(Nan); var : R(0),channel_upper(False),channel_lower(False),trigger_change(False); var : middle_line(Nan),middle_line_breakout_up(False),middle_line_breakout_down(False),tx(0); R = rsi(rsi_len); channel_upper = CrossUp(R, upper_level) and trigger == False; channel_lower = CrossDown(R, lower_level) and trigger == False; if channel_upper or channel_lower Then { start = index; trigger = true; upper = high; lower = low; } if index-start >= min_channel_len Then trigger = false; trigger_change = channel_upper != channel_upper[1] or channel_lower != channel_lower[1]; middle_line = iff(trigger_change , Nan, avg(upper, lower)); middle_line_breakout_up = crossup(close, middle_line); middle_line_breakout_down = CrossDown(close, middle_line); if middle_line_breakout_up == true Then Find(1); 2 input : rsi_len(14); input : upper_level(70); input : lower_level(30); input : min_channel_len(15); var :start(nan); var :trigger(false); var :upper(nan); var :lower(nan); var :channel_color(nan); var : R(0); var : channel_upper(False),channel_lower(False),trigger_change(False); var : upper_line(Nan); var : upper_line_breakout_up(False),upper_line_breakout_down(False),tx(0); R = rsi(rsi_len); channel_upper = CrossUp(R, upper_level) and trigger == False; channel_lower = CrossDown(R, lower_level) and trigger == False; if channel_upper or channel_lower Then { start = index; trigger = true; upper = high; lower = low; } if index-start >= min_channel_len Then trigger = false; trigger_change = channel_upper != channel_upper[1] or channel_lower != channel_lower[1]; upper_line = iff(trigger_change , Nan , upper); upper_line_breakout_up = crossup(close, upper_line); upper_line_breakout_down = CrossDown(close, upper_line); if upper_line_breakout_up == true Then Find(1); 즐거운 하루되세요