커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

도와주세요 .

1. 캔들없이 이평선 만으로도 프로그램을 짤수있는지요? 가령 예를들면,차트에 캔들은 없애버리고5일이평, 20일이평가지고 골든크로스 데드크로스 될때마다 진입하는겁니다. 가능합니까? 2. 5일,20일이평가지고 골든크로스와 데드크로스를 가장 빨리 찾는 방법이 혹시 따로 있는지요>
프로필 이미지
대구어린울프
2013-04-05
235
글번호 61736
검색
답변완료

이런 시스템을 만들고 싶습니다.

지표는 대충 만들겠는데 시스템으로 만들려면 어떻게 해야할지 모르겠어서요.. 정배열 상태에서 10일선과 20일선의 이격(차이)이 7% 이상 나왔을때 10일선과 20일선의 중간값 +1%에 도달했을때 매수가 나가고 6%이상 수익이 나오면 강제청산 20일선을 이탈하면 손절하는 수식을 만들고 싶습니다..
프로필 이미지
쿠우
2013-04-05
291
글번호 61733
시스템
답변완료

질문

var1 = ma(c,360); if (stime == 143000) Then{ if C > var1 Then buy("b3",OnClose,def,10); } if MarketPosition == 1 Then exitlong("bx",atlimit,AvgEntryPrice+300); 위식에서 피라미딩을 모든 진입 설정하고 강제청산에서 수익 200원일때 청산한다고 하면 매수가 3일 동안 10,10 ,10주씩 30주 매수되었다면 처음 10주매수한 부분이 200원이익이 먼저 났다면 청산은 어떻게 되는지요? 윗부분에 설정한 청산부분에 대해서 좀 자세히 갈켜주세요
프로필 이미지
kcg9005
2013-04-05
254
글번호 61729
지표
답변완료

수식 도움 좀 부탁 드립니다

안녕하세요. 초보가 나름대로 수식을 작성하다가 아무리 해도 안되어 도움을 좀 부탁드립니다. 차트에서 음봉과 도지 양봉과 도지가 섞여 발생하는 가운데 음봉과 도지가 섞여 발생하는 구간을 음구간으로 보고 음구간의 최저점을 구하며 양봉과 도지가 섞여 발생하는 구간을 양구간으로 보고 양구간의 최고점을 구하려고 합니다. 구체적으로는 양봉이 완성되고 이어서 양봉 또는 도지가 계속되다가 음봉이 하나 생기면 양구간 완료로 보고 첫 양봉고점부터 마지막 음봉고점을 포함한 구간에서 최고점을 찾아내어 봉에 표시합니다. (첫 양봉이 나오고 나서 다음 음봉이 나오기 전까지 생기는 도지는 양봉으로 보고 고점을 찾습니다.) 음봉이 완성되고 이어서 음봉 또는 도지가 계속되다가 양봉이 하나 생기면 음구간 완료로 보고 첫 음봉저점부터 마지막 양봉저점을 포함한 구간에서 최저점을 찾아내어 봉에 표시합니다. (첫 음봉이 나오고 나서 다음 양봉이 나오기 전까지 생기는 도지는 음봉으로 보고 저점을 찾습니다.) 아래 수식은 제가 만들어 보니 그림처럼 표시는 되는데 문제는 1. 양구간에서 도지의 고점과 양구간의 끝에서 나오는 음봉의 고점이 최고점이 될 경우 2. 음구간에서 도지의 저점과 음구간의 끝에서 나오는 양봉의 저점이 최저점이 될 경우 이 두가지 경우가 표시되지 않습니다. 억지로 식을 만들어 넣으면 다른 부분이 틀어져 버립니다. 도움 좀 부탁드리며 미리 감사드립니다. var: saveHigh(0),saveLow(0),zigzag(0); if C>O Then { saveHigh=H; } If C<O Then { zigzag=saveHigh; } if C<O Then { saveLow=L; } If C>O Then { zigzag=saveLow; } If zigzag[1] != zigzag Then plot1 (zigzag);
프로필 이미지
차트연구
2013-04-05
407
글번호 61727
지표
답변완료

