커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3444
글번호 230811
답변완료
수식 부탁드립니다
지표식 부탁 드립니다.
//@version=5
indicator("HL Optimized Trend Tracker", overlay=true)
// === inputs
length = input.int(2, "Period", minval=1)
percent = input.float(1.5, "Optimization Coeff", step=0.1, minval=0)
hllength = input.int(20, "Highest and Lowest Length", minval=1)
// === highest / lowest series used as VAR source
src = ta.highest(high, hllength)
srcl = ta.lowest(low, hllength)
// === VAR moving-average function (fixed VAR type)
Var_Func(src, length) =>
valpha = 2 / (length + 1)
vud1 = src > src[1] ? src - src[1] : 0
vdd1 = src < src[1] ? src[1] - src : 0
vUD = math.sum(vud1, 9)
vDD = math.sum(vdd1, 9)
vCMO = nz((vUD - vDD) / (vUD + vDD))
VAR = 0.0
VAR := nz(valpha * math.abs(vCMO) * src) + (1 - valpha * math.abs(vCMO)) * nz(VAR[1])
VAR
// === compute VAR-based MAs (top & low)
MAvg = Var_Func(src, length)
MAvgl = Var_Func(srcl, length)
// === HOTT (top) logic
fark = MAvg * percent * 0.01
longStop = MAvg - fark
longStopPrev = nz(longStop[1], longStop)
longStop := MAvg > longStopPrev ? math.max(longStop, longStopPrev) : longStop
shortStop = MAvg + fark
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := MAvg < shortStopPrev ? math.min(shortStop, shortStopPrev) : shortStop
dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir
MT = dir == 1 ? longStop : shortStop
HOTT = MAvg > MT ? MT * (200 + percent) / 200 : MT * (200 - percent) / 200
// === LOTT (low) logic (mirror)
farkl = MAvgl * percent * 0.01
longStopl = MAvgl - farkl
longStopPrevl = nz(longStopl[1], longStopl)
longStopl := MAvgl > longStopPrevl ? math.max(longStopl, longStopPrevl) : longStopl
shortStopl = MAvgl + farkl
shortStopPrevl = nz(shortStopl[1], shortStopl)
shortStopl := MAvgl < shortStopPrevl ? math.min(shortStopl, shortStopPrevl) : shortStopl
dirl = 1
dirl := nz(dirl[1], dirl)
dirl := dirl == -1 and MAvgl > shortStopPrevl ? 1 : dirl == 1 and MAvgl < longStopPrevl ? -1 : dirl
MTl = dirl == 1 ? longStopl : shortStopl
LOTT = MAvgl > MTl ? MTl * (200 + percent) / 200 : MTl * (200 - percent) / 200
// === Plot only HOTT & LOTT
plot(nz(HOTT[2]), title="HOTT", color=color.blue, linewidth=2)
plot(nz(LOTT[2]), title="LOTT", color=color.red, linewidth=2)
2025-08-13
360
글번호 193208
답변완료
수식 부탁드립니다.
조건: 분봉에서 2개봉 이상 매수볼륨이 매도볼륨보다 40%많은 종목을 검색이 조건값인데
파워종목검색을 돌려보면
결과값에는 40%미만인 종목과 매도볼륨이 더 많은 종목 등이 검색 되네요
조건값이 제대로 나오게 코드 수정 가능할까요?
Variables: total_range(0), candle_body_length(0), upper_wick_length(0), lower_wick_length(0),
percent_body_length(0), percent_upper_wick(0), percent_lower_wick(0),
buying_volume(0), selling_volume(0), buying_dominant(false),
consec_buying_dominant_bars(0);
if Volume > 0 and High > Low then
begin
total_range = High - Low;
candle_body_length = AbsValue(Close - Open);
upper_wick_length = High - MaxList(Open, Close);
lower_wick_length = MinList(Open, Close) - Low;
if total_range > 0 then
begin
percent_body_length = candle_body_length / total_range;
percent_upper_wick = upper_wick_length / total_range;
percent_lower_wick = lower_wick_length / total_range;
// IFF 함수 사용한 볼륨 계산
buying_volume = iff(Close > Open,
(percent_body_length + (percent_upper_wick + percent_lower_wick)/2) * Volume,
((percent_upper_wick + percent_lower_wick)/2) * Volume);
selling_volume = iff(Close < Open,
(percent_body_length + (percent_upper_wick + percent_lower_wick)/2) * Volume,
((percent_upper_wick + percent_lower_wick)/2) * Volume);
// 매수우위 판단
if selling_volume > 0 then
begin
buying_dominant = buying_volume >= selling_volume * 1.4;
end
else
begin
buying_dominant = false;
end;
// 연속 봉 계산
if buying_dominant then
begin
consec_buying_dominant_bars = consec_buying_dominant_bars[1] + 1;
end
else
begin
consec_buying_dominant_bars = 0;
end;
end;
end;
// 최종 조건
if consec_buying_dominant_bars >= 2 then
begin
Find(1);
end;
2025-08-13
237
글번호 193207
답변완료
93862
93862에 추가문의있읍니다.
2025-08-13
212
글번호 193206
도전74 님에 의해서 삭제되었습니다.
2025-08-12
4
글번호 193204
답변완료
문의드립니다.
종목 검색식 부탁드립니다..
3종류입니다..
첫번째 ========================
input : PERIOD(20),N(20),K(8)
A=100*eavg(C,Period)/eavg(C(n),Period);
B=100*eavg(eavg(C,Period)/eavg(C(n),Period),k);
A>B
두번째===========================
a=valuewhen(1,crossup(avg(C,1), avg(C,60)),avg(c,60));
a1=valuewhen(1,crossdown(avg(C,20), avg(C,60)),avg(C,60));
a2=valuewhen(1,crossdown(eavg(C,20), eavg(C,60)),eavg(C,60));
a3=valuewhen(1,crossdown(avg(C,5), avg(C,20)),avg(C,20));
C > a and C > a1 and C > a2 and C > a3
세번째 =================================
a=valuewhen(1,crossup(avg(C,1), avg(C,60)),avg(c,60));
a1=valuewhen(1,crossdown(avg(C,20), avg(C,60)),avg(C,60));
a2=valuewhen(1,crossdown(eavg(C,20), eavg(C,60)),eavg(C,60));
a3=valuewhen(1,crossdown(avg(C,5), avg(C,20)),avg(C,20));
Crossup(C,a) and Crossup(C,a1) and Crossup(C,a2) and Crossup(C,a3)
==========================================================
매번 간단한 질문을 드려 죄송합니다.
이렇게 종목 검색을 만들려면 어디서 공부해야 하나요?
다시 한번 감사드립니다.
2025-08-12
253
글번호 193203
답변완료
부탁드립니다.
1. 종가가 양음봉 관계없이 위꼬리 길이가 몸통 길이보다 길거나 같으면 빨강색으로, 종가가 양음봉 관계없이 아래꼬리 길이가 몸통 길이보다 길거나 같으면 파란색으로 구현해 주세요
2. 종가가 양음봉 관계없이 아래꼬리의 길이가 몸통 길이보다 길거나 같으면 종가를 기준으로 빨강색 우측추세선으로 30개봉째까지(봉 갯수 임의로 조정가능 하게) 계속 나타나도록 구현해 주세요
3. 종가가 양음봉 관계없이 위꼬리의 길이가 몸통 길이보다 길거나 같으면 종가를 기준으로 파란색 우측추세선으로 30개봉째까지(봉 갯수 임의로 조정가능 하게) 계속 나타나도록 구현해 주세요
4. 종가가 음봉이면서 직전봉이 양봉이면 종가의 고가를 기준 삼아 빨강색 우측추세선으로 30개봉째까지(봉 갯수 임의로 조정 가능하게), 종가가 양봉이면서 직전봉이 음봉이면 종가의 저가를 기준 삼아 파란색 우측추세선으로 30개봉째까지(봉 갯수 임의로 조정 가능하게) 계속 나타나도록 구현해 주세요
고맙습니다.
2025-08-12
186
글번호 193202
답변완료
Text_GetString
var : str(" ");
Text4 = Text_New(sDate, sTime, H, "시험");
Text_SetStyle(Text4, 2, 0);
Text_SetBold(Text4,1);
Text_SetSize(Text4,24);
Text_SetColor(Text4,Red);
str = Text_GetString(Text4); // 리턴값은 문자형 변수
MessageLog("> TEST : [" + str + "]");
메뉴얼에 있는 예제입니다.
프로그램이 죽는 이유가 뭔가요?
조언 부탁드립니다.
2025-08-12
248
글번호 193201
답변완료
검색식 부탁드려요 항상 감사합니다.
1번조건
볼린저밴드(20,2) 상단선의 5봉전부터 1봉전까지의 변동률이 0.5%이내 (또는 기간내 상단선값의 고가 저가 차이가 0.5%)로 수평 횡보
2번조건
어제까지 수평 횡보중인 볼린저밴드(20,2) 상단선을 볼린저밴드(10,2) 상단선이 0봉(당일)에 돌파(crossup)
3번조건
오늘의 종가가 60봉전의 볼린저밴드(20,2) 상단선 돌파 또는 상단선 위에 위치
4번조건
거래량 전일대비 150%이상
2025-08-12
235
글번호 193200
답변완료
종목검색식 부탁드립니다
1. 당일 상승한 모든종목 검색식 부탁드립니다
2025-08-13
214
글번호 193198