커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

현671 님에 의해서 삭제되었습니다.

프로필 이미지
현671
2014-05-17
0
글번호 75157
지표

뽄때 님에 의해서 삭제되었습니다.

프로필 이미지
뽄때
2014-05-17
0
글번호 75156
시스템
답변완료

수식 변경 부탁드립니다

지난번에 타분봉 즉 60분봉을 참조해서 매매할 수 있도록 수식을 수정해주셔서 잘 사용하고 있습니다. 또 한 번 부탁드리고 싶은것은 아래의 식에서 일봉의 스톡케스틱도 참조를 하고 싶습니다. 즉 매수조건에서 일봉의 %k가 %D보다 클때(%K > %D)매수하는 조건을 추가하고 싶은데요...(매매하는 기준 봉은 7분봉이며, 지난번에 60분봉의 %K값이 60이상일때 매수하도록 수정해 주셨음) 일봉이 360분봉이니까 360분봉을 참조하도록 하면 되지 않을까 생각이 드는데요.. 수식좀 부탁드립니다 ==================================================================================== Input : Period(25), Period1(6), Period2(6), MAP(5),투입금액1(1100000),투입금액2(2100000); input : Atime(60),StoPeriod(25), StoPeriod1(6), StoPeriod2(6);//타분봉(Atime) 스토케스틱 var : StoK(0),StoD(0),vol1(0),vol2(0),mav(0),SH(0),cross(0),Dncnt(0); Var : Lvalue(0), Hvalue(0),FK(0),BuySetup(true),ExitSetup1(false),ExitSetup2(false); var : cnt(0),TF(0),Hvalue1(0), Lvalue1(0),sum1(0),sum2(0); Array : HH[50](0),LL[50](0),FK1[50](0),SK1[50](0),SD1[50](0); #kospi if CodeCategory == 1 Then{ if BasePrice < 50000 Then{ vol1 = int(int(투입금액1/C)/10)*10; vol2 = int(int(투입금액2/C)/10)*10; } Else{ vol1 = int(투입금액1/C); vol2 = int(투입금액2/C); } } #kosdoq if CodeCategory == 2 Then{ vol1 = int(투입금액1/C); vol2 = int(투입금액2/C); } #option if CodeCategory == 6 or CodeCategory == 8 Then{ vol1 = int((투입금액1)/(C*BigPointValue)); vol2 = int((투입금액2)/(C*BigPointValue)); } Lvalue = Lowest(L, Period); Hvalue = Highest(H, Period); #차트의 스토케스틱 FK = (Close - Lvalue) / (Hvalue - Lvalue) * 100; StoK = ma(FK,Period1); StoD = ma(StoK,Period2); mav = ma(C,MAP); #타분봉 스토케스틱 TF = TimeToMinutes(stime)%Atime; if dayindex == 0 or (TF < TF[1] and stime > stime[1]) Then{ HH[0] = H; LL[0] = L; for cnt = 1 to 49{ HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; FK1[cnt] = FK1[cnt-1][1]; SK1[cnt] = SK1[cnt-1][1]; SD1[cnt] = SD1[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; if HH[StoPeriod] > 0 Then{ Hvalue1 = HH[0]; Lvalue1 = LL[0]; for cnt = 0 to StoPeriod-1 { if HH[cnt] > Hvalue1 then Hvalue1 = HH[cnt]; if LL[cnt] < Lvalue1 then Lvalue1 = LL[cnt]; } FK1[0] = (C-Lvalue1)/(Hvalue1-Lvalue1)*100; } if FK1[StoPeriod1] > 0 Then{ sum1 = 0; for cnt = 0 to StoPeriod1-1{ sum1 = sum1+FK1[cnt]; } SK1[0] = sum1/StoPeriod1; } if SK1[StoPeriod2] > 0 Then{ sum2 = 0; for cnt = 0 to StoPeriod2-1{ sum2 = sum2+SK1[cnt]; } SD1[0] = sum2/StoPeriod2; } #%k가 25을 하향돌파하면 BuySetup은 true if BuySetup == false and CrossDown(stok,25) Then{ BuySetup = true; } #%k가 60이상 상승하면 BuySetup은 false if Stok >= 60 Then BuySetup = false; #날짜와 시간 설정 if sdate > 20140228 and stime > 090000 Then Condition1 = true; #BuySetup이 true일때 if BuySetup == true Then{ if Condition1 == true and crossup(stok,stod) and stok[1] < stod[1] and MarketPosition == 0 and SK1[0] > 60 Then buy("매수",OnClose,def,vol1); }
프로필 이미지
뽄때
2014-05-17
157
글번호 75155
시스템
답변완료

