커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 부탁드립니다.

1.전일봉 캔들 저가 고가를 기준으로 해서 당일분봉차트에 비율이 0, 0.236 , 0.382, 0.5 0.618, 0.764, 1, 1.236, 1.382, 1.5, 1.618, 1.764. 2.0 , 2.236, 2.382, -1.236, -1.382... (위아래모두 피보나치확장비율이 표현되도록 부탁드립니다.) 2.전전일봉~전일봉캔들의 최고가 최저가를 기준으로한 1번의 지표수식 또한 부탁드립니다. 감사합니다.
프로필 이미지
운동좋아
2017-11-15
241
글번호 114223
지표
답변완료

시스템식 여쭤봅니다.

안녕하세요? 개별 종목으로 매매 할꺼구요. 종가 직전 매수 그 다음날 매도 식을 만들고 싶습니다. 조건은 1봉전 대비 거래량 10%~40% 이고 오늘 일봉의 저가 고가 변동폭이 10% 미만 이고 금일 현재가가 1봉전 종가를 넘지 않았고 금일 저가가 1봉전 (시가+종가)/2 이하로 내려가지 않았을때 종가로 매수 ( 종가매수가 어렵다면 15시19분쯤 매수;;) 매도는 +4% 이상이면 물량의 60% +10% 나머지 전량매도 +4% 이상갔다가 다시 +1%로 떨어지면 전량 매도 손절은 1봉전(매수한날) 저가 이탈시 전량매도 입니다. 종목을 매수하고 물량이 있을때는 조건에 충족해도 중복 매수가 안됬으면 합니다. 감사합니다. ps. 한번 만들어주셨는데.. 적용하니 예스랭귀지에서 틀린 문법이라고 오류가 엄청떴었습니다;
프로필 이미지
부자청년28
2017-11-15
232
글번호 114220
시스템
답변완료

해외선물(골드) 문의드립니다.

안녕하세요. 해외선물(골드) 문의드립니다. 예스글로벌을 이용중입니다. 1 아래와 같은 수식으로 차트에 적용하니 당일의 고저가를 계산하지 않고 전일봉을 계산하는것 같습니다. 만들고자 하는식은 첨부한 그림에서 빨간 사각형안의 글자처럼 당일봉에 현재까지의 고저가를 반영해서 그 진폭을 틱수로 표현하고자합니다. 2 그리고 이경우에 차트의 기준시간을 시장시간과 서울/도쿄로 할때 지표값이 영향을 받는지 궁금합니다. 감사합니다. var : tx1(0),중심(0),폭(0); 중심 = (DayHigh-DayLow)/2+DayLow; 폭 = DayHigh-DayLow; Plot1(중심); Text_Delete(tx1); tx1 = Text_New(sdate,stime,중심,NumToStr((폭*10),0));
프로필 이미지
에이텍
2017-11-15
338
글번호 114219
지표
답변완료

문의 드립니다.

