커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

6623 재질문입니다.

답변감사합니다. 아래의 식에서 시스템시뮬레이션에서 METHOD==1로 하면 고정계약수로 진입이 됩니다. 그런데 계약수를 설정하는 CONTAC에 0를 넣어도 계약수가 1로 진입이 되네요.,, 그리고 METHOD==5를 넣으면 계약수가 1로 진입됩니다. 또한 계약수를 나타내는 var1 또는 cont의 값을 별도로 0로 설정해 주어도 계약수가 1로 되는데 어떻게 수정해야 하나요? input : METHOD(1),CONTAC(0),IMONEY(2000),MAXLOS(600); input : STARTD(20000101),ANOD1(0),ANOD2(0); var : ASSETS(0),CONT(0); Var : value1(0), value2(0); ################################################################################################################ ################################################################################################################ #2.MANAGEMENT STRATEGY(초기투자금액을 기준으로 산정) #누적자산진입시 투자금액 산정 if Netprofit()<0 and MAXLOS*10000+Netprofit()*500000>0 then #손실액이 최대손실금액이하일 경우 누적투자방식,최대손실금액이상일경우 매매중단 ASSETS = IMONEY*10000; else if Netprofit()>=0 then #누적손익이 이익일경우 누적투자방식 ASSETS = IMONEY*10000+NetProfit()*500000*0.2; else ASSETS = 0; if METHOD==1 and MAXLOS*10000+Netprofit()*500000>0 then #고정계약진입 var1=CONTAC; else if METHOD==2 and MAXLOS*10000+Netprofit()*500000>0 then #고정자산진입 var1=INT(IMONEY/(C*50*0.15)); else if METHOD==3 then #누적자산진입 var1=MIN(1000,INT(ASSETS/(C*50*0.15))); else var1=0; if index<250 or sdate<STARTD or (sdate==ANOD1 or sdate==ANOD2) then CONT=0; else CONT=var1; value1 = ema(BW(20,12,5,3),12); value2 = ema(BW(20,12,5,3),26); # 매수/매도청산 if CrossUp(value1-value2,0) Then { BUY("UUUIF2",atlimit,LOWEST(C,7),CONT); Exitshort(); } # 매도/매수청산 if CrossDown(value1-value2,0) Then { SELL("UUUIF1",atlimit,HIGHEST(C,7),CONT); Exitlong(); }
프로필 이미지
회원
2007-10-23
943
글번호 13842
시스템
답변완료

지표식 문의

6442번 답변사항에서 "upvol과 downvol은 거래서에서 제공되는 데이터가 아니라 저희쪽에서 가공된 데이터입니다. 전 데이터보다 상승된 가격에 체결된 거래량을 upvol 전 데이터보다 하락된 가격에 체결된 거래량을 downvol로 제공됩니다." 라는 문구를 보고 문의 드립니다. upvol, downvol은 현재 01년도 3월 말경부터의 자료가 나타나는데요 그 이전의 값은 표현하기 불가능한지요. 가공한 데이터라면 가능할 듯한데요 기간을 더 과거까지 임의로 수정해서 볼 수 있는 지표식을 메일로 부탁드립니다. 93gban@hanmail.net
프로필 이미지
평생초보
2007-10-23
973
글번호 13841
지표
답변완료

직전영업일의 첫번째 봉의 거래량을 어떻게 표현합니까?

알려주세요. 제가 알고 싶은 것은 다음과 같습니다. 분봉차트에서 전일의 첫번째 거래량과 전일의 가장 큰 거래량을 어떻게 식으로 나타낼 수 있는지요? 알려 주시면 고맙겠읍니다.
프로필 이미지
osy5409
2007-10-22
1064
글번호 13840
시스템
답변완료

한가지 더요

프로그램 도움말 보면 "close of n day"라는 설명이 나오는데 실제로 프로그램에 적용하면 문법에러가 나오더라구요?
프로필 이미지
분홍돌고래
2007-10-22
1236
글번호 13839
시스템
답변완료

3.1버전 사용문의

