커뮤니티

조건검색 문의

프로필 이미지
사공하늘
2026-01-14 00:42:39
40
글번호 229779
답변완료

//@version=5

indicator("RSI Shift Zone BUY Signal Only", overlay = true)


// --------------------------------------------------------------------------------------------------------------------{

// 입력값 설정

// --------------------------------------------------------------------------------------------------------------------{

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")

upper_col = input.color(#21c997, "BUY Signal Color")


// 변수 초기화

var int start = na

var bool trigger = false

var float lower = na

var int zone_type = 0 // 1: 과매수(Upper), 2: 과매도(Lower)


// --------------------------------------------------------------------------------------------------------------------{

// RSI 및 로직 계산

// --------------------------------------------------------------------------------------------------------------------{

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

start := bar_index

trigger := true

lower := low

zone_type := 1 // 과매수 구역 진입


if channel_lower

start := bar_index

trigger := true

lower := low

zone_type := 2 // 과매도 구역 진입


// 일정 기간(min_channel_len)이 지나면 트리거 초기화

if bar_index - start >= min_channel_len

trigger := false


// 🎯 BUY 신호 로직: 과매수 구역(zone_type 1) 설정 당시의 저가(lower)를 다시 상향 돌파할 때

buy_signal = (zone_type == 1) and ta.crossover(close, lower)


// --------------------------------------------------------------------------------------------------------------------{

// 신호 출력

// --------------------------------------------------------------------------------------------------------------------{

plotshape(buy_signal,

title="BUY Signal",

style=shape.triangleup,

location=location.belowbar,

color=upper_col,

size=size.normal,

text="BUY",

textcolor=upper_col)



일봉상 위 신호가 발생한 종목을 검출할 수 있도록 해주시면 감사드리겠습니다(__)



검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2026-01-14 12:59:46

안녕하세요 예스스탁입니다. input : rsi_len(14); input : upper_level(70); input : lower_level(30); input : min_channel_len(15); var : start(Nan),trigger(false),lower(Nan),zone_type(0); var : R(0),channel_upper(False),channel_lower(False),buy_signal(False); 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 Then { start = index; trigger = true; lower = low; zone_type = 1; } if channel_lower Then { start = index; trigger = true; lower = low; zone_type = 2; } if index - start >= min_channel_len Then trigger = false; buy_signal = (zone_type == 1) and CrossUp(close, lower); if buy_signal == true Then Find(1); 즐거운 하루 되세요