커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내

안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
프로필 이미지
예스스탁
2026-02-27
3433
글번호 230811
지표
답변완료

사용자함수 질문입니다.

선생님 큰 도움이 되었습니다. 1. HighD/LowD의 일봉 경계 시각 예스트레이더 코인 암호화폐 분봉에서 HighD(1), LowD(1)의 “전일”은 KST 00:00~24:00(캘린더 데이) 기준인가요? 혹은 다른 타임존/세션을 사용하나요? 2. 동일 봉에서 타겟·스탑·반대신호 동시 근접 시 우선순위 다음 봉에서 AtLimit(≥)과 AtStop(≤) 둘 다 만족 가능한 경우, 시뮬레이터는 어떤 순서(예: 시가→고가→저가→종가)로 가격을 가정하여 어느 쪽을 먼저 트리거하나요? 우선순위 규칙이 정해져 있으면 알려주세요. 3. BarsSinceEntry==0 시점의 OHLC 사용 가능 여부 진입이 다음 봉 진행 중에 발생한 뒤, 그 같은 봉이 ‘완성’되었을 때 BarsSinceEntry==0 조건으로 수식을 고정하면, 그 시점의 **해당 봉의 H/L(완성값)**을 참조해도 되나요? (즉, **엔트리 봉 완성값(H, L)**을 BarsSinceEntry==0에서 안전하게 읽을 수 있는지) 늘 감사합니다 선생님. 좋은 하루 되십시오!
프로필 이미지
추세추종중독자
2025-08-25
312
글번호 193498
사용자 함수
답변완료

종목 검색식 부탁드립니다.

A=(DayHigh()+DayLow())/2; B1=if(predayclose()>predayopen(), (predayhigh()+predaylow()+predayclose()+predayhigh())/2-predaylow(), (if(predayclose()<predayopen(), (predayhigh()+predaylow()+predayclose()+predaylow())/2-predaylow() (predayhigh()+predaylow()+predayclose()+predayclose())/2-predaylow()) ) ); B2=if(predayclose()>predayopen(), (predayhigh()+predaylow()+predayclose()+predayhigh())/2-predayhigh(), (if(predayclose()<predayopen(), (predayhigh()+predaylow()+predayclose()+predaylow())/2-predayhigh() (predayhigh()+predaylow()+predayclose()+predayclose())/2-predayhigh()) ) ); 조건=A>B1 && A>B2; 조건 && !조건(1) ===== 위의 수식을 예스랭귀지로 변환가능한지요? ====== 분봉에서도 사용가능한지도 궁금해요.
프로필 이미지
지구소방대
2025-08-25
269
글번호 193497
종목검색
답변완료

검색식 부탁 드려요

1. 아래수식을 참고하여, (수식2)가 기준선0 선을 돌파하는 양봉캔들의 모든종목 검색식 부탁합니다. 2. 아래수식을 참고하여, (수식2)가 기준선0 선 위에 있는 모든종목 검색식 부탁드려요 ----------수식------- (수식1) x=sum(((h+l+c)/3)*v); z=valuewhen(1, date != date(1) , X(1)); x1=sum(v); z1=valuewhen(1, date != date(1) , X1(1)); VWAP=(x-z)/(x1-z1); (수식2) WOP = avg(VWAP, wopPeriod); VWAPPO = (C - WOP)/WOP*100; (수식3) ITS = avg(C, itsPeriod); OVER = avg(WOP, overPeriod); Vegeta = (ITS - OVER)/OVER*100; (수식4) Blockchain = (WOP - OVER)/OVER*100; - 지표조건설정 wopPeriod : 14 itsPeriod : 11 overPeriod : 7
프로필 이미지
일지매7
2025-08-25
308
글번호 193496
종목검색
답변완료

수식작성 부탁드립니다.

안녕하세요 운영자님 input : P(10); var : R(0); R = RSI(P); if CrossUp(R,55) Then Buy(); if CrossDown(R,45) Then Sell(); 위의 수식에서 매수진입한 후 R값이 55 이하가 되면 매수한 계약이 청산 매도진입한 후 R값이 45 이상이 되면 매도한 계약이 청산되도록 부탁드립니다. 수고하세요.
프로필 이미지
고박사122
2025-08-25
225
글번호 193495
시스템
답변완료

추세선 색깔, 두께 지정 선택 수정 부탁드립니다

