커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1507
글번호 230811
답변완료
분봉 복합차트에서 주간장과 야간장 구별 방법
안녕하세요. 주간장과 야간장의 대응 로직을 다르게 적용하려고 합니다. 그래서 주간장 야간장 구별을 해야 하는데, 아래 방법을 써 봤으나 되질 않습니다.If Bdate[1] <> Bdate Then 야간장 로직 적용ElseIf Time[1] < 080000 And 080000 <= Time Then 주간장 로직 적용특히 데이터 문제인지 어떤 날들은 야간장 데이터가 자정까지 밖에 없는 경우도 있어 적용이 어긋납니다. 방법이 있을까요?조언 부탁드립니다.
2025-12-19
212
글번호 229171
답변완료
시스템 식 부탁 드립니다
코스피 선물 적용 예정입니다 1.선현물 베이시스 가 3연속 증가 하는 경우 매수 2.선현물 베이시스가 4연속 감소 하는 경우 매도 3,선현물 베이시스가 안 변하는 경우 베이시스 감소로 간주헤서 매수,매도식 각각 새로 작성한다
2025-12-19
134
글번호 229169
답변완료
함수에서 다수의 변수 처리 방법
보통 입력 파라메터를 read-only 변수로 주고 결과값을 3가지 타입 중에 하나로 해서 하나의 결과값만 받는 기본적인 함수 사용법말고, 함수 안에서 여러 값들로 여러 변수를 한꺼번에 처리해주어서 모듈화를 시키고 싶은데, 살펴보다보니 ref타입으로 함수 파라메터를 선언해주면, 외부에서 해당 변수를 지정해주면 해당 변수의 값을 함수안에서 수정하고 함수가 호출이 리턴이 되고 나면 해당 여러 변수들은 모두 다 수정된 값이 함수 외부에서 수정된 상태로 읽을 수 있는 것이 맞을 지요? 예를 들어서 10개의 값을 입력 변수로 지정하고, 그것들로 5개의 변수값을 계산 및 처리하고 싶을 때의 함수 선언 방법과 사용예를 부탁 드리거나, 아니면 기존 질의 응답 내용 중에 참조할 만한 글이 있다면 해당 내용의 글번호 알려주시면 참고하여 적용해 보도록 하겠습니다.아 그리고 거기에 더해서, 참조데이타나 시고저종 등의 시리즈 변수 같은 것들을 넘겨서 함수 내에서 처리하고 싶을 땐, 역시 함수 선언과 사용을 어떻게 하면 되는 지도 문의 드립니다.언제나 노고에 감사드립니다~
2025-12-19
198
글번호 229168
답변완료
종목검색식 부탁드립니다
1. 보조지표 "이격도"에서, "20이격도 와 60이격도 "가 " 기준선 100이하 에서," 서로 0.5% 이내로 붙어있는 (수렴) 종목검색식 부탁드립니다. (변수로부탁드립니다)2. 보조지표 " 이격도"에서, "20이격도와 60 이격도" 가 "기준선 100 이상 에서," 서로 0.5% 이내로 붙어있는(수렴) 종목검색식 부탁드려요 (변수로 부탁드려요)3. 보조지표 이격도 에서 20 이격도와 60이격도가 "기준선 100 이하에서" 각각 (20 이격, 60 이격) 전일보다 상승한 종목검색식 부탁드려요.4. 보조지표 이격도 에서 20 이격도와 60 이격도 가 "기준선 100 이상에서" 각각 (20이격,60이격) 전일보다 상승한 종목검색식 부탁드려요.5. 이격도 에서 20 이격도 가 전일보다 상승한 종목 검색식 부탁드려요6. 이격도 에서 20 이격도가 기준선 100을 돌파한 종목 검색식 부탁드려요
2025-12-19
138
글번호 229167
답변완료
연장선좀 부탁 드림니다.
ㅇ 아래 수식 적용 하면 중심선이 굵게 나타 남니다. ㅇ 중심선을 다음 칸 까지 출력 되도록 수정 부탁 좀 드림니다. #==========================================# #==========================================# ## 박스색상 Input : length(20),종가사용여부(0),굵기(1),텍스트크기(12); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL(0),Text1(0),TL1(0),TL2(0),TL11(0),TL21(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime var : TL3(0),TL4(0),TX3(0),TX4(0),box(0); #==========================================# HH = IFF(종가사용여부==1,C,H); LL = IFF(종가사용여부==1,C,L); If Index == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = Highest(HH,length) == HH and 최종고가 <> HH; Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; // TL = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); // TL1 = TL_New(고[1,3],고[1,4],고[1,1],NextBarSdate,NextBarStime,고[1,1]); TL11 = TL1[1]; TL_SetSize(TL,굵기); TL_SetColor(TL,Red); ## 상승 대각선 TL_SetSize(TL1,굵기); TL_SetColor(TL1,Red); TL_SetSize(TL11,굵기); TL_SetColor(TL11,Red); ## 고가선 // Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 2, 1); Text_SetSize(text1,텍스트크기); Text_SetColor(text1,rgb(0,0,0)); ## 수치 TL_SetEnd(TL3,저[1,3],저[1,4],Value99); TL3 = TL_New(저[1,3],저[1,4],(고[1,1]+저[1,1])/2,고[1,3],고[1,4],(고[1,1]+저[1,1])/2); TL_SetSize(TL3,굵기); TL_SetColor(TL3,rgb(0,0,255)); TL_SetSize(TL3,5); ## 상승 중간선 //PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); /// PlaySound("C:\KiwoomGlobal\sound\매수주문체결2.wav"); box = box_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); Box_SetColor(box,Rgb(255,255,0)); Box_SetFill(box,true); ## 상승 박스 색상 Condition3 = False; if 고[1,1] > 고[2,1] Then { // TX3 = Text_New(고[1,3],고[1,4],고[1,1],"상돌파"+NewLine); Text_SetStyle(TX3,2,1); Condition3 = true; } } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL,고[1,3],고[1,4],고[1,1]); TL_SetEnd(TL11,고[1,3],고[1,4],고[2,1]); TL_SetBegin(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 // Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); // Text_SetString(Text1,"★"); // Text_SetColor(Text1,Rgb(255,0,255)); // Text_SetSize(Text1,35); TL_SetBegin(TL3,저[1,3],저[1,4],(고[1,1]+저[1,1])/2); TL_SetEnd(TL3,고[1,3],고[1,4],(고[1,1]+저[1,1])/2); box_SetEnd(box,고[1,3],고[1,4],고[1,1]); if Condition3 == False Then { if 고[1,1] > 고[2,1] Then { // TX3 = Text_New(고[1,3],고[1,4],고[1,1],"상돌파"+NewLine); Text_SetStyle(TX3,2,1); Condition3 = true; } } Else { Text_SetLocation(TX3,고[1,3],고[1,4],고[1,1]); } } 최종꼭지점 = "고점"; Value99 = (고[1,1]+저[1,1])/2; } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; // TL = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); // TL2 = TL_New(저[1,3],저[1,4],저[1,1],NextBarSdate,NextBarStime,저[1,1]); TL21 = TL2[1]; TL_SetEnd(TL21,저[2,3],저[2,4],저[2,1]); TL_SetSize(TL,굵기); TL_SetColor(TL,Blue); TL_SetSize(TL2,굵기); TL_SetColor(TL2,Blue); TL_SetSize(TL21,굵기); TL_SetColor(TL21,Blue); // Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 2, 0); Text_SetSize(text1,텍스트크기); TL_SetEnd(TL3,고[1,3],고[1,4],Value99); TL3 = TL_New(고[1,3],고[1,4],(고[1,1]+저[1,1])/2,저[1,3],저[1,4],(고[1,1]+저[1,1])/2); TL_SetSize(TL3,5); TL_SetColor(TL3,Rgb(255,0,0)); //PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); // PlaySound("C:\KiwoomGlobal\sound\매도주문체결2.wav"); box = box_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); Box_SetColor(box,Rgb(0,255,255)); Box_SetFill(box,true); Condition4 = False; if 저[1,1] < 저[2,1] Then { // TX4 = Text_New(저[1,3],저[1,4],저[1,1],NewLine+"하돌파"); Text_SetStyle(TX4,2,0); Condition4 = true; } } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL,저[1,3],저[1,4],저[1,1]); TL_SetEnd(TL21,저[1,3],저[1,4],저[2,1]); TL_SetBegin(TL2,저[1,3],저[1,4],저[1,1]); Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); // Text_SetString(Text1,NumToStr(저[1,1],2)); TL_SetBegin(TL3,고[1,3],고[1,4],(고[1,1]+저[1,1])/2); TL_SetEnd(TL3,저[1,3],저[1,4],(고[1,1]+저[1,1])/2); box_SetEnd(box,저[1,3],저[1,4],저[1,1]); if Condition4 == False Then { if 저[1,1] < 저[2,1] Then { // TX4 = Text_New(저[1,3],저[1,4],저[1,1],NewLine+"하돌파"); Text_SetStyle(TX4,2,0); Condition4 = true; } } Else { Text_SetLocation(TX4,저[1,3],저[1,4],저[1,1]); } } 최종꼭지점 = "저점"; Value99 = (고[1,1]+저[1,1])/2; } TL_SetEnd(TL1,NextBarSdate,NextBarStime,고[1,1]); TL_SetEnd(TL2,NextBarSdate,NextBarStime,저[1,1]); TL_SetEnd(TL3,NextBarSdate,NextBarStime,Value99); // if CrossUp(c,Value99) or CrossDown(C,Value99) Then //PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); // PlaySound("C:\KiwoomGlobal\sound\스탑로스포착2.wav");
2025-12-19
275
글번호 229166
답변완료
수식 부탁드립니다.
Vcond = V > (Avg(V, 5) * 1);AmtCond = 거래대금 > (Avg(거래대금, 5) * 1);종목 검색식을 부탁드립니다. 감사힙니다.
2025-12-19
102
글번호 229165
답변완료
수식문의
볼밴을 이용한 수식하나 문의드립니다.A (5분봉)1봉전 시가가 볼밴(14, 1.1)하한선 이하 B. (5분봉)1봉전 종가가 볼밴(14, 1.1)상한선 이상 C. (5분봉)1봉전 기준 볼밴(14, 1.1)상한선이 2봉연속 상승 D. (5분봉)1봉전 기준 볼밴(14, 1.1)하한선이 2봉연속 하락 E. (5분봉)2봉전대비 1봉전 종가 1%~5%상승F. (5분봉)1봉전 시가가 볼밴(14, 1.1)상한선 이상 G. (5분봉)2봉전대비 1봉전 종가 5%이상 상승H. (일봉)2봉전대비 1봉전 종가 15%이하(A & B& C& D& E) or (F & G & H)
2025-12-18
123
글번호 229164
답변완료
지표 부탁 드립니다
//@version=5indicator("Momentum Signal Stripes", overlay=true)// --- Inputs ---len = input.int(20, "Momentum Length")src = input.source(close, "Source")// --- Logic (Momentum) ---mom = src - src[len]// --- Signal Logic (Triggers only on the first bar of the change) ---// This checks if the current momentum is positive while the previous bar was notbullishSignal = mom > 0 and mom[1] <= 0bearishSignal = mom < 0 and mom[1] >= 0// --- Color Logic ---bgColor = bullishSignal ? color.new(color.green, 70) : bearishSignal ? color.new(color.red, 70) : na// --- Render ---bgcolor(bgColor, title="Momentum Signal Stripe")
2025-12-18
177
글번호 229163
답변완료
종목검색식 부탁드립니다
Crossup(C, avg(C, Period1))&&V > avg(V, Period2) * MPeriod1 : 120Period2 :20M :10종목 검색식 부탁드립니다
2025-12-18
120
글번호 229161