지표식 문의

현재가 선을 그릴때 그래프에서 그전의 현재가는 무시하고 지금 현재가로 수평선으로 나오면서 지금의 현재가가 변할대 마다 수평선이 움직이게 할수 있는 지표식 부탁 합니다,
프로필 이미지
quf
2013-04-05
267
글번호 61723
지표
답변완료

문의드립니다.

안녕하세요.. 키움에서 사용하는 지표식들입니다. 그런데 키움은 수식을 5개까지밖에 작성이 안되서 따로따로 작성해서 차트에 다 켜서 사용하는데요. 예스는 제한이 없어서 아래 지표4개를 합칠수 있다고 하더라고요. 합쳐서 변환 부탁드립니다. 지표이름 : 아르곤1 수식1: 수식1에 수식이름을 Hi로 명명하고 입력란에 Hi=Hi; if(1<2, Hi, 0) 수식2: 수식2에 수식이름을 Lo라고 명명하고 입력란에 Lo=Lo; if(1<2, Lo, 0) 수식3: 수식3에 수식이름을 Mi라고 명명하고 입력란에 Mi=(Hi+Lo)/2; if(1<2, Mi, 0) 수식4: 수식4에 수식이름을 HM이라고 명명하고 입력란에 HM=(Hi+Mi)/2; if(1<2, HM, 0) 수식5: 수식5에 수식이름을 LM이라고 명명하고 입력란에 LM=(Mi+Lo)/2; if(1<2, LM, 0) 지표값 Hi : 265.00 Lo : 255.00 ================================================================================= 지표이름 : 아르곤2 수식1: 수식1에 수식이름을 HHM으로 명명하고 입력란에 Hi=Hi; Lo=Lo; Mi=(Hi+Lo)/2; HM=(Hi+Mi)/2; LM=(Mi+Lo)/2; HHM=(Hi+HM)/2; if(1<2, HHM, 0) 수식2 : 수식2에 수식이름을 LLM이라고 명명하고 입력란에 LLM=(Lo+LM)/2; if(1<2, LLM, 0) 수식3: 수식3에 수식이름을 MHM이라고 명명하고 입력란에 MHM=(HM+Mi)/2; if(1<2, MHM, 0) 수식4 : 수식4에 수식이름을 MLH라고 명명하고 입력란에 MLH=(Mi+LM)/2; if(1<2, MLH, 0) 지표값 Hi : 265.00 Lo : 255.00 ================================================================================= 지표이름 : 아르곤3 수식1 : 수식1에 HA1이라고 명명하고 입력란에 Hi=Hi; Lo=Lo; Mi=(Hi+Lo)/2; HM=(Hi+Mi)/2; LM=(Mi+Lo)/2; HA1=Hi+(Hi-Mi)/2; if(1<2, HA1, 0) 수식2: 수식2에 HA2라고 명명하고 입력란에 HA2=HA1+(Hi-Mi)/2; if(1<2, HA2, 0) 수식3 ; 수식3에 HA05라고 명명하고 입력란에 HA05=Hi+(Hi-Mi)/4; if(1<2, HA05, 0) 4단계: 수식4에 HA15라고 명명하고 입력란에 HA15=HA1+(Hi-Mi)/4; if(1<2, HA15, 0) 지표값 Hi : 265.00 Lo : 255.00 ================================================================================= 지표이름 : 아르곤4 수식1 : 수식1에 LA1이라고 명명하고 입력란에 Hi=Hi; Lo=Lo; Mi=(Hi+Lo)/2; HM=(Hi+Mi)/2; LM=(Mi+Lo)/2; LA1=Lo-(Mi-Lo)/2; if(1<2, LA1, 0) 수식2 : 수식2에 LA2라고 명명하고 입력란에 LA2=LA1-(Mi-Lo)/2; if(1<2, LA2, 0) 3단계: 수식3에 LA05라고 명명하고 입력란에 LA05=Lo-(Mi-Lo)/4; if(1<2, LA05, 0) 4단계: 수식4에 LA15라고 명명하고 입력란에 LA15=LA1-(Mi-Lo)/4; if(1<2, LA15, 0) 지표값 Hi : 265.00 Lo : 255.00
프로필 이미지
100억의사나이
2013-04-05
453
글번호 61722
지표
답변완료

