커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

검색식 문의 드립니다.

최근 10일 동안 상한가 발생횟수가 2번 이상 발생한 종목을 검색할려구 합니다. 일일이 전일과 비교하는 것이 아니라 for문을 사용할려구 하는데 잘안되네요. var : 발생횟수(0); for value1 = 1 to 10 { if dayclose[value1] >= dayclose[value1+1] * 1.14 then 발생횟수 = 발생횟수 + 1; } if 발생횟수 >= 2 then find(1); 위와 같이 했는데 안되네요. 무엇이 잘못되었는지요? 도움 부탁드립니다. 감사합니다.
프로필 이미지
꾸주니
2012-10-31
443
글번호 56111
검색
답변완료

시스템 구조에 대해 질문

안녕하세요 수고하십니다. 초보라서 기초적인 질문을 드려 죄송합니다. 다음과 같은 시스템식에서 다음과 같은 구조로 바꿀려면 어떤 수식을 추가해야 되는지요? 데이트레이딩인데 타종목은 선물이고 주종목은 옵션입니다. 각 매수조건이 맞으면 진입하고 청산하는 식인데요 1. 각 매수조건이 장시작후 하루에 한번만 거래되도록 하고 (처음 1회 진입조건이 만족하여 진입하면 두번째는 만족하더라고 진입안되도록) 2. 각 매수조건이 만족하면 현재 매수 포지션에 관계없이 추가 진입할 수 있도록 합니다 3. 청산은 각 매수조건에 따라 진입되면 각자 청산식에 의해 청산되고 손절되도록 합니다 4. 질문인데 각 매수조건은 한개의 시스템 식에서 보통(평균적으로) 몇가지가 추가 될수 있는지요? 5. 질문 : 한개의 시스템전략을 한개의 컴퓨터에만 적용할수 있는지 아니면 여러개 창을 띄워 서 여러 시스템식을 적용할수 있는지요? Var1 = Stochastic K (10,6); Var2 = Stochastic D (10,6,6); If Marketposition() == 0 Then { If Crossup ( Var1, 50 ) then Buy (“a”); If Crossup ( Var1, 60 ) then Buy (“b”); If Crossup ( Var1, 70 ) then Buy (“c”); If Crossup ( Var1, 80 ) then Buy (“d”); If Marketpositon() == 1 then { If IsEntryName(“a”) == True then { If CrossDown (Var1,50) or CrossDown (var1, 60) Then Exitlong(“aa”); } If IsEntryName(“b”) == True then { If CrossDown (Var1,60) or CrossDown (var1, 70) Then Exitlong(“bb”); } If IsEntryName(“c”) == True then { If CrossDown (Var1,70) or CrossDown (var1, 80) Then Exitlong(“cc”); } If IsEntryName(“d”) == True then { If CrossDown (Var1,70) or CrossDown (var1, 80) Then Exitlong(“dd”); } } SetStopEndOfDay(1500); 미리 감사 드립니다. 꾸벅
프로필 이미지
옵션
2012-10-31
394
글번호 56110
시스템
답변완료

4.0에서...

4.0에서 과거 3.1에서 chartform에 저장해놓은 차트폼을 불러오기를 하면 그대로 모래시계만 나오고 먹통이 되어버립니다. 버그인가요?
프로필 이미지
자마이카
2012-10-31
409
글번호 56109
시스템
답변완료

매수수량 설정관련 질문입니다

안녕하십니까? 항상 감사드립니다. 오늘의 질문은 주식의 매수 수량 단위는 단주단위로 거래되는 종목과 10주 단위로 거래되는 종목이 있습니다. 예를들어 "주문수량 = int(1000000 / C)" 해서 만약 27주가 되면 단주종목은 거래가 되지만 10주 종목은 에러가 나는데 프로그램으로 단주종목과 10주 종목을 구분해서 주문할 수 있는 방법이 있겠는지요.
프로필 이미지
최선
2012-10-31
418
글번호 56108
시스템
답변완료

수식문의

일봉 기준으로 적용시 1. if DayIndex==0 and c>O and Bids>Asks then buy ("매수"); if DayIndex==0 and c<O and Bids<Asks then sell ("매도"); 의 경우 당일 신호발생시...화살표로 예비 신호만 나온뒤 익일 장시작후 전일 종가로 매수 매입한걸로 표시가 됩니다... 2. if DayIndex==0 and c>O and Bids>Asks then buy ("매수", atmarket); if DayIndex==0 and c<O and Bids<Asks then sell ("매도",atmarket); 1번위 식에 atmarket을 추가시..신호 발생후 익일 시초가로 신호가 발생하게 됩니다.. 시뮬레이션시 1번 2번의 경우 상당한 괴리가 발생 합니다...즉 1번은 신호발생 종가로 진입이 되지만 그 신호는 익일 장시작후 전일 종가로 진입이 된것으로 표시가 되고 2번은 신호발생 익일 시초가로 진입이 됩니다... 질문1. 1번처럼 신호 발생시 당일 종가로 매수 매도가 나가게 하는 방법은 없을까요? 질문2. dayindex==0는 어떤 의미인지요?
프로필 이미지
ciao
2012-10-31
416
글번호 56107
시스템
답변완료

수식질문

매수전용 과 매도전용 2개의 시스템을 돌리려고 하는데 매수전용 오늘의 (저가+0.5)을 상향돌파하면 매수하고 1.5p 수익나면 강제청산 매도전용 오늘의 (고가-0.5)을 하향돌파하면 매도하고 1.5p 수익나면 강제청산 그런데 매수전용 이든 매도 전용이든 하나가 진입해서 강제청산이 끝나면 다른 하나는 진입을 못하도록 하고 싶은데요. 예를 들어 매수전용이 진입해서 강제청산 되면 매도전용은 작동안되고 매수전용이 진입해서 강제청산 전이면 매도전용은 진입 신호가 들어오면 매도할 수 있도록 가능 할까요?
프로필 이미지
kcg9005
2012-10-31
403
글번호 56106
시스템
답변완료

시스템식 수정부탁드립니다

항상 감사드립니다 아래시스템식에서 수식을 추가코져합니다 A.수익이 10틱이상일때 1) 현재상태가 매수이면 현재봉이 삼각가중 20이평선 하향돌파시 매수청산 2) 현재상태가 매도이면 현재봉이 삼각가중 20이평선 상향돌파시 매도청산 Inputs: Length1(200),Length2(5),Length3(20); Variables: TLen1(0),TLen2(0),TLen3(0),TRIma1(0),TRIma2(0),TRIma3(0); TLen1 = Ceiling((Length1 + 1) * 0.5); TLen2 = Ceiling((Length2 + 1) * 0.5); TLen3 = Ceiling((Length3 + 1) * 0.5); var1 = ma(ma(C, TLen1), TLen1); var2 = ma(ma(C, TLen2), TLen2); var3 = ma(ma(C, TLen3), TLen3); if C > var1 Then{ if crossup(var2,var3) Then buy(); if CrossDown(var2,var3) Then exitlong(); } if C < var1 Then{ if CrossDown(var2,var3) Then Sell(); if CrossUp(var2,var3) Then ExitShort(); } value1 = ma(ma(C, TLen3), TLen3); if MarketPosition == 1 and CrossDown(c,value1) Then exitlong(); if MarketPosition == -1 and CrossUp(c,value1) Then ExitShort();
프로필 이미지
조민철
2012-10-31
390
글번호 56105
시스템
답변완료