안녕하세요. 입문한지 얼마안된 생초보입니다. 아래와 같이 수식을 작성해 주신것을 보다보니 Bdate,Sdate 는 어떤값인가요?. 따로 선언이 없는것을 보았을때 미리 예약된 값을 가진것 같은데 기본사용설명서로 공부하고 분석해보려니 막히는게 많네요 수고하세요. 공부하는데 도움될 팁 좀 부탁드립니다. ^^ input : 타분봉(60); var : cnt(0),S1(0),D1(0),TM(0),TF(0); Array : OO[50](0),HH[50](0),LL[50](0),CC[50](0); if Bdate != Bdate[1] Then{ S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; 이하생략
프로필 이미지
혜움
2017-11-15
236
글번호 114217
지표
답변완료

문의 드립니다.

Arrays : Period[2](0), Relative[2](0); Vars : X(0); Period[0] = 9; For X = 0 To 1 { Relative[X] = RSI(Period[X]); MessageLog("0값 %.2f",Relative[0]); MessageLog("1값 %.2f",Relative[1]); MessageLog("X값 %.2f",Relative[X]); If C < O Then Buy(); } 메세지로그를 찍어봤는데요. 결과값을 보시면, 처음 메세지는 Relative[0] 에는 52.17 값이 정상적으로 나왔구요. 두번째 메세지 Relative[1] 은 초기값이 0 이기 때문에 두번째 메세지도 정상으로 나왔습니다. 그래고 X값은 For문이 처음 0값이기 때문에 Relative[0] = 52.17 세번째도 정상이네요. 이제 문제는 For문의 X값이 0에서 1값으로 변했을때 입니다. 보시면 X값이 1로 변했을때 모든 수치가 52.17 로 나옵니다. RSI(Period[X]) 에서 X 값이 1로 변하였으로 RSI(Period[1]) 인데 Period[1] 의 초기값은 0 이므로 RSI(Period[1]) 은 0이고 Relative[1] = RSI(Period[1]); 위 구문의 결과값도 0 인데 왜 메세지로그에서는 전부 52.17 로 찍혀서 나오는 것일까요? 52.17 0 0 이렇게 나오는게 정상이 아닌가요?
프로필 이미지
무결점
2017-11-15
242
글번호 114214
시스템
답변완료

문의드립니다.

도움주시는 덕분에 도전하면서 소액으로 매매도 해보고 있습니다. 매번 감사합니다. 1. 기타 종가가 볼린저밴드 상단 돌파시 매수 이평청산 위 전략을 쓰려고 할 때 진입 이후 볼린저밴드 재돌파시 매수 이렇게 하려면 다른 진입신호 허용인가요 모든 진입신호 허용인가요? 2. 시스템 이전에 답해주신 수식 n% 오를때마다 추가 진입인데요. n%오를 때마다 추가진입하는 거를 처음 진입수량의 50% 40% 30% 20% 10% 이렇게 나누어서 수정부탁드립니다. Input : BBP(20), MultiD(1.8); Input : EVP(20), Percent(2); input : n(5); var : MAv(0),BBup(0),BBdn(0); var : center(0),UPline(0),DNline(0); MAv = ma(C,BBP); BBup = BollBandUp(BBP,MultiD); BBdn = BollBandDown(BBP,MultiD); center = ma(C, EVP); UPline = EnvelopeUp(EVP, Percent); Dnline = EnvelopeDown(EVP, Percent); if bbup-bbdn > UPline-Dnline and CrossUp(c,bbup*(1+n/100)) Then buy("b1"); if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then var1 = sdate; if sdate > var1 then buy("bb",AtStop,LatestEntryPrice(0)*(1+n/100)); if CrossDown(c,mav) Then exitlong(); } 3. 시스템 2번 수식을 처음 진입수량의 50%- 25% - 12.5% 이런 식으로 절반씩 나눠 진입할 수 있게 코딩 부탁드립니다. 이건 모든 진입 신호 허용으로 하면 되나요? 4. 시스템 진입 엔벨로프폭보다 볼린저밴드 차가 크고 볼린저밴드 상단선 가격보다 현재 가격이 n% 이상 크다면 진입 추가진입 진입 상태에서 종가가 볼린저밴드 상단선을 추가 돌파(진입 신호와 다른 돌파)했을 경우 진입 수량의 50% 만큼 추가진입. 추가진입청산 종가가 볼린저밴드 상단선 표준편차(1.5)를 하향돌파하면 추가진입분 청산. 청산 종가가 볼린저밴드 중단선을 하향돌파하면 청산 비고 추가진입은 날짜마다 한번씩만 진입함. 이익이든 손실이든 한번씩만
프로필 이미지
잡다백수
2017-11-15
231
글번호 114213
시스템
답변완료

부탁드려요

틱차트에서 전봉의 종가를 차트에 표시하게 하고 싶습니다. 감사합니다..
프로필 이미지
디엠
2017-11-15
229
글번호 114206
지표
답변완료

문의 드립니다.

Arrays : Period[2](0), Relative[2](0); Vars : X(0); Period[0] = 9; For X = 0 To 1 { Relative[X] = RSI(Period[X]); If CrossDown(Relative[X], 30) Then { Print("C:₩a11.txt","%.2f, %.2f",Relative[0],Relative[1]); Buy(); } If CrossDown(Relative[X], 30) Then { Print("C:₩a11.txt","%.2f, %.2f",Relative[0],Relative[1]); Buy(); } } For문에 대한 저의 이해가 부족해서인지 이해가 안되는 부분이 많은데요. 일단 수식을 보면 아시겠지만, 배열 Period[0] 변수에만 9값을 주었구요. Period[1] 변수에는 값을 주지 않았으므로 0값인데 Print 함수로 출력을 해보니까 보시는바와 같이 데이터가 찍어져 나옵니다. Relative[1] = RSI(Period[1]) 여기서 Period[1]은 0값인데 Relative[1] 에 RSI 값이 저장되는게 말이 되는 건가요? 그리고 또 Print 함수로 찍어낸 수치를 보면 2017-11-03 9:01:00 27.66, 50.45 2017-11-03 9:01:00 27.66, 50.45 2017-11-03 9:01:00 27.66, 27.66 2017-11-03 9:01:00 27.66, 27.66 이렇게 봉 하나에 27.66, 50.45 가 되었다가 둘의 수치가 같아집니다. 27.66, 27.66 이 부분도 잘 이해가 안갑니다. 둘은 배열변수로 각각 Relative[0] Relative[1] 의 값이 다른데 왜 둘의 값이 처음에는 달랐다가 똑같아 지는 것이죠?
프로필 이미지
무결점
2017-11-15
314
글번호 114200
시스템
답변완료

문의드립니다.

안녕하세요. 혹시 포지션 청산이후 신규진입을 특정시간 이후에 신호나오게 가능할까요? 예> 포지션 청산후 30분이 지난 시점부터 진입신호 발생 포지션 청산후 10개봉이 완성된 이후 부터 진입신호 발생 항상 친절한 답변 감사합니다. 즐거운 하루 되세요~
프로필 이미지
휴먼
2017-11-15
194
글번호 114199
사용자 함수