커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

함수요청

안녕하세요? 스크립트 작성 요청드립니다. 이전 요청드렸던 글번호 60960번 질문으로 답변주셨던 내용을 수정하여 작성 부탁드립니다. 요청드리는 거래종목은 해외선물 5분봉 거래입니다. 1.써머타임 적용시 가.진입 a.우리시각으로 오후 10시 30분 기준으로(35분 완성봉) 기본종목(data1)과 참조종목 (data2)이 일봉상 양봉이면 익봉시가 매수 b.우리시각으로 오후 10시 30분 기준으로(35분 완성봉) 기본종목(data1)과 참조종목 (data2)이 일봉상 음봉이면 익봉시가 매도 나.손절: 포지션 진입이후 기본종목이나 참조종목이 당일 일봉상 시가를 돌파[이탈] 완성시 익봉 시가에 다.시간청산: 당일청산(오전 3시 10분 완성봉=15분 시가봉) 2.써머타임 해제시 가.진입 a.우리시각으로 오후 11시 30분 기준으로(35분 완성봉) 기본종목(data1)과 참조종목 (data2)이 일봉상 양봉이면 익봉시가 매수 b.우리시각으로 오후 11시 30분 기준으로(35분 완성봉) 기본종목(data1)과 참조종목 (data2)이 일봉상 음봉이면 익봉시가 매도 나.손절: 포지션 진입이후 기본종목이나 참조종목이 당일 일봉상 시가를 돌파[이탈] 완성시 익봉 시가에 다.시간청산: 당일청산(오전 4시 10분 완성봉=15분 시가봉) 단, 진입기준으로 당일에만 하루 한번 거래입니다. var : O2(0,data2); Var : v1(0,data1),v2(0,data1),v3(0,data1),v4(0,data1),Summercond(False,data1),Year(0,data1); Year = data1(Floor(sdate/10000)); V1 = data1((10000 * Year) + (100 * 3) + 1); V2 = data1(15 - dayofweek(v1)); v3 = data1((10000 * Year) + (100 * 11) + 1); v4 = data1(8 - dayofweek(v3)); Summercond = data1(date > (10000 * Year) + (100 * 3) + v2 And date < (10000 * Year) + (100 * 11) + v4); if data2(bdate != bdate[1]) Then O2 = data2(O); if Summercond == true then { if stime == 223000 then { if data2(C) > O2 Then buy("b1",AtMarket); if data2(C) < O2 Then sell("s1",AtMarket); } if stime == 031000 Then { ExitLong("bx1",AtMarket); ExitShort("sx1",AtMarket); } } if Summercond == false then { if stime == 233000 then { if data2(C) > O2 Then buy("b2",AtMarket); if data2(C) < O2 Then sell("s2",AtMarket); } if stime == 041000 Then { ExitLong("bx2",AtMarket); ExitShort("sx2",AtMarket); } }
프로필 이미지
흰둥이아빠
2019-01-29
169
글번호 125692
시스템
답변완료

재문의드립니다

61062번재문의드립니다 만들어주신것은 고점 ,저점에수평선이 나옵니다 고점저점이 아닌 전봉종가에서부터 나오게 다시한본부탁드립니다~~
프로필 이미지
장군
2019-01-29
183
글번호 125690
지표
답변완료

수식문의합니다.

최근 두개봉의 값이 연속 상승 조건식입니다. accumN(sK > sK[1], 2) == 2 검증을 하면 sK > sK[1] 부분의 > 부호가 오류로 뜹니다. 숫자값이나 숫자표현식이 와야한다고 뜨는데요. macd와 같은 지표값은 안되나요?
프로필 이미지
mimi
2019-01-29
221
글번호 125689
지표

회원 님에 의해서 삭제되었습니다.

프로필 이미지
회원
2019-01-29
39
글번호 125688
시스템
답변완료

문의드립니다.

