커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1516
글번호 230811
답변완료
HA RSI
var : haC(0),haO(0),haH(0),haL(0);var : mav(0),sdv(0),B(0);var : A(0),A1(0);#Heiken Ashi 시고저종if index == 0 then{ haC = (O+H+L+C)/4; haO = open; haH = MaxList( high, haO, haC); haL = MinList( low, haO,haC); }else{ haC = (O+H+L+C)/4; haO = (haO [1] + haC [1])/2 ; haH = MaxList(High, haO, haC) ; haL = MinList(Low, haO, haC) ; }Inputs: Length(20);Var : Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0),haRSI(0);If Index == Length Then Begin UpSum = 0; DownSum = 0; For Counter = 0 To Length - 1 Begin UpAmt = haC[Counter] - haC[Counter+1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; End; UpAvg = UpSum / Length; DownAvg = DownSum / Length;EndElse If Index > length AND Length > 0 Then Begin UpAmt = haC[0] - haC[1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpAvg = (UpAvg[1] * (Length - 1) + UpAmt) / Length; DownAvg = (DownAvg[1] * (Length - 1) + DownAmt) / Length; End;If UpAvg + DownAvg <> 0 Then haRSI = 100 * UpAvg / (UpAvg + DownAvg);Else haRSI = 0;if Index >345 and (CrossUp(harsi,60) and CountIf(harsi<=59.9,5)[1] == 5) and haC>haC[1]*1.02 then Find(1);============================================================== 위 수식은 하이킨아시에서 상장 345일이상 종목 중, 전 5봉의 RSI(20)값은 59.9이하 후 전봉대비 금일 2%이상 상승으로 60돌파하는데 여기에 haC가 200EMA를 당일돌파하거나 LRL(50)>TEWMA>200EMA인 종목의 검색을 위해 if~ 이하부분을 해봤는데 아래 TEWMA수식과 LRL(50)을 어떻게 넣어야할지 몰라 문의드립니다. ============================================================== input : len(50),multi(1.75);var : wma1(0),ema1_1(0),ema1_2(0),ema1_3(0),TEWMA1(0);var : len2(0),wma2(0),ema2_1(0),ema2_2(0),ema2_3(0),TEWMA2(0);var : TEWMA(0);wma1 = WMA(C, len);// TEMA 계산ema1_1 = Ema(wma1, len);ema1_2 = Ema(ema1_1, len); ema1_3 = Ema(ema1_2, len);TEWMA1 = 3 * ema1_1 - 3 * ema1_2 + ema1_3;len2 = len * multi;wma2 = WMA(C, len2);ema2_1 = Ema(wma2, len2);ema2_2 = Ema(ema2_1, len2);ema2_3 = ema(ema2_2, len2);TEWMA2 = 3 * ema2_1 - 3 * ema2_2 + ema2_3;TEWMA = (TEWMA1 + TEWMA2) / 2;var1 = Ema(c,200);var2 = LRL(c,50);
헤이킨아쉬
헤이킨아쉬RSI
헤이킨아쉬EMA
헤이킨아쉬TEWMA
헤이킨아쉬LRL
2025-10-24
267
글번호 227259
답변완료
문의 드립니다.
안녕하세요.수고 많으십니다. ~RSI(5)가 70 이상일 때, 아래의 1 라인이 2 라인을 돌파 ( 또는 1, 2 라인이 만났을때, 현재 가격이 그 2개라인을 돌파 ) 하는 종목의 검색식을 부탁 드립니다.a 라인A=avg(c,17);ATR=avg(max(max(h-L,abs(c(1)-h)),abs(c(1)-L)),17);B=ATR*2;D=A+B;E=Bbandsup(17,2);e1=crossup(E,D);e2=crossdown(E,D);e3=crossdown(c,E);valuewhen(1,e1 or e2 or e3,o) b 라인A=avg(c,17);ATR=avg(max(max(h-L,abs(c(1)-h)),abs(c(1)-L)),17);B=ATR;D=A+B; 감사합니다.
2025-10-23
209
글번호 227256
놀이터 님에 의해서 삭제되었습니다.
2025-10-23
61
글번호 227255
답변완료
문의드립니다.
TRIX 14 9 가 기준선 0선 아래에 있을 때 골든크로스 발생 하면 매수 진입매수 후 데드크로스 발생 시 매도 청산 완료(기준선0선 상관없이 데드크로스 발생 하면 매도 청산할 것)TRIX 14 9 가 기준선 0선 위에 있을 때 데드크로스 발생 하면 매도 진입매수 후 데드크로스 발생 시 매수 청산 완료(기준선0선 상관없이 골든크로스 발생 하면 매도 청산할 것)수량을 입력할 수 있도록 추가 부탁드립니다.
TRIX
2025-10-23
192
글번호 227238
답변완료
수식 부탁드립니다
1. 전환선과 기준선 골든 데드시 수평선 수식2. 전환선과 선행스팬2 골든 데드시 수평선 수식3. 전환선과 20이평선 골든 데드시 수평선 수식 부탁드립니다
전환선기준선크로스
전환선선행스팬2골드데드
2025-10-23
226
글번호 227236
세력은내밥줄 님에 의해서 삭제되었습니다.
2025-10-23
58
글번호 227235
답변완료
매수시 주문체결 매수수량 표시
안녕하세요 ~nh트레이더 주식매매 사용중입니다.아래 b1과 b2에서 각각 3개씩 매수하였는데b1과 b2옆에 표시되는 매수수량을 누적이 아닌 각각 표시하고 싶습니다시스템식 예시 부탁드립니다 ㅎㅎ감사합니다 ㅎㅎ!!
2025-10-23
174
글번호 227233
답변완료
수고하십니다
항상 좋은 일만 있으시기 바랍니다 psar지표에서 고가 수평선이 3꼭지가 나올때까지 연장 해서 나오게 요청합니다(역으로 저가도 동일 합니다)
2025-10-23
222
글번호 227232
답변완료
질문 있습니다.
안녕하세요!답변 덕분에 해결이 되었지만특정 시간대 진입 거래만 누적 손익 계산이 잘 안되서 도움 요청합니다. ㅠㅠ제가 원하는 것은예를 들어서 특정 시간대(예: 7시~21시)에 진입한 거래의 누적 손익만 별도로 계산하고 싶습니다.=== 현재 시도한 방법 ===Input : StartHour(7), EndHour(21);var : TradingPL(0), InTimeEntry(0), SignalHour(0);// 신호 발생 시 시간 기록if 매수신호 Then { SignalHour = CurrentHour; if SignalHour >= StartHour and SignalHour < EndHour Then InTimeEntry = 1; Else InTimeEntry = 0;}// 진입 (다음 봉)if 신호[1] == 1 Then { Buy();}// 청산 시 누적if TotalTrades > TotalTrades[1] Then { if InTimeEntry[1] == 1 Then { TradingPL = TradingPL[1] + (NetProfit - NetProfit[1]) / PriceScale; }}// 22시 누적수익 표시 (EndHour + 1)if CurrentHour == 22 and CurrentHour != CurrentHour[1] Then { Text_New(sDate, sTime, H + 2.0, NumToStr(TradingPL, 0) + "T");}// 영업일 변경if Bdate != Bdate[1] Then { TradingPL = 0;}=== 문제 상황 ===실제 거래 (7시~21시 진입):- 9시 진입 → 11시 청산 +25틱- 13시 진입 → 15시 청산 -18틱 - 17시 진입 → 19시 청산 +67틱- 20시 진입 → 22시 청산 -12틱합계: +62틱하지만 22시 표시 결과: 3틱 또는 부정확한 값!! (이것 때문에 미치겠습니다. ㅠㅠ)=== 질문 ===1. 변수 InTimeEntry가 청산 시점까지 제대로 유지되나요? (신호 → 진입 → 청산 과정에서 [1] 참조의 타이밍 문제?)2. TradingPL 누적 방식이 올바른가요? 매 봉마다 TradingPL = TradingPL[1]로 상태 유지가 필요한가요?3. 특정 시간대 진입 거래만 필터링하여 누적 손익을 계산하는 표준적인 방법이 있을까요?바쁘신데 감사합니다. ㅠㅠ
2025-10-23
219
글번호 227224