커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

부탁합니다.

아래수식에서 중복진입이 허용되지 않도록 하려면 어떻게 하여야 하나요? var entry,T; function Main_OnStart() { T = 0; Main.MessageLog("시작"); OrderCode = Main.GetOrderCode(SP.code); entry = 0; } function CTP_OnRiseSignal(Signal) { Main.MessageLog("신호완성/"+Signal.signalKind); if (T <= 0 && Signal.signalKind == 1) { T = 1; entry = entry+1; Main.KillTimer(2); if (entry == 1) VV = 1; else VV = 2; Main.SetTimer(1, 180000); } if (T >= 0 && Signal.signalKind == 3) { T = -1; entry = entry+1; if (entry == 1) VV = 1; else VV = 2; Main.KillTimer(1); Main.SetTimer(2, 180000); } } function Main_OnTimer(nEventID) { if (nEventID == 1 && T == 1) { Main.KillTimer(1); A1.OrderBuy(SP.code, VV, SP.Ask(5),2); Main.MessageLog("매수진입"); } if (nEventID == 2 && T == -1) { Main.KillTimer(2); A1.OrderSell(SP.code, VV, SP.Bid(5),2); Main.MessageLog("매도진입"); } }
프로필 이미지
너무조아
2016-03-21
159
글번호 96471
시스템
답변완료

문의드립니다.

작성하여 주신 수식에 항상 감사드립니다. 1분봉상 적용입니다. 1. 매수 : 30분 이내에 고가(a)와 저가(b)의 차이가 2%이상으로 하락한 경우 매수 2. 매도 : (a)와 (b)의 1/2지점만큼 상승시 매도 감사합니다.
프로필 이미지
사과쥬스
2016-03-21
152
글번호 96464
시스템
답변완료

수식문의합니다.

수식문의합니다. 문의1: 당일고가와 당일저가의 중심선을 만들고 싶습니다.신고가와 신저가가 만들어 지기전까지는 수평선이 변화지 않고 그대로 유지하는선요 색깔은 연두색으로요 문의2: 20일 이동평균선과 120일 이동평균선의 색깔이 변하게 하고싶습니다. 오를때는 빨강 내릴때는 파랑으로요 부탁드립니다.
프로필 이미지
마르시아
2016-03-21
174
글번호 96462
지표
답변완료

수식요청드립니다.

안녕하세요. 당일청산 진입식 매수, 매도 후 i증감으로 피라미딩 진입하는 수식을 진입후 다음봉 종가에 피라미딩이 진입 추가 되도록 수정 요청드립니다. ( 진입 후 i증감의 +/- 에 무관, 진입 후 다음 완성봉 종가마다 계속해서 진입방행으로 피라미딩 진입 추가) input : i증감(0.5),누적진입횟수(3),진입수량(1); if MarketPosition == 1 and Bxcond == false and MaxEntries < 누적진입횟수 Then Buy("PBB",AtStop,LatestEntryPrice(0)+i증감,진입수량); if MarketPosition == -1 and SxCond == false and MaxEntries < 누적진입횟수 Then sell("PSS",AtStop,LatestEntryPrice(0)-i증감,진입수량); 감사합니다.
프로필 이미지
dandy
2016-03-21
156
글번호 96460
시스템
답변완료

시스템 검증

