커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

월봉기준청산

어떤 시스템을 진입했는데, 월봉마지막날종가에 청산하는 시스템수식은 어떻게 구현해야 하나요?
프로필 이미지
만복이
2020-01-14
196
글번호 135151
시스템

회원 님에 의해서 삭제되었습니다.

프로필 이미지
회원
2020-01-14
20
글번호 135149
지표
답변완료

부탁드립니다~

A=EnvelopeUp(Period,Percent); B=Valuewhen(1,V>V(1)*Multiple and c>=c(1)*(1+퍼센트/100) and c!=o,if(c>o,o,0)); CrossDown(B,A) Period - 40 Percent - 2 Multiple - 2 퍼센트 - 5 키움수식을 예스로 종목검색 할 수 있도록 부탁드립니다.
프로필 이미지
스리핏업
2020-01-14
191
글번호 135148
종목검색
답변완료

문의드립니다.

장중 종목검색시 종목검색 시점의 당일 과 전일 시가, 종가, 고가, 저가 를 따로 저장하거나 확인하는 방법이 있나요?
프로필 이미지
순두부남
2020-01-14
173
글번호 135147
종목검색
답변완료

문의드립니다~

수식 1 / 수식 이름 A V1=HIGHEST(H(1),P29); V2=LOWEST(L(1),P29); (C-V2)/(V1-V2) 1. A가 0.51 상향 돌파 시 매수, 하향 돌파 시 매도 당일 익절 21틱( 수익청산 - 손절청산 - 매매수수료(왕복10불)) 조건 미달 시 새벽 5시 매매종료 당일수익청산 시간 기준은 오후 3시부터 새벽5시까지 2. A가 1.01 하향 돌파 시 매도, A가 1.01 하향 돌파 후 0.01 을 하향 돌파하지 못하고 다시 1.01을 상향 돌파시 매수 스위칭 A가 0.01 상향 돌파 시 매수, A가 0.01 상향 돌파 후1.01을 상향 돌파하지 못하고 다시 0.01을 하향 돌파 시 매도 스위칭 당일 익절 21틱( 수익청산 - 손절청산 - 매매수수료(왕복10불)) 조건 미달 시 새벽 5시 매매종료 1.01 하향 돌파 매도 진입 후 미청산 시 0.01 하향 돌파는 진입 금지 0.01 상향 돌파 매수 진입 후 미청산 시 1.01 상향 돌파는 진입 금지 당일수익청산 시간 기준은 오후 3시부터 새벽5시까지 시스템 수식과 지표수식 같이 부탁드립니다~ 지표수식에 1.01, 0.51, 0.01 선이 나올 수 있게 부탁드립니다~ 감사합니다^^
프로필 이미지
사즉생
2020-01-15
183
글번호 135146
시스템
답변완료

문의

당일 고가갱신 n회 당일 저가갱신 n회 수식 내용도 반영바랍니다. ******************************************************************** 안녕하세요 예스스탁입니다. if MarketPosition == 0 and #현재 무포지션이고 DayHigh(0) != DayHigh(0)[1] Then buy("b2"); if MarketPosition == 0 and #현재 무포지션이고 DayLow(0) != DayLow(0)[1] then sell("s2"); 즐거운 하루되세요 > 좌오비우오비 님이 쓴 글입니다. > 제목 : 문의 > 청산이후라는 조건만 삭제하고 싶습니다. 즉, 무포지션일 때 당일고가나 저가갱신 시 진입하는 수식입니다. ******************************************************************************* if MarketPosition == 0 and #현재 무포지션이고 countif(DayHigh(0) != DayHigh(0)[1],BarsSinceExit(1)) >= 고가갱신수 Then #청산이후 당일고가 갱신이 n회이상 있었으면 buy("b2"); if MarketPosition == 0 and #현재 무포지션이고 countif(DayLow(0) != DayLow(0)[1],BarsSinceExit(1)) >= 저가갱신수 Then #청산이후 당일저가 갱신이 n회이상 있었으면 sell("s2");
프로필 이미지
좌오비우오비
2020-01-15
175
글번호 135145
시스템
답변완료

65622 재문의 답변 부탁드립니다.