안녕하세요 첨부한 그림과 같이 현재는 현재저점(1번)과 전저점(2번)의 추세선만 오른쪽으로 연장이 되는데, 여기에 1. 전저점(2번)과 전전저점(3번) 추세선, 2. 현저점(1번)과 전전저점(3번)의 추세선 3. 현저점(1번)과 전전전저점(4번)과의 추세선 4. 2번고점과 3번고점 5. 1번 고점과 3번고점 6. 1번 고점과 4번 고점 이렇게 추세선을 오른쪽 연장해서 넣고 싶습니다. 그리고 지나가면서 새로운 고점 저점이 생기면 맨 앞쪽 추세선은 지워지도록 부탁드립니다. Input:length(6); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),TL3(0),Text1(0),처리구분(""), TL_Val1(0),TL_Val2(0); var : T(0),LTL1(0),LTL2(0),LTL3(0); var : LTL11(0),LTL21(0),LTL31(0); var : LTL12(0),LTL22(0),LTL32(0); var : HTL1(0),HTL2(0),HTL3(0); var : HTL11(0),HTL21(0),HTL31(0); var : HTL12(0),HTL22(0),HTL32(0); Array:고점[10,2](0),저점[10,2](0); 처리구분 = ""; If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then { If 저점[1,1] > L Then 처리구분 = "저점처리"; If 고점[1,1] < H Then 처리구분 = "고점처리"; } Else If Highest(H,length) == H and lastHiVal <> H Then 처리구분 = "고점처리"; Else If Lowest(L,length) == L and lastLoVal <> L Then 처리구분 = "저점처리"; If 처리구분 == "고점처리" Then { T = 1; lastHiVal = H; If 고점[1,2] < 저점[1,2] Then { For j = 10 DownTo 2 { 고점[j,1] = 고점[j-1,1]; 고점[j,2] = 고점[j-1,2]; } } If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then { 고점[1,1] = H; 고점[1,2] = Index; sBar = Index - 저점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); } TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]); if T[1] != 1 Then{ TL_SetExtRight(LTL1,False); LTL1 = TL_New(sDate[index-저점[2,2]],sTime[index-저점[2,2]],저점[2,1],sDate[index-저점[1,2]],sTime[index-저점[1,2]],저점[1,1]); Ltl11 = Ltl1[1]; Ltl21 = Ltl2[1]; Ltl31 = Ltl3[1]; Ltl12 = Ltl11[1]; Ltl22 = Ltl21[1]; Ltl32 = Ltl31[1]; TL_SetExtRight(LTL1,true); } If 고점[3,1] < 고점[2,1] and 고점[2,1] > 고점[1,1] and 저점[2,1] < 저점[1,1] Then { sBar = Index - 저점[2,2]; eBar = Index - 저점[1,2]; } } } If 처리구분 == "저점처리" Then { T = -1; lastLoVal = L; If 저점[1,2] < 고점[1,2] Then { For j = 10 DownTo 2 { 저점[j,1] = 저점[j-1,1]; 저점[j,2] = 저점[j-1,2]; } } If 저점[1,2] < 고점[1,2] or 저점[1,1] > L Then { 저점[1,1] = L; 저점[1,2] = Index; sBar = Index - 고점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); } TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]); if T[1] != -1 then{ TL_SetExtRight(HTL1,false); HTL1 = TL_New(sDate[index-고점[2,2]],sTime[index-고점[2,2]],고점[2,1],sDate[index-고점[1,2]],sTime[index-고점[1,2]],고점[1,1]); htl11 = htl1[1]; htl21 = htl2[1]; htl31 = htl3[1]; htl12 = htl11[1]; htl22 = htl21[1]; htl32 = htl31[1]; TL_SetExtRight(HTL1,true); } If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then { sBar = Index - 고점[2,2]; eBar = Index - 고점[1,2]; } } } TL_SetSize(TL1,1); TL_SetColor(TL1,white);
프로필 이미지
동해바다01
2019-01-29
237
글번호 125687
지표
답변완료

시스템적용 문의합니다.

시스템수식을 아래처럼 적용하였는데 사운드설정을 해보니 막대봉이 이평선을 돌파해도 종가가 나와야 소리가 나옵니다. 제가 원하는 것은 종가가 되기 전에도 가격이 이평선을 돌파하면 즉시 사운드가 나오도록 하고 싶습니다. 어떻게 하면 되나요 Var : Period1(60); var : Sma1(0); Sma1 = ma(C,Period1); # 매수 If CrossUP(c,Sma1) Then { Buy(); } # 매도 If CrossDown(c,Sma1) Then { sell(); }
프로필 이미지
엘라
2019-01-28
206
글번호 125686
시스템
답변완료

