커뮤니티

조건검색 문의

프로필 이미지
사공하늘
2025-10-27 00:40:26
112
글번호 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); 즐거운 하루되세요