.
프로필 이미지
land22
2020-01-14
171
글번호 135141
종목검색
답변완료

수정문의 드립니다~

Input : 당일수익틱수(21),당일손실틱수(100); input : t5(5),p13(13),p5(5); var : j(0),n(0),d(0),kt(0),kts(0); Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false); 당일수익 = PriceScale*당일수익틱수; 당일손실 = PriceScale*당일손실틱수; if sdate != sdate[1] Then SetStopEndofday(050000); if Bdate != Bdate[1] Then { SetStopEndofday(0); Xcond = false; N1 = NetProfit; } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then { if daypl >= 당일수익 or daypl <= -당일손실 Then Xcond = true; if (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then Xcond = true; } j = c-c[t5]; n = ema(ema(j,p13),p5); d = ema(ema(abs(j),p13),p5); kt = 100*n/d; kts = ema(kt,6); if Xcond == false and crossup(kt,60) Then buy(); if Xcond == false and crossup(kt,-60) Then buy(); if Xcond == false and CrossDown(kt,60) Then sell(); if Xcond == false and CrossDown(kt,-60) Then sell(); if MarketPosition == 1 then{ ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts)); } if MarketPosition == -1 then{ ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts)); } hts 접속하고 전략실행 후 첫 신호 진입 이후부터 조건이 성립되게 수식을 수정할 수 있을까요? 그리고 +60 하향 돌파 시 매도 진입하고 물량이 청산 안되었을 때 -60을 다시 하향 돌파하니 추가로 물량이 매도가 되는데 물량 보유시 추가 매도 되지 않게, 반대로도 -60 상향 돌파 시 매수 진입하고 물량이 청산 안되었을 때 +60을 다시 상향 돌파하면 추가로 매수 되지 않게 수정 부탁드립니다~ 그리고 전략실행 시작하고 첫 신호나오면 매매수량을 1개로 했는데 2개씩 진입이돼서 스위칭때 자동으로 물량 청산되버는데.. 첫 신호에 1계약만 들어가게 하려면 피라미딩 설정할 때 진입 신호로 설정을 했다가 진입하고 나서 모든신호 진입으로 변경을 해야하나요? 첫 진입 때 1계약만 들어갈 수 있게 알려주세요 감사합니다.
프로필 이미지
사즉생
2020-01-14
202
글번호 135140
시스템
답변완료

함수요청

안녕하세요? 아래 글번호 65633번 재질문입니다. 작성주신 스크립트를 한투에 적용해보면 HSIF20 3분봉상 1월 13일 10:24분봉의 저가가 볼린저밴드 상단 위에 위치하였으나 매도신호가 생성되지 않습니다. =================================================================================== 항셍지수선물 3분봉으로 거래를 하고자 하는데 T장(10:15~17:30)에서만 생성하고자 합니다. 해당봉의 저가가 볼린저밴드 상단 위에 위치해 있으면 익봉 시가 매도 해당봉의 고가가 볼린저밴드 하단 아래에 위치해 있으면 익봉 시가 매수 진입 후 종가가 볼린저밴드 중심선(20ma)을 크로스하면 익봉 시가에 청산 진입 기준으로 매매횟수가 최대 2회까지이며 17시에 시간청산하고자 합니다. input : BBP(20),dv(2),매매횟수(2); var : mav(0),bbup(0),BBdn(0),BBmd(0),entry(0); BBmd = ma(C,BBP); BBup = BollBandUp(BBP,dv); BBdn = BollBandDown(BBP,dv); if (sdate != sdate[1] and stime >= 101500) or (sdate != sdate[1] and stime >= 101500 and stime[1] < 101500) Then entry = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; if stime >= 101500 and stime < 170000 then { if entry < 매매횟수 and L > bbup Then sell("s",AtMarket); if entry < 매매횟수 and H < bbdn Then buy("b",AtMarket); if MarketPosition == 1 and Crossup(C,bbmd) Then ExitLong("bx",AtMarket); if MarketPosition == -1 and Crossdown(C,bbmd) Then ExitShort("sx",AtMarket); } SetStopEndofday(170000);
프로필 이미지
흰둥이아빠
2020-01-14
184
글번호 135137
시스템