문의드립니다.

도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 기타 해선 외부변수: -설정시간 -n틱 수식 var1 = 분봉에서의 일봉 종가 이평; 설정시간에 봉 중간값과 var1 값의 차이가 n틱이하일 때 var2 = 봉의 중간값 *일요일 봉은 셋업하지 않음. 2. 61034 질문 답변 부탁드립니다. 3. 지표 선물 만기일 기준으로 외국인 선물 순매수량 누적 기관 선물 순매수량 누적 개인 선물 순매수량 누적 각 주체들 옵션 순매수량 누적 4. 지표 3지표를 옵션만기일 기준으로 누적
프로필 이미지
잡다백수
2019-01-29
198
글번호 125685
시스템
답변완료

수식 문의

안녕하세요 하기 수쉭문의 부탁드립니다. 1. data 1 과 data 2 의 가격이 모두 볼린져 밴드 이평 하단 5틱 위에 위치하고 있으며, MACD oscillator가 양에서 음으로 바뀌면 매도 진입 하는 수식 부탁드립니다. 매수는 반대로 data 1 과 data 2 의 가격이 모두 볼린져 밴드 이평 상단 5틱 아래에 위치하고 있으며, MACD oscillator 가 음에서 양으로 바뀌면 매수 진입하는 수식 부탁드립니다. 조건 1. data1 과 data 2 가 동시에 바뀌지 않더라도 대기하다가 같은 신호가 발생되면 진입하게 부탁드립니다. 예를 들어 data1 은 매도 진입 조건이 이루어 졌는데, data 2가 data 1발생후 5개의 봉 후에 매도 조건이 발생되더라도, 5개 봉을 대기하다가 같은 조건이 되는봉에서 진입하게 부탁드립니다. 2. 하기 두가지 옵션으로 진입하는 수식 부탁드립니다. a. 진입을 2개로 해서 30틱 익절 1개 나머지 1개는 다음신호까지 대기하는 것으로 부탁드립니다. b. 진입을 1개만 하는 수식 부탁드립니다. 3. 손절 매도 진입후 가격이 data 1 의 볼린져 밴드 상단에 닿으면 손절하도록 부탁드립니다. 매수 진입수 가격이 data 1 의 볼린져 밴드 하단에 닿으면 손절하도록 부탁드힙니다. 감사합니다.
프로필 이미지
softtoug
2019-01-29
203
글번호 125684
시스템
답변완료

당일의 시고저 기타선 및 전일의 기타선 문의 드립니다.

예스글로벌hts를 사용중이며 항셍지수를 적용하였을때 아래와 같이 작성하면 기준시간이 우리시간으로 오후6시15분부터 표시가 됩니다. input : period1(15); VAR : 기준선(0); 기준선 = (highest(h,Period1)+lowest(l,Period1))/2; Plot1(dayOpen(0), "시가"); Plot2(dayHigh(0), "고가"); Plot3(dayLow(0), "저가"); Plot4((dayHigh(0)+dayLow(0))/2, "중가"); Plot5(dayHigh(1), "전일고가"); Plot6(dayLow(1), "전일저가"); if c > 기준선 Then Plot7(기준선, "기준선",YELLOW); Else Plot7(기준선, "기준선"); 위 수식을 우리시간기준 오전10시15분터부터 작성될수 있도록 수정부탁드립니다. 위의 수식에서 추가해야될 부분을 포함하여 필요한 수식을 아래와 같이 문의드립니다. 우리시간기준 오전10시15분부터(혹시 시간을 변수로 지정해서 변경할수 있으면 부탁드립니다.) "당일의 시가,고가,저가,중심가,4등분선,기준선(위에 표시되어 있는 기준선)" "전일의 고가,저가,중심가" 입니다. 감사합니다. 수고하세요^^*
프로필 이미지
휴먼시아
2019-01-28
240
글번호 125683
지표