기존의 시스템식을 3.1버전에서 사용하니 아래와 같은 표시가 뜨고 신호가 나오지 않습니다. 무엇을 어떻게 고치면 신호가 나올까요 1.연산자 앞뒤의 두 데이터형태가 같아야 한다 2. 선언되지 않은 predayclose가 있다. 3.1버전 변경사항을 일어보아도 어떻게 고쳐야 한다는 설명은 없습니다. 수식에 밝지 못하므로 좀 구체적으로 설명해주셨으면 고맙겠습니다.
프로필 이미지
pigrett
2007-10-22
1280
글번호 13838
시스템
답변완료

단순질문입니다.

30분 차트를 띄워놓고 30분봉 양봉이면 매수, 음봉이면 매도를 하려는데 1. 30분차트에서 양봉이고 10분차트에서 mcad가 signal위면 매수진입 2. 30분 차트에서 음봉발생 10분차트에서 macd가 signal 아래면 매도진입 어떻게 표현하는지요?
프로필 이미지
분홍돌고래
2007-10-22
1080
글번호 13837
시스템
답변완료

일정시간에만 조건부여

var : ForceIndex(0),period(0); ForceIndex = EMA(dayvolume()*(dayclose()-dayclose()[1]), period); if crossup(C,ma(C,5)) and ForceIndex >0 then buy("매수"); ################################################################### 위식에서 ForceIndex지표가 아침 9시에서 9시30분사이에 10 이하일경우에만 그날 매수신호를 발생시키고 싶습니다. 즉 ForceIndex지표가 아침 30분간만 10 이하를 유지할경우 당일 매수신호를 발생시키고 아침 30분간 10 이하가 안될경우 그날은 매매를 하지않는걸로 하고싶습니다.. if Forceindex < 10 and stime > 090000 and stime < 093000 then var1 =C; 이런식으로 하는것같은데.....^^;; 부탁드립니다. 좋은하루 되세요
프로필 이미지
봉다리
2007-10-22
1062
글번호 13836
시스템

느림 님에 의해서 삭제되었습니다.

프로필 이미지
느림
2007-10-22
480
글번호 13835
시스템
답변완료

질문입니다.

아래의 수식은 선물매매를 위한 자산관리관련 수식을 테스트하기 위해 작성하였습니다. 자산관리의 수식이 적용되지 않습니다. 수정부탁드립니다. (3.0버전에서는 적용이 잘되었는데... 3.1에서는 계약수를 나타내는 cont의 값이 활성화되지 않네요) #IMONEY와 MAXLOS의 값은 만원 단위 입니다. input : METHOD(1),CONTAC(10),IMONEY(2000),MAXLOS(600); input : STARTD(20000101),ANOD1(0),ANOD2(0); var : ASSETS(0),CONT(0); Var : value1(0), value2(0); ################################################################################## #2.MANAGEMENT STRATEGY(초기투자금액을 기준으로 산정) #누적자산진입시 투자금액 산정 if Netprofit()<0 and MAXLOS*10000+Netprofit()*500000>0 then #손실액이 최대손실금액이하일 경우 누적투자방식,최대손실금액이상일경우 매매중단 ASSETS = IMONEY*10000; else if Netprofit()>=0 then #누적손익이 이익일경우 누적투자방식 ASSETS = IMONEY*10000+NetProfit()*500000*0.2; else ASSETS = 0; if METHOD==1 and MAXLOS*10000+Netprofit()*500000>0 then #고정계약진입 var1=CONTAC; else if METHOD==2 and MAXLOS*10000+Netprofit()*500000>0 then #고정자산진입 var1=INT(IMONEY/(C*50*0.15)); else if METHOD==3 then #누적자산진입 var1=MIN(1000,INT(ASSETS/(C*50*0.15))); else var1=0; if index<250 or sdate<STARTD or (sdate==ANOD1 or sdate==ANOD2) then CONT==0; else CONT==var1; value1 = ema(BW(20,12,5,3),12); value2 = ema(BW(20,12,5,3),26); # 매수/매도청산 if CrossUp(value1-value2,0) Then { BUY("UUUIF2",atlimit,LOWEST(C,7),CONT); Exitshort(); } # 매도/매수청산 if CrossDown(value1-value2,0) Then { SELL("UUUIF1",atlimit,HIGHEST(C,7),CONT); Exitlong(); }
프로필 이미지
회원
2007-10-20
1002
글번호 13831
시스템