커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4338
글번호 230811
답변완료
시스템
안녕하세요
아래식 매수매도전략 완성 부탁드립니다
//@version=5
strategy("YES Language 전략 - Squeeze + Momentum + ADX", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// 사용자 설정
bbLength = input.int(20, title="BB 기간")
bbMult = input.float(2.0, title="BB 표준편차 배수")
kcLength = input.int(20, title="KC 기간")
kcMult = input.float(1.5, title="KC 배수")
useTR = input.bool(true, title="켈트너 채널에 TR 사용")
adxLength = input.int(14, title="ADX 기간")
adxThreshold = input.float(25, title="추세 기준 ADX 수치")
// Bollinger Band
src = close
bbBasis = ta.sma(src, bbLength)
bbDev = bbMult * ta.stdev(src, bbLength)
bbUpper = bbBasis + bbDev
bbLower = bbBasis - bbDev
// Keltner Channel
kcMA = ta.sma(src, kcLength)
kcRange = useTR ? ta.tr : high - low
kcRangeMA = ta.sma(kcRange, kcLength)
kcUpper = kcMA + kcRangeMA * kcMult
kcLower = kcMA - kcRangeMA * kcMult
// 스퀴즈 감지
squeezeOn = bbLower > kcLower and bbUpper < kcUpper // 스퀴즈 발생 (변동성 축소)
squeezeOff = bbLower < kcLower and bbUpper > kcUpper // 스퀴즈 해제 (변동성 확장)
// Momentum 계산
mid = (ta.highest(high, kcLength) + ta.lowest(low, kcLength)) / 2
avgMid = (mid + ta.sma(close, kcLength)) / 2
momentum = ta.linreg(src - avgMid, kcLength, 0)
momentumUp = momentum > momentum[1] // 모멘텀 증가
momentumDown = momentum < momentum[1] // 모멘텀 감소
// ADX 계산
adx = ta.adx(adxLength)
isTrending = adx > adxThreshold // ADX가 임계치 이상: 추세 발생 중
// === 매수 조건 (YES Language Style) ===
// 1. 스퀴즈 해제 AND 2. 모멘텀 양수 AND 3. 모멘텀 증가 AND 4. 추세 발생 중
buyCondition = squeezeOff and momentum > 0 and momentumUp and isTrending
// === 매도 조건 (YES Language Style) ===
// 1. 스퀴즈 해제 AND 2. 모멘텀 음수 AND 3. 모멘텀 감소 AND 4. 추세 발생 중
sellCondition = squeezeOff and momentum < 0 and momentumDown and isTrending
// --- 포지션 진입 및 반전 (YES Language Style) ---
// 매수 조건 충족 시: 롱 포지션 진입 (현재 숏 포지션이 있으면 청산 후 롱으로 반전)
if (buyCondition)
strategy.entry("YES 롱", strategy.long, comment="YES 롱 진입")
// 매도 조건 충족 시: 숏 포지션 진입 (현재 롱 포지션이 있으면 청산 후 숏으로 반전)
if (sellCondition)
strategy.entry("YES 숏", strategy.short, comment="YES 숏 진입")
// 전략 상태 메시지 (차트 표시)
plotshape(buyCondition, location=location.belowbar, color=color.lime, style=shape.labelup, text="예스 매수", textcolor=color.black)
plotshape(sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="예스 매도", textcolor=color.white)
// 추가: 지표 시각화 (선택 사항)
plot(momentum, title="Momentum", color=color.new(color.blue, 0))
hline(0, color=color.gray)
2025-10-02
474
글번호 194470
답변완료
문의드립니다
input : ndate(20211101);
if sDate >= ndate Then
{
--------------
날짜를 입력해야하는 식인데요
날짜를 어제(전일)로 고정하려면 어떻게 표현해야 하나요?
어제 이후...
감사합니다
2025-10-02
225
글번호 194469
답변완료
수식 문의 드립니다.
안녕하십니까?
수식 부탁 드립니다
상단 = supertrend(period1, multiplier1);
하단 = supertrend(period2, multiplier2);
상단선의 고점/ 저점
변곡점 = CrossUp(A, B) or CrossDown(A, B);
-------------------------------------------------
수직선
A = supertrend(period1, multiplier1);
B = supertrend(period2, multiplier2);
조건1 = CrossUp(A, B);
조건2 = CrossDown(A, B);
if(조건1, A, 0)
if(조건2, A, 0)
period1 = 7
period2 = 15
multiplier1 = 1
multiplier2 = 2
항상 감사 합니다
명절 잘 보내 십시요
2025-10-02
245
글번호 194468
마녀58 님에 의해서 삭제되었습니다.
2025-10-02
1
글번호 194467
답변완료
추세선 수식에 박스와 변곡점의 가격과 퍼센트을 추가한 수식
아래 추세선 수식에 박스와 변곡점의 가격과 퍼센트을 추가한 수식 부탁드립니다
============================================================================
var : T(0),HH(0),HD(0),HT(0),LL(0),LD(0),LT(0),TL(0);
if Bdate != Bdate[1] Then
{
var1 = 0;
var2 = 0;
}
var1 = var1+ma(upVol,5);
var2 = var2+ma(downVol,5);
Var3 = var1-Var2;
var4 = var3-ema(var3,9);
if CrossUp(0,Var4) Then
var5 = C;
Plot7(var5,"가격선");
if T <= 0 and CrossUp(c,var5) Then
{
T = 1;
HH = H;
HD = sDate;
HT = sTime;
if LL > 0 Then
{
TL = TL_New(LD,LT,LL,HD,HT,HH);
TL_SetColor(TL,Red);
}
}
if T >= 0 and CrossDown(c,var5) Then
{
T = -1;
LL = L;
LD = sDate;
LT = sTime;
if HH > 0 Then
{
TL = TL_New(HD,HT,HH,LD,LT,LL);
TL_SetColor(TL,Blue);
}
}
if T == 1 Then
{
if H > HH Then
{
HH = H;
HD = sDate;
HT = sTime;
TL_SetEnd(TL,HD,HT,HH);
}
}
if T == -1 Then
{
if L < LL Then
{
LL = L;
LD = sDate;
LT = sTime;
TL_SetEnd(TL,LD,LT,LL);
}
}
2025-10-02
274
글번호 194466
답변완료
수식문의(신규종목)
input : 이평기간(200);
var : LRLv(0), A(0);
A=EmA(C,이평기간);
LRLv = LRL(C,50);
if CrossUp(LRLv, A) and LRLv>LRLv[1] and A>A[1] Then
Find(1);
위 수식은 LRL(50)선이 200지수이평을 돌파(LRL과 200지수이평은 상승추세)
하는 검색인데, 검증에 맞는다 나오는데, 맞는지요?
상장된지 298일이내인 종목만을 검색대상으로 하고자 합니다.
이 부분을 수정해주세요.
2025-10-01
246
글번호 194465
답변완료
진입제한
안녕하세요,
하루 진입횟수를 특정회수(5번등)으로 제한하는 수식 부탁드립니다.
감사합니다.
2025-10-01
215
글번호 194464
답변완료
전략실행과 시뮬레에션 진입의 차이?
전략실행챠트와 전략실행 성능보고서상의 진입과 시뮬레이션챠트와 시뮬레이션에서의 진입이 상이합니다. 청산은 봉이 완성되기 전에 청산이 될 수 있기 때문에 약간의 차이가 있을 수 있다고 생각되지만 진입은 봉이 완성되고나서 진입이 되기때문에 차이가 나지 않아야 될 것으로 생각이 됩니다. 시뮬레이션으로는 챠트와 성능보고서에 진입이 된 것으로 나오는데 전략실행상으로는 나타나지 않습니다. 이와관련 캡쳐를 첨부파일에 첨부하오니 원인을 파악하여 주시면 고맙겠습니다.
2025-10-01
266
글번호 194463
답변완료
안녕하세요
주식 차트에서
분봉 거래대금을 (1억)으로 표현하여
구현할 수 있는 지표 문의드립니다.
감사합니다!
2025-10-01
263
글번호 194462