커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3374
글번호 230811
답변완료
아래의 식을 예스 랭귀지로 변환 좀 부탁드립니다.
✅ 현실형 추세추종 + ADX + 변동성 필터 전략 (예스랭귀지)# ==========================================================
# 📊 현실형 나스닥 60분봉 자동매매 전략
# - 추세장만 진입 (ADX 필터)
# - 저변동 횡보장 회피 (이평 간격 필터)
# - 익절/손절 구간 현실 조정 (당일 평균폭 기준)
# ==========================================================
input : maShort(20), maLong(60), adxPeriod(14);
input : adxThreshold(25), maGapLimit(0.5);
input : StopLossP(150), TakeProfitP(280); # ✅ 현실적 익절·손절 설정 (150~300p)
input : tradeSize(1);
var : adxVal(0), maS(0), maL(0), maGap(0);
var : buyCond(False), sellCond(False), trend(0);
# ---- 지표 계산 ----
maS = Average(Close, maShort);
maL = Average(Close, maLong);
adxVal = ADX(adxPeriod);
maGap = Abs(maS - maL) / maL * 100;
# ---- 추세 판단 ----
if maS > maL then trend = 1;
if maS < maL then trend = -1;
# ---- 매수 조건 ----
if trend = 1 and adxVal > adxThreshold and maGap > maGapLimit and Close > maS then
buyCond = True;
else
buyCond = False;
# ---- 매도 조건 ----
if trend = -1 and adxVal > adxThreshold and maGap > maGapLimit and Close < maS then
sellCond = True;
else
sellCond = False;
# ---- 진입 로직 ----
if MarketPosition = 0 and buyCond then
Buy("L-Entry") next bar at market;
if MarketPosition = 0 and sellCond then
SellShort("S-Entry") next bar at market;
# ---- 청산 조건 ----
SetStopLoss(StopLossP);
SetProfitTarget(TakeProfitP);
# ---- 추가조건: 반전 시 즉시 청산 ----
if MarketPosition = 1 and trend = -1 then
ExitLong("TrendRevL") next bar at market;
if MarketPosition = -1 and trend = 1 then
ExitShort("TrendRevS") next bar at market;
📈 이 설정의 핵심 포인트항목값설명익절 목표280p하루 변동폭 평균의 70~80% 수준손절폭150p1:2 손익비 유지ADX 필터25 이상만 거래횡보장 거래 회피이평간격 제한0.5 이상단기/장기 이평이 붙어있으면 진입X추세 반전 시 강제 청산있음속임수 반전(역배열 돌파 등) 차단
2025-10-31
390
글번호 227531
가자아이 님에 의해서 삭제되었습니다.
2025-10-31
5
글번호 227530
답변완료
차트 형태 변경 문의
안녕하세요.예스트레이더에서 제공하는 차트폼은 수직분할 , 수직수평(2X2)등 여러가지가 있는데 차트폼을 사용자가 변경할수 있는 방법이 있습니까?제공되는 형태에서 1~2개 삭제 후 사용하려 하다보니원하는 형태로 구현되지 않아서 문의드립니다.
2025-10-31
463
글번호 227529
답변완료
부탁드립니다
S=sum(1); 최고거래량=highestsince(1,S==1,V); D=valuewhen(1,최고거래량==v,c)D지표값이 N봉전에 10%이상하락 하고 오늘까지 유지중인 종목 검색식 부탁드립니다 N일은 3일로 해주세요 하락한 날이 3일전 입니다
2025-10-31
222
글번호 227524
답변완료
수식 부탁드립니다.
기준선=(highest(high,26)+lowest(low,26))/2; B=BBandsUp(120,2); x=sum(c*v); z=valuewhen(10,date !=date(10),x(10)); x1=sum(v); z1=valuewhen(10,date !=date(10),x1(10)); K= (x-z)/(x1-z1); wma1 = wavg(C, len); // TEMA 계산 ema1_1 = eavg(wma1, len); ema1_2 = eavg(ema1_1, len); ema1_3 = eavg(ema1_2, len); TEWMA1 = 3 * ema1_1 - 3 * ema1_2 + ema1_3; len2 = len * multi; wma2 = wavg(C, len2); ema2_1 = eavg(wma2, len2); ema2_2 = eavg(ema2_1, len2); ema2_3 = eavg(ema2_2, len2); TEWMA2 = 3 * ema2_1 - 3 * ema2_2 + ema2_3; TEWMA = (TEWMA1 + TEWMA2) / 2; CrossUP(K ,TEWMA) && C>B && C>기준선 설정 len 120 multi 3 종목검색식으로 변환 부탁드립니다. 날이 추워지는데 감기조심하세요. 감사드립니다.
2025-10-30
220
글번호 227519
답변완료
안녕하세요 . 키움식을 변환해 주시기를 부탁드립니다.
키움 지표 수식입니다. 부탁드려요.수식1) HMA 상승 A=wavg(2*wavg(scr,len/2) - wavg(scr,len), floor(sqrt(len))); (수식2) HMA 하락 A=wavg(2*wavg(scr,len/2) - wavg(scr,len), floor(sqrt(len))); if(A(1)>A,A,0) (수식3) TEMA 상승 EMA1=eavg(c,50); EMA2=eavg(EMA1,50); EMA3=eavg(EMA2,50); B=3*EMA1-3*EMA2+EMA3; (수식4) TEMA 하락 EMA1=eavg(c,50); EMA2=eavg(EMA1,50); EMA3=eavg(EMA2,50); B=3*EMA1-3*EMA2+EMA3; if(B(1)>B,B,0)
2025-10-30
297
글번호 227518
답변완료
수식 문의 드립니다
안녕하십니까?수식 부탁 드립니다.매수: 거래금액이 50억 이상 종목 그리고 이전100일중 거래일 평균보다 1.5배이상 거래량인경우 매수매도 : 이전 10일중 거래일 평균보다 2배이상 거래량인경우 매도 매도: 이전 10일중 거래량이평선 5일을 상향시 매도
2025-10-30
230
글번호 227517
답변완료
질문 있습니다.
질문의 핵심: 1분봉 이동평균선 색상 변경 시 딜레이 적용 방법 문의 (파란색 미표시 문제)안녕하세요.1분봉 차트에서 이동평균선의 방향에 따라 색상을 다르게 표시하고, 색상 변경 시 딜레이를 주고 싶습니다.현재 코드:input : P(120);var1 = ma(C,P);if var1 > var1[1] Then var2 = 1; if var1 < var1[1] Then var2 = -1; if var2 == 1 Then plot1(var1,"이평",RED,DEF,4);Else plot1(var1,"이평",BLUE,DEF,4);이 코드는 정상 작동하지만, 횡보 구간에서 빨강<->파랑이 너무 자주 바뀝니다.원하는 기능은 아래와 같습니다. 색상이 변경될 때 즉시 바꾸지 않고, 20분(20봉) 동안 새로운 방향이 유지되면 그때 색상을 변경하고 싶습니다.예를 들어서 파,빨 파,빨 들쑥날쑥 색이 변하는 것 대신 파에서 빨 변하는 상황이 오면 바로 변하지 않고 20분or20봉 딜레이 주면서 끝나면 빨이 맞다면 빨, 파 맞다면 계속 파 이렇게 하는 것입니다.시도한 코드:input : P(120), DelayBars(20);vars: var1(0), var2(0), NewSignal(0), PrevSignal(0), BarCounter(0), FirstRun(True);var1 = ma(C,P);If var1 > var1[1] Then NewSignal = 1Else If var1 < var1[1] Then NewSignal = -1Else NewSignal = PrevSignal;If FirstRun = True Then Begin var2 = NewSignal; PrevSignal = NewSignal; FirstRun = False;End;If NewSignal <> 0 and NewSignal <> var2 Then Begin BarCounter = BarCounter + 1; If BarCounter >= DelayBars Then Begin var2 = NewSignal; BarCounter = 0; End;EndElse Begin BarCounter = 0;End;PrevSignal = NewSignal;If var2 = 1 Then plot1(var1, "이평", RED, DEF, 4)Else plot1(var1, "이평", BLUE, DEF, 4);문제:위 코드를 실행하면 파란색이 전혀 표시되지 않고 빨간색만 표시됩니다. ㅠㅠ (첨부 이미지 참조)이동평균선이 하락할 때는 파란색으로 표시되어야 하는데, 색상 변경이 제대로 작동하지 않습니다.1분봉 환경에서 이동평균선 방향 변경 시 N봉 딜레이를 주는 올바른 방법을 알려주시면 감사하겠습니다.P.S. var2 변수의 초기값이나 방향 전환 로직에 문제가 있는 것 같은데, 어떻게 수정해야 파란색(하락)도 제대로 표시될까요???사용한 차트 환경차트: 1분봉이동평균: 120일원하는 딜레이: 20분 (20봉)감사합니다!
2025-10-30
363
글번호 227516
답변완료
수식 문의
안녕하세요? 1. 분봉에서 사용할 daydiff(CC, n, per)이라는 사용자 함수를 원합니다. CC = C, Data2(C), ... 등이 될 수 있습니다. 물론 그들을 이리 저리 짬뽕으로 만들어진 녀석이 될 수도 있습니다. 이 함수는 abs(CC - CC[n]) 들의 평균인 ma(abs(CC - CC[n]) ,per)를 리턴 합니다. 날짜가 바뀔 때의 갭을 반영하지 않기 위해서 이 함수를 만듭니다!!! 예컨대 n=3이고, per = 5, CC = data2(C)인 경우, CC와 CC[3]이 모두 같은 날짜여야 합니다. 즉, 우리의 함수는 CC와 CC[n]이 나오는 날짜가 다르면 그냥 0 값을 리턴하고, 즉, dayindex가 2 이하면 계속 0을 리턴 dayindex가 3 이상이 되면 이때부터 진짜 값들을 리턴하는데, 이 때도dayindex가 3이면: CC-CC[3]을 리턴 dayindex가 4이면: ma( CC-CC[3],2)를 리턴 dayindex가 5이면: ma( CC-CC[3],3)를 리턴 dayindex가 6이면: ma( CC-CC[3],4)를 리턴 dayindex가 7 이상이면: 계속 오늘장이 끝날 때까지 주구장창 ma( CC-CC[3],5)를 리턴 예컨대 선물은 8시 45분부터 나오지만, 어떤 참조 데이터는 9시 부터 나오는데, 위의 dayindex는 이 경우 해당 참조 데이터가 나오는 시점을 카운트 하는게 맞지요? 말이 어려워지는데, 그러니까 abs(CC-CC[3]) 들의 평균을 구하고 싶은데, 이게 날짜가 변해서 갭이 왕창 생겨서 평균을 망치는 것을 피하는 것이 목표입니다. 2. 혹시 data2 등에서도 적용이 가능한, 분봉에서 사용할 일종의 Atr 함수를 dayatr(CC, per) 이란 이름으로 만들어 주시면 감사하겠습니다. 이 친구를 만들 때, 날짜가 바뀌어서 발생하는 갭들은 계산에서 제외하고 만들 수 있으면 정말 좋겠습니다. 보통 Atr 계산할 때, H,L,O,C 등이 사용되지만, 우리는 특별히 HLOC가 없다면 그냥 H=L=O=C 로 해서 비슷하게 만드시면 됩니다. 즉, 이 경우에는 말하자면 C-C[1] 들의 평균이면 될 것 같은데, 한가지 C와 C[1] 이 날짜가 달라지면, 이 녀석은 제외하고, 기존의 값을 계속 리턴하거나, 평균 구할 때, 그런 쌍은 제외하도록 하면 좋겠습니다. 감사합니다.
2025-10-30
280
글번호 227515