수식부탁합니다

매일 10시 시가매수식 부탁합니다 하루 한번
프로필 이미지
엉기
2013-04-05
258
글번호 61721
시스템
답변완료

질문100

안녕하세요 질문1 정규. 시작. 9시. 를. 시가 로. 정하고 시가 보다. 2p. 위에. 있으면 14시50분. 에만족시. 매도 시가보다1p. 아래. 있으면 14시50분에. 매수진행 다음날. 14시. 50. 분에. 방향결정합니다 시간 정확히 체결 필수 감사*^. 이상하게. 보고서에서는. 14시 50분. 매수. 매도. 가. 나왔는데 다음날 시가에. 체결되는것 때문에. 괘롭습니다 리스크가. 넘커서. 포기하고. 그랬어요. ㅠㅠ
프로필 이미지
회원
2013-04-05
295
글번호 61720
시스템
답변완료

수식 수정

안녕하세요 하루에 2번까지만 매수가능하게 해주세요 2시이후에는 매수 안되게 해주세요 input : 투입금액(1000000),P(5); var : 상한가(0), UpLimit(0),sum(0),cnt(0),daymav(0); var : up1(0), up2(0), up3(0), up4(0), up5(0),up6(0),entryVol(0),Xvol(0); #kospi if CodeCategory == 1 Then{ if BasePrice < 50000 Then #기준가 5만원 미만 entryVol = int(int(투입금액/C)/10)*10; Else #5만원 이상 entryVol = int(투입금액/C); } #kosdoq if CodeCategory == 2 Then entryVol = int(투입금액/C); if date >= 19981207 then { if date < 20050328 && CodeCategory() == 2 then UpLimit = (BP[0] * 1.12); Else UpLimit = (BP[0] * 1.15); if CodeCategory() == 2 then { if date >= 20030721 then { up1 = int(UpLimit/100+0.00001)*100; up2 = int(UpLimit/100+0.00001)*100; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/5+0.00001)*5; } else { up1 = int(UpLimit/1000+0.00001)*1000; up2 = int(UpLimit/500+0.00001)*500; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/10+0.00001)*10; } } Else { up1 = int(UpLimit/1000+0.00001)*1000; up2 = int(UpLimit/500+0.00001)*500; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/5+0.00001)*5; } if CodeCategory() == 1 || CodeCategory() == 2 then { If BP >= 500000 Then 상한가 = up1; Else If BP >= 100000 Then 상한가 = iff(up2>=500000, up1, up2); Else If BP >= 50000 Then 상한가 = iff(up3>=100000, up2, up3); Else If BP >= 10000 Then 상한가 = iff(up4>=50000, up3, up4); Else If BP >= 5000 Then 상한가 = iff(up5>=10000, up4, up5); Else 상한가 = iff(up6>=5000, up5, up6); } else if CodeCategory() == 8 || CodeCategory() == 9 then { // ETF 상한가 = up6; } } sum = 0; for cnt = 0 to P-1{ sum = sum+DayClose(cnt); } daymav = sum/P; if MarketPosition == 0 Then buy("매수",AtStop,상한가*0.99,entryVol); if MarketPosition == 1 Then{ #청산수량 50% 계산 if CodeCategory == 1 Then{ if BasePrice < 50000 Then #기준가 5만원 미만 Xvol = int(int(MaxContracts*0.5)/10)*10; Else #5만원 이상 Xvol = int(MaxContracts*0.5); } if CodeCategory == 2 Then Xvol = int(MaxContracts*0.5); if CurrentContracts == MaxContracts Then exitlong("매도1",AtLimit,EntryPrice*1.03,"",Xvol,1); if CurrentContracts < MaxContracts and stime == 143000 and C < daymav Then exitlong("매도2"); } SetStopLoss(1,PercentStop);
프로필 이미지
회원
2013-04-05
259
글번호 61719
시스템