커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1586
글번호 230811
답변완료
지표식
A=ma(v(1),20)*10<v;
VALUEWHEN(1,A,L)
지표식 부탁 드립니다.
2025-03-16
372
글번호 189215
답변완료
종목 검색식 작성을 부탁드립니다
안녕하세요
종목 검색식 작성을 부탁드립니다
이동 = ma(C,30);
테마 =TEMA(C,기간);
기준선 = (highest(high,중간값)+lowest(low,중간값))/2;
크로스 = crossup(기준선, 테마);
크로스&&
C>이동
//기간=10
//중간값=26
2025-03-16
375
글번호 189214
답변완료
변환 부탁드립니다
아래 함수을 예스트레이더 종목검색으로 변환 부탁드립니다
A=OBV();
증가 = A > A(1);
감소 = A < A(1);
조건1 = Sum(감소,7)==7 && Sum(증가(7),7) == 7;
조건2 = valuewhen(1, 조건1, A(7));
CrossUp(A, 조건2)
2025-03-16
357
글번호 189213
답변완료
수고하십니다
수식1
고=max(dayhigh(),npredayhigh(1),npredayhigh(2));
저=min(daylow(),npredaylow(1),npredaylow(2));
(고*61.8+저*38.2)/100
수식2
A1=DayHigh()-DayLow();
A2=Max(DayClose(),DayOpen())-DayLow();
최종=A1/A2>비율 && DayHigh()/nPreDayClose(1)>
(1+상승률/100);
(Valuewhen(1,최종,DayHigh())+
Valuewhen(1,최종,Max(DayClose(),DayOpen())))/2;
비율=2 상승률=10
수식1,수식2 라인을 몸통으로 돌파하는 종목을 찾고 싶어서 부탁드립니다.
2025-03-15
414
글번호 189212
답변완료
식을 예스랭귀지로 변환 부탁드립니다.
아래식을 예스랭귀지로 변환 부탁드립니다.
// 입력값 설정
input Period = 18; // 이동평균 주기
input MultiD = 0.5; // 초기 표준편차 배수
input RSILength = 14; // RSI 주기
input MACDFast = 12; // MACD 빠른 선
input MACDSlow = 26; // MACD 느린 선
input MACDSignal = 9; // MACD 신호선
// 변수 선언
var MAv = 0; // 이동평균선
var BBup = 0; var BBdn = 0; // 볼밴 0.5σ
var BBup1 = 0; var BBdn1 = 0; // 볼밴 1σ
var BBup1_5 = 0; var BBdn1_5 = 0; // 볼밴 1.5σ
var BBup2 = 0; var BBdn2 = 0; // 볼밴 2σ
var BBup2_5 = 0; var BBdn2_5 = 0; // 볼밴 2.5σ
var BBup3 = 0; var BBdn3 = 0; // 볼밴 3σ
var BBWidth = 0; // 볼밴 폭 (스퀴즈 감지용)
var MACDLine = 0; var SignalLine = 0; var MACDHist = 0; // MACD 변수
var RSIVal = 0; // RSI 값
var OBVVal = 0; // OBV 값
var VolumeSpike = 0; // 거래량 급증 여부
// 계산
MAv = sma(close, Period); // 단순 이동평균선 (SMA)
// 볼린저밴드 계산 (다양한 표준편차)
BBup = MAv + (stdev(close, Period) * MultiD);
BBdn = MAv - (stdev(close, Period) * MultiD);
BBup1 = MAv + (stdev(close, Period) * 1);
BBdn1 = MAv - (stdev(close, Period) * 1);
BBup1_5 = MAv + (stdev(close, Period) * 1.5);
BBdn1_5 = MAv - (stdev(close, Period) * 1.5);
BBup2 = MAv + (stdev(close, Period) * 2);
BBdn2 = MAv - (stdev(close, Period) * 2);
BBup2_5 = MAv + (stdev(close, Period) * 2.5);
BBdn2_5 = MAv - (stdev(close, Period) * 2.5);
BBup3 = MAv + (stdev(close, Period) * 3);
BBdn3 = MAv - (stdev(close, Period) * 3);
// 볼밴 폭 계산 (스퀴즈 감지)
BBWidth = BBup2 - BBdn2;
// MACD 계산
MACDLine = ema(close, MACDFast) - ema(close, MACDSlow);
SignalLine = ema(MACDLine, MACDSignal);
MACDHist = MACDLine - SignalLine;
// RSI 계산
RSIVal = rsi(close, RSILength);
// OBV 계산
OBVVal = obv;
// 거래량 급증 체크 (이전 5개 캔들 평균 대비 2배 이상)
VolumeSpike = volume > (sma(volume, 5) * 2);
// 매매 신호 조건
var LongEntry = 0; // 롱 진입 신호
var PartialExit = 0; // 일부 청산 신호
var FullExit = 0; // 전량 매도 신호
// 롱 진입 조건: 볼밴 스퀴즈 후 상한선 돌파 + 거래량 급증 + MACD 골든 크로스
LongEntry = (BBWidth < BBWidth[1] and close > BBup2 and VolumeSpike and MACDLine crosses above SignalLine);
// 일부 청산 조건: RSI 70 초과
PartialExit = (RSIVal > 70);
// 전량 매도 조건: OBV 하락 다이버전스 (가격은 상승인데 OBV는 하락)
FullExit = (close > close[1] and OBVVal < OBVVal[1]);
// 시각화
plot(MAv, "이평", color.blue);
plot(BBup, "0.5", color.gray);
plot(BBdn, "0.5", color.gray);
plot(BBup1, "1", color.gray);
plot(BBdn1, "1", color.gray);
plot(BBup1_5, "1.5", color.orange);
plot(BBdn1_5, "1.5", color.orange);
plot(BBup2, "2", color.red);
plot(BBdn2, "2", color.red);
plot(BBup2_5, "2.5", color.purple);
plot(BBdn2_5, "2.5", color.purple);
plot(BBup3, "3", color.black);
plot(BBdn3, "3", color.black);
// 매매 신호 시각화
plotshape(LongEntry, "롱 진입", shape.triangleup, location.belowbar, color.green, size.small);
plotshape(PartialExit, "일부 청산", shape.triangledown, location.abovebar, color.yellow, size.small);
plotshape(FullExit, "전량 매도", shape.triangledown, location.abovebar, color.red, size.small);
// 추가 지표 플롯 (선택적)
plot(MACDLine, "MACD", color.blue);
plot(SignalLine, "Signal", color.red);
plot(RSIVal, "RSI", color.purple);
plot(OBVVal, "OBV", color.teal);
2025-03-15
516
글번호 189211
답변완료
문의 드립니다.
length = input(100, minval=1)
src = input(hlc3, title="Source")
mult = input(3.0, minval=0.001, maxval=50)
basis = vwma(src, length)
dev = mult * stdev(src, length)
upper_1= basis + (0.236*dev)
upper_2= basis + (0.382*dev)
upper_3= basis + (0.5*dev)
upper_4= basis + (0.618*dev)
upper_5= basis + (0.764*dev)
upper_6= basis + (1*dev)
lower_1= basis - (0.236*dev)
lower_2= basis - (0.382*dev)
lower_3= basis - (0.5*dev)
lower_4= basis - (0.618*dev)
lower_5= basis - (0.764*dev)
lower_6= basis - (1*dev)
plot(basis, color=fuchsia, linewidth=2)
p1 = plot(upper_1, color=white, linewidth=1, title="0.236")
p2 = plot(upper_2, color=white, linewidth=1, title="0.382")
p3 = plot(upper_3, color=white, linewidth=1, title="0.5")
p4 = plot(upper_4, color=white, linewidth=1, title="0.618")
p5 = plot(upper_5, color=white, linewidth=1, title="0.764")
p6 = plot(upper_6, color=red, linewidth=2, title="1")
p13 = plot(lower_1, color=white, linewidth=1, title="0.236")
p14 = plot(lower_2, color=white, linewidth=1, title="0.382")
p15 = plot(lower_3, color=white, linewidth=1, title="0.5")
p16 = plot(lower_4, color=white, linewidth=1, title="0.618")
p17 = plot(lower_5, color=white, linewidth=1, title="0.764")
p18 = plot(lower_6, color=green, linewidth=2, title="1")
트레이딩뷰 수식인데 예스로 좀 바꿔주세요.
2025-03-15
379
글번호 189210
답변완료
문의
1) 청산수식 부탁드립니다.
리버스 거래이고
진입은 3번 입니다.
리버스거래(매수진입명 "a", 매도진입명 "b") 2회와 리버스 거래 2회가 끝난 후
고저점돌파시 1회 입니다.
매수진입이 먼저 발생했을 때
진입명이 "a"
SetStopLoss(2.50,PointStop);
진입명이 "b"
SetStopLoss(2.50,PointStop);
나머지 // 고저점 돌파시
SetStopLoss(2.50,PointStop);
매도진입이 먼저 발생했을 때
진입명이 "a"
SetStopLoss(2.50,PointStop);
진입명이 "b"
SetStopLoss(2.50,PointStop);
나머지 // 고저점 돌파시
SetStopLoss(2.50,PointStop);
항상 고맙습니다.
2025-03-15
312
글번호 189209
답변완료
돌파 조건 검색식 부탁 합니다
A=Lowest(L, 기간);
지표조건
기간 120
1. 돌파 조건 검색식 부탁 드립니다
A= Disparity(Period2);
ValueWhen(1, crossup(A, 기준2) OR crossdown(A, 기준2) ,가격)
지표조건
period2 60
가준값 101
가격(H+L)/2
2. 지표값이 n일동안 하락하지 않았고 N일이 지난후 하락해고 하락한 지표값을 돌파한 종목
검색식 부탁 드립니다 N일예(90일 동안)
avg((highest(high,기간)),기간)
기간 240
3, n일돌안 돌파 적이 없다 돌파한 종목 검색식 부탁 드립니다
2025-03-17
402
글번호 189208
요타 님에 의해서 삭제되었습니다.
2025-03-17
33
글번호 189207