수식 문의 드립니다.

선물 3분봉에서 선물 5분봉을 끌어와 쓸수있는 방법은 없는지요? ...
프로필 이미지
황하문명
2014-05-17
137
글번호 75154
시스템

시골소년 님에 의해서 삭제되었습니다.

프로필 이미지
시골소년
2014-05-17
0
글번호 75153
시스템
답변완료

문의 드립니다.

1. 장시작시 1p이상 갭하락할때 9시 매도진입 2. 1p 이상 갭하락하여 장지작하고 1번봉의 시가와 종가가 0.7p 이상 양봉 발생시 2번봉의 시가에 매수진입 3. 2p 이상 손실시 현재포지션이 매수면 매도진입, 매도면 매수진입 항상 감사합니다~
프로필 이미지
시골소년
2014-05-17
143
글번호 75152
시스템
답변완료

질문

IF MarketPosition == 0 and L > Value1 Then buy("매수1",atlimit, Value1); #진입명이 매수1일때 청산 if MarketPosition == 1 and IsEntryName("매수1") == true Then exitlong("청산1",atlimit,Value2); #직전거래 진입명이 매수1일때 value3으로 매수 IF MarketPosition == 0 and L > Value3 and IsEntryName("매수1",1) == True Then buy("매수2",atlimit, Value3); #진입명이 매수2일때 청산 if MarketPosition == 1 and IsEntryName("매수2") == true Then exitlong("청산2",atlimit,Value4); #직전거래 진입명이 매수2일때 value5로 매수 IF MarketPosition == 0 and L > Value5 and IsEntryName("매수2",1) == True Then buy("매수3",atlimit, Value5); #진입명이 매수3일때 청산 if MarketPosition == 1 and IsEntryName("매수3") == true Then exitlong("청산3",atlimit,Value6); 매도 수식 전환 할까 합니다 ..
프로필 이미지
TD용두목
2014-05-17
170
글번호 75151
시스템
답변완료

재질문드립니다.

EXITLONG("청산",atlimit,Entryprice,"",INT((CurrentContracts-MaxContracts*0.5)*0.1)*10,1); } 이라는 피라미딩 수식에서 현재보유잔고가 최대보유잔고의 50%이하이면 수량값이 -가 되어 수식에 CurrentContracts>MaxContracts*0.5 식을 넣지 않아도 주문이 나가지 않는게 맞는지요? 그렇지 않다면 수정부탁드립니다.
프로필 이미지
회원
2014-05-16
138
글번호 75150
시스템
답변완료

수식 부탁드립니다.

아래의 조건에 부합하는 수식 작성을 부탁드립니다. 단기 및 장기 이평선 P1,P2 에서 var1 = ma(c,p1) var2 = ma(c,p2) 이면 crossup(var1,var2) 의 값을 U, 이전의 crossup(var1,var2) 값을 U[1] 이라하고, crossdown(var1,var2) 의 값을 D, 이전의 crossdown(var1,var2) 값을 D[1] 이라면 1) 포지션진입 a) 매수진입 현재 매수포지션이 아니고 U > = U[1] 이면 매수진입 b) 매도진입 현재 매도포지션이 아니고 D < = D[1] 이면 매도진입 2) 포지션 청산 a) 매수청산 현재의 포지션이 매수포지션 이라면, D > D[1]로 매수청산매도진입에 실패 후 현재의 매수포지션에 진입 한 U 값을 하향 이탈 하면 매수청산. b) 매도청산 현재의 포지션이 매도포지션 이라면, U < U[1] 로 매도청산매수진입에 실패 후 현재의 매도포지션에 진입 한 D 값을 상향 돌파하면 매도청산.
프로필 이미지
너무조아
2014-05-17
170
글번호 75149
시스템