YT3.1 vs YT4.0

안녕하세요... YT4.0으로 업그레이드되면서 궁금한 점이 있습니다. 기존에 3.1에서 사용하던 시스템을 4.0에서 장기간 시뮬레이션으로 test해 보면 성과보고서상 손익이나 MDD 등이 다소 저조하게 나타나는데 어떤 이유인지 궁금합니다. (수수료 및 슬리피지 동일하게 적용, 수정주가 체크 해제 동일) 4.0에서 종합환경설정-->기본환경-->챠트 X축 시간표시 에서 3.1과 동일하게 '봉 시작시간 기준'으로 check한 상태로 해봐도 마찬가지 입니다. 혹시 3.1과 4.0의 주데이타 or 참조데이타에 제공되는 data가 서로 다른지요? 3.1과 동일한 결과를 얻기 위해 '설정'부분에서 추가로 변경해야 할 사항이나, check해 보아야 할 것들이 있으면 부탁드리겠습니다. 감사합니다 !!!
프로필 이미지
새로운세상
2012-10-31
539
글번호 56104
시스템
답변완료

수정요~~~

############### var : va2(0),va3(0); var : HH(0),LL(0),HH1(0),LL1(0),HH2(0),LL2(0),HH3(0),LL3(0),HH4(0),LL4(0); va2 = date - int(date/100)*100; va3 = DayOfWeek(date); if date != date[1] and va2 >= 8 and va2 <= 14 and va3 == 5 Then{//va3 /= 5 만기다음날부터 만기일까지 금요일 지정 HH = H; LL = L; HH1 = HH[1]; LL1 = LL[1]; HH2 = HH1[1]; LL2 = LL1[1]; HH3 = HH2[1]; LL3 = LL2[1]; HH4 = HH3[1]; LL4 = LL3[1]; } if H > HH Then HH = H; if L < LL Then LL = L; plot1(HH2,"1개월전 고점"); plot2(LL2,"1개월전 저점"); plot3(HH3,"2개월전 고점"); plot4(LL3,"2개월전 저점"); plot5(HH4,"3개월전 고점"); plot6(LL4,"3개월전 저점"); ################ 수고하십니다.. 위공식을 당월만 선그리기 부탁드립니다~~
프로필 이미지
공기단축
2012-10-30
417
글번호 56103
지표