아래 수식의 추세선 색깔과 두께을 입력하지 않고 버튼으로 본인이 선택을 하는 수식으로 수정 부탁드립니다 =========================================================== input : Period(35),선두께(2); Var:상승색(Turquoise), 하락색(Turquoise); Var:j(0),T(0); Var: date11(0),date12(0),time11(0),time12(0),TL1(0),TL(0),tl9(0), date21(0),date22(0),time21(0),time22(0),diff(0),diffr(0), date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0),tl4(0),box(0); Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0); Array:r[7](0),fr[7](0),TL2[7](0),TL3[7](0),TX2[7](0),TX3[7](0); For j = 0 To 19 { HiBar[j] = HiBar[j] + 1; LoBar[j] = LoBar[j] + 1; } if monthhigh(0)[1] < monthhigh(0) Then T = 1; if monthlow(0)[1] > monthlow(0) Then T = -1; If T == -1 Then { If T[1] != -1 Then { For j = 18 DownTo 0 { LoVal[j+1] = LoVal[j]; LoBar[j+1] = LoBar[j]; } LoVal[0] = L; LoBar[0] = 0; date11 = date[HiBar[0]]; time11 = stime[HiBar[0]]; Value11 = HiVal[0]; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); TL_SetColor(TL1,하락색); date21 = date[HiBar[0]]; time21 = stime[HiBar[0]]; date22 = date[0]; time22 = stime[0]; for j = 0 to 6 { fr[j] = LoVal[1] + ((HiVal[0] - LoVal[1]) * r[j]); } var1 = Index; Var2 = var1[1]; if var2 > 0 Then { diff = value12; diffr = (value12-value11)/value11*100; TX = Text_New(sDate,sTime,value12,NumToStr(diffr,0)+"%"); Text_SetStyle(tx,1,0); Text_SetColor(tx,Blue); Text_SetSize(tx,12); } } If LoVal[0] > L Then { LoVal[0] = L; LoBar[0] = 0; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date22 = date[0]; time22 = stime[0]; diff = value12; diffr = (value12-value11)/value11*100; TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); var1 = Index; if var2 > 0 Then Box_SetEnd(box,date12,time12,Value12); { Text_SetLocation(tx,sDate,sTime,value12); Text_SetString(tx,NumToStr(diffr,0)+"%"); } } } If T == 1 Then { If T[1] != 1 Then { For j = 18 DownTo 0 { HiVal[j+1] = HiVal[j]; HiBar[j+1] = HiBar[j]; } HiVal[0] = H; HiBar[0] = 0; date11 = date[LoBar[0]]; time11 = stime[LoBar[0]]; Value11 = LoVal[0]; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); TL_SetColor(TL1,상승색); date31 = date[LoBar[0]]; time31 = stime[LoBar[0]]; date32 = date[0]; time32 = stime[0]; for j = 0 to 5 { fr[j] = LoVal[0] + ((HiVal[1] - LoVal[0]) * r[j]); } var1 = Index; Var2 = var1[1]; if var2 > 0 Then { diff = value12; diffr = (value12-value11)/value11*100; TX = Text_New(sDate,sTime,value12,NumToStr(diffr,0)+"%"); Text_SetStyle(tx,2,1); Text_SetColor(tx,Red); Text_SetSize(tx,12); } } If HiVal[0] < H Then { HiVal[0] = H; HiBar[0] = 0; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date32 = date[0]; time32 = stime[0]; diff = value12; diffr = (value12-value11)/value11*100; TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); var1 = Index; if var2 > 0 Then Box_SetEnd(box,date12,time12,Value12); { Text_SetLocation(tx,sDate,sTime,value12); Text_SetString(tx,NumToStr(diffr,0)+"%"); Text_SetStyle(tx,1,1); } } } TL_SetSize(TL1,선두께); TL_SetDrawMode(TL1,0); Text_SetSize(tx,15);
프로필 이미지
팔보채
2025-08-25
303
글번호 193484
지표
답변완료

양옵션 호가잔량 합 그물망차트로

안녕하세요. 옵션에서 양옵션 호가잔량의 합을 상위 10개까지 그물망차트로 나타날 수 있도록 부탁드립니다 감사합니다
프로필 이미지
대치아재
2025-08-25
235
글번호 193480
지표
답변완료

추가된 특정날짜의 종가...

추가된 종목 분봉챠트에서 특정일자와 당일 종가와의 가격차이를 알고싶은 수식이 알아봤는데 잘 안되서 수식요청드립니다. Input: TargetDate(20250605); # <-- 여기서 날짜를 수정하세요 # 2. 두 번째 종목(data2)의 과거 종가를 저장할 변수를 선언합니다. Var: PastDailyClose_Data2(0); # 3. data2의 특정일 종가를 계산합니다. (핵심 로직) # data2의 날짜가 TargetDate와 같고, 다음 봉의 날짜와는 다른 순간을 찾습니다. PastDailyClose_Data2 = ValueWhen(1, data2(sDate) == TargetDate && data2(sDate) != data2(sDate(-1)), data2(C)); # 4. data2의 현재 종가와 과거 종가의 차이를 계산합니다. Var: PriceDiff(0); PriceDiff = data2(C) - PastDailyClose_Data2; # 5. 계산된 차이 값을 지표로 출력합니다. Plot1(PriceDiff, "종가차이(data2)");
프로필 이미지
소주까기인형
2025-08-25
267
글번호 193479
지표
답변완료

진입과 청산 문의

안녕하세요 항상 도움을 받고 있습니다. <매매 조건> 나스닥 전략 a: 1계약, 나스닥 전략 b: 1계약 진행시, 전략 a 체결후, 전략 b가 증거금이 부족하여 미체결되는 경우, 미체결된 전략 b 의 청산 신호가 나왔을 때 전략 a의 포지션은 유지되는 것인가요? 아니면 미체결된 전략 b에 따라 청산이 되어버리는 것일까요? 감사합니다.
프로필 이미지
먼지곰
2025-08-25
196
글번호 193478
시스템
답변완료

문의드립니다.

안녕하세요 제가 스탑로스를 두가지로 사용하고 있는데 하나의 전략에서 두개가 동시에 적용되는건지 궁금해서 글 남깁니다. 예를들면 var1= atr(15)* 3; Setstoploss(VAR1[barssinceenty,pointstop); Setstoploss(10,perncentstop); 이런식으로 했을때 ATR 같은 경우는 편차가 너무 커서 작을때는 너무 작고 클때는 너무 큰대 특히 최악의 경우 10%는 안넘어가게 하는 방안으로 두번째 스탑로스를 추가해서 둘다 사용하려고 합니다. 백테스트중에 스탑로스에 대한 문구가따로 없어서 이부분이 제대로 작동하는건지 확인 부탁드립니다 안된다면 사용하는 방법 부탁드립니다. 스탑로는 사나는 변동성을 지니고 하나는 고정값으로 최악의 상태를 피하는 방법으로 생각하고 있습니다
프로필 이미지
소드노
2025-08-25
225
글번호 193477
시스템