밑에 리플로 달았는데 못보신것 같아서 다시 올립니다. 만들어 주신 시스템으로 시험적용 해봐도 해당사항이 되는데 안뜨네요. 예를 들어 코데즈컴바인047770 3월16일에 떠야하는데 안뜹니다. 1분봉 적용 input : N(15); Array : DM[50](0),Cond[50](false); var : 상한가(0), UpLimit(0),cnt(0),sumM(0),avgM(0); var : up1(0), up2(0), up3(0), up4(0), up5(0),up6(0),Up7(0); if date != date[1] Then{ Cond[0] = false; DM[0] = 0; for cnt = 1 to 49{ DM[cnt] = DM[cnt-1][1]; Cond[cnt] = Cond[cnt-1][1]; } } if date >= 19981207 then { if date < 20050328 && CodeCategory() == 2 then UpLimit = (BP[0] * 1.12); Else if date >= 20050328 and date < 20150615 Then UpLimit = (BP[0] * 1.15); Else UpLimit = (BP[0] * 1.30); 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; up7 = int(UpLimit/1+0.00001)*1; } 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; up7 = int(UpLimit/1+0.00001)*1; } } 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; up7 = int(UpLimit/1+0.00001)*1; } if CodeCategory() == 1 || CodeCategory() == 2 then { if sdate < 20101004 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 If BP >= 1000 Then 상한가 = iff(up5>=5000, up5, up6); Else 상한가 = iff(up6>=1000, up6, up6); } Else{ 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 If BP >= 1000 Then 상한가 = iff(up5>=5000, up5, up6); Else 상한가 = iff(up6>=1000, up6, up7); } } else if CodeCategory() == 8 || CodeCategory() == 9 then { // ETF 상한가 = up6; } } if H >= 상한가 Then cond[0] = true; DM[0] = DM[0]+M; if DM[N] > 0 Then{ sumM = 0; Condition1 = false; for cnt = 1 to N{ sumM = sumM + DM[N]; if Cond[cnt] == true Then Condition1 = false; } avgM = sumM/15; if ExitDate(1) != sdate and stime < 130000 and avgM >= 3000000000 and Condition1 == true and C > dayopen and DayVolume > DayVolume(1)*0.7 and C <= DayClose(1)*0.9 Then buy(); } if MarketPosition == 1 Then{ ExitLong("BP1",atlimit,EntryPrice*1.05); ExitLong("BP2",atlimit,EntryPrice*1.10); ExitLong("BL",atlimit,EntryPrice*0.97); } SetStopEndofday(144000); 아 그리고 90일중 상한가가 포함되어있고 최근 15일 평균 거래대금 30억 이상 종목을 검색하고 싶은데 위에 포함된 수식이 있는데 검색추가해도 잘 안되네요. 초보라 죄송합니다. 제가 잘못 추가했나본데 자세히 설명해주시면 감사합니다.
프로필 이미지
하루4%
2016-03-21
168
글번호 96459
시스템
답변완료

20,60이평의 교차지점을 점이나 선으로 표시하기

20이평과 60이평의 교차하는지점을 선이나 점으로 표시하기위해 아래와같이 작성하였습니다 여기서 점으로표시되는 점이 표현되고 다시 반대로 크로스 되면 이전에 표시되었던 선이나 점의 더이상 표현되지 않고 정지되게 하고 싶습니다 가능할까요? 자세한 질문은 그림첨부드렸습니다 답변 부탁드립니다 감사합니다 input:P1(20), p2(60); var1=ma(c,p1); var2=ma(c,p2); if crossup(var1,var2) then var3=var2; if CrossDown(var1,var2) then var4=var2; plot1(var1, "단기이평"); plot2(var2, "중기이평"); plot3(var3, "상승교차"); plot4(var4, "하락교차");
프로필 이미지
원칙지킴
2016-03-21
223
글번호 96458
지표
답변완료

문의드립니다.

좌측 m봉 우측 n봉보다 최고점일때 타주기로 지나간 50개 발생한거 현재로 가져오게 하는 수식 부탁드립니다.
프로필 이미지
이지화
2016-03-21
176
글번호 96454
지표
답변완료

수식문의입니다

첫번째 문의입니다 1). 매도조건 : 당일 09:30분 캔들이 음봉 마감일경우 매도진입 2). 매수조건 : 당일 09:30분 캔들이 양봉 마감일경우 매수진입 두번째 문의입니다 키움에서 쓰던 신호수식인데요 예스랭귀지시스템신호로 변환을 부탁합니다. 매수진입 a1=sum((h-o),n)/sum((o-l),n)*100; b1=sum((h-c),n)/sum((c-l),n)*100; crossup(a1,b1) 매도진입 : crossdown(a1,b1) n : 기간설정 n=60 입니다. 부탁드립니다..수고하세요
프로필 이미지
소강
2016-03-21
171
글번호 96448
시스템
답변완료

수식 질문입니다.

수고하십니다. 열심히 공부하는 초보의 질문입니다. 1분챠트에 30분짜리 지표와 결합 해서 매매 할수 있는지 궁금합니다. 신호(지표)는 30분봉 지표로 판단, 진입은 1분봉으로 가능할까요? 예를들어 30분 MACD가 0선을 상향 돌파시 매수진입을 한다면 30분봉이 완성 될때까지 기다린후 진입하는게 보통의 방식이나 그렇게 하지 않고, 30분봉 종가가 만들어지기전이라도(설사 종가가 0선을 돌파 못하드라도) 0선을 한순간이라도 돌파한다면 그시점의 1분봉으로 진입이 가능하는지 알고 싶습니다. 30분봉으로 매매진입식을 만들시 현재가 진입이 안되는 걸로 알고 있어서 질문드립니다. 수고하십시요.
프로필 이미지
저은아빠
2016-03-21
171
글번호 96446
지표