커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

주석요청

안녕하세요? 아래 글번호 73042번 답변주신 스크립트의 주석을 요청드립니다. 감사합니다. input : cnt(3); if MarketPosition == 0 Then Begin If O > data2(Highest(H,cnt)[1]) Then Sell("S1", AtMarket); If O < data2(Lowest(L,cnt)[1]) Then Buy("B1", AtMarket); If O > data2(Highest(C,cnt)[1]) Then Sell("S2", AtMarket); If O < data2(Highest(C,cnt)[1]) Then Buy("B2", AtMarket); End; If CrossDown(O, data2(Ma(C,5))) Or CrossDown(C, data2(Ma(C, 5))) Then ExitLong("EXB"); If CrossUp(O, data2(Ma(C,5))) Or CrossUp(C, data2(Ma(C,5))) Then ExitShort("EXS");
프로필 이미지
흰둥이아빠
2021-06-25
1131
글번호 150296
시스템

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

프로필 이미지
kh
2021-06-25
30
글번호 150295
시스템
답변완료

검토부탁드립니다

안녕하세요.....글번호73061 수식에데이타 4의시가라인이 그려져야하는데 데이타6의 시가라인으로나오네요. 검토부탁드립니다. 수고하세요...꾸벅
프로필 이미지
보인다
2021-06-25
1806
글번호 150294
지표
답변완료

종목검색

다음의 조건을 모두 만족하는 종목을 검색하는 식을 구합니다 - 일목균형표 선행지표2개중 작은것 보다 종가가 크고 - 거래량이 거래량60일이평보다 많고 - 일일 거래대금이 1000억원 이상이며 - 5일이평이 20일이평보다 작은 종목을 구하는 식을 구합니다 감사합니다 -
프로필 이미지
느림보
2021-06-25
1582
글번호 150287
검색
답변완료

73050번 Yes Global - Yes Spot 적용 잔고 수량 값이 0으로 나옵니다!

아래와 같이 수식을 바꾸고(*제외) 해도 여전히 잔고(count)는 0으로 나오네요!ㅜㅜ 포지션, 평균단가, 현재가, 종목 코드는 정상적으로 잘 나옵니다. 그러나 평가금액, 잔고 수량은 0으로 나오네요! 왜 그러는 것일까요?! YesGlobal - Yes Spot(NH선물, 해외선물 거래중)을 사용중입니다. var RF; function Main_OnStart() { var d = new Date(); var HHMMDD = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); Main.MessageLog(HHMMDD+":"+"전략 시작"); Main.MessageLog("계좌번호:"+A1.number +", 계좌명:"+A1.name); OrderCode = Main.GetOrderCode(F1.code); //F1 종목 객체에서 종목코드를 주문용 코드로 변환 Main.MessageLog("단축코드:" + F1.code + "주문용 종목코드:"+OrderCode+", 종목명:"+F1.name +" ,잔존일수:"+F1.remainDay); //잔고 정보 조회 A1.SetBalanceItem(F1.code, 0); //잔고객체를 사용하기위해 종목 설정 A1.Refresh();//가원장 새로 고침 Main.RefreshAccount(A1.number);//Main에서 A1 계좌번호로 가원장 새로 고침 RF = true; } function Main_OnUp*dateAccount(sAccntNum, sItemCode, lUp*dateID) { if (A1.number == sAccntNum && RF == true && lUp*dateID == 30000) { RF = false Bal = A1.GetTheNumberOfBalances(); //잔고 리스트 개수 반환 현재 계좌에 1종목 1개 존재 A1.SetBalanceIndex(0);//잔고 인덱스 0 설정(1종목 1수량 존재하므로) Main.MessageLog("잔고 리스트 개수:" + Bal); Main.MessageLog("잔고 code:"+A1.Balance.code); Main.MessageLog("잔고 포지션(S:1,L:2)):"+ A1.Balance.position); Main.MessageLog("잔고 count:"+ A1.Balance.count); Main.MessageLog("잔고 평균단가:"+ A1.Balance.avgUnitCost); Main.MessageLog("잔고 평가금액:"+ A1.Balance.assessedAmount); Main.MessageLog("잔고 current:"+ A1.Balance.current); } }
프로필 이미지
김상
2021-06-25
1477
글번호 150286
시스템
답변완료

변수추출

안녕하세요~ 변수 A, B, C 가 있는경우 시가보다 크면서 시가에 가장 가까운 변수 값으로 sell 하는 수식 부탁드립니다.
프로필 이미지
코퍼
2021-06-25
1579
글번호 150282
시스템
답변완료

다시한번 부탁드립니다.

안녕하세요....글번호73045 에관하여 자세한 설명감사합니다. 제가보는차트은 당일분만으로 보아서 그렇군요. 다시한번부탁드립니다.장시작 첫봉의시가라인 장종료까지요. 첫봉에서 시가라인 안나오면 두번째봉의시가라인으로해주세요. plot 1 데이타4 plot 2 데이타4 (장시작 첫봉시가라인 장종료까지그려지게요) plot 3 데이타5 plot 4 데이타6 plot 5 데이타7 plot 6 0값라인 수고하세요..꾸벅
프로필 이미지
보인다
2021-06-25
1597
글번호 150275
지표
답변완료

부탁 드립니다.

안녕하세요. 늘 친절하신 답변에 감사드립니다. 라운드 넘버(Round Numbers, 줄여서 RN이라고 하겠습니다)를 이용해서 매매하는, 아주 간단한 로직으로 된 시스템 식 부탁드리고자 합니다. 가령 S&P500 지수 선물의 경우 ((물론 아무 종목이든 상관 없습니다. 로직은 동일하니까요)), "10포인트(=40틱)((외부 변수명: 줄폭수. 즉, "Input: 줄폭수(40);" )) 간격으로 RN들에 줄들을 여러 개 친다고 가정하고, 이 줄들을, 100기간값((외부변수로 부탁드립니다. 즉 "Input: Period(100);" )) 이동평균선이 위로 돌파하면 매수, 아래로 이탈하면 매도 하는 식" 이 게 로직의 거의 다입니다. 다만 횡보 때에 하나의 라운드 넘버 줄에서 계속 오르락 내리락 하며 매수 매도를 계속해서 손실만 누적되는 상황을 회피하기 위한 필터링도 추가로 부탁드립니다. ((아래 부분은 상황을 부연설명해 드리기 위해 말만 길지, 내용=로직은 간단합니다. 양해 부탁드립니다)) 즉, 가령 현재 이미니S&P500지수선물 가격이 4258.75라고 가정할 때, 10포인트 간격 RN줄들은, 바로 위가 4260, 바로 아래가 4250이 될 것입니다. 이 때 이동평균선이 위에 있는 줄 4260((편의상 이를 "진입RN줄"이라고 부르겠습니다))을 상향돌파하면 매수를 하는데, 만일 이 때 가격이 더 올라가지 못하고 다시 내려 가서, 이동평균선이 이 진입RN줄((4260))을 다시 아래로 이탈하면 이 순간 Long Position을 청산하여, 이 것이 자연히 손절 방식이 되게 되는데, 만일 가격이 횡보상태라 이 진입RN줄을 중심으로 오르락내리락만 하면 잔 손실만 자꾸 누적되게 되므로, 하나의 진입RN줄에서는, 한 번 손절이 발생하게 되면 (즉 가령, 이평선이 4260을 돌파하여 최초 매수 진입한 후, 이평선이 이 진입RN줄을 도로 하향이탈하여 매도로 청산...), 가격이 이 진입RN줄의 "위의 줄((예: 4270))"을 상향 돌파할 때에나 매수를 하든가, 또는 이 진입RN줄의 "밑의 줄((예: 4250))"을 하향이탈할 때에만 매도로 진입하고, 그 게 아니라 맨 처음에 4260을 상향돌파하여 매수했는데, 윗줄까지 못가고 내려 와서 4260을 하향이탈하여 청산했다면, 이제 다시 더 밑으로 가지도 않고 다시 또 4260을 상향돌파할 때에는 그냥 무시하고 진입하지 않도록 하여 주시면 감사하겠습니다. 즉 하나의 진입RN줄에서 매수로 진입했다면, 그 RN줄에서는 한 번의 손절청산만 허용하고, 손절청산 이후에는 다시 그 줄을 상향돌파하더라도 진입하지 않고 무시하고, 위의 줄을 돌파할 때에나 매수진입하거나, 밑의 줄을 이탈할 때에나 매도 진입하도록 부탁드립니다. (그래서, 4260줄에서만 매수 매도 매수 매도 매수 매도 이런 식으로 반복되어 손절만 따이는 일이 생기지 않도록...) 이까지가 제가 부탁드리고 싶은 로직입니다. 이렇게 되면, 만일 상승 추세가 강하여 위의 4260을 돌파할 때 매수로 진입되었다면, 가격이 계속 상승하여 4270을 돌파하면, 이 때 시스템트레이딩 설정창에서 피라미딩 설정에서 "허용안함"이 선택되었다면, 그냥 아무 변동없이 그대로 롱포지션이 유지될 것이고, 만일 피라미딩이 허용되도록 설정했다면, 추가로 한 계약 더 매수 진입되는 식으로 전개 될 것으로 기대합니다. 단순한 상황을 가정하여, 피라미딩 허용 안 하는 것으로 설정했다면, 가격이 쭉쭉 상승하여 4280 4290 등을 계속 돌파하면, 롱포지션이 계속 유지되다가, 가령 4290 돌파 후에 4300을 돌파하지 못하고 추세가 역전되어 하락하기 시작한다면, 이평선이 4290을 도로 하향이탈할 것이고 이 때에 롱포지션이 청산되어 이익이 확보되어(Profit Taking), 일종의 추적청산 기능도 자연스레 내포될 것으로 기대를 합니다. 최초의 진입 ((4260 상향 돌파시)) 후, 다음 RN줄((4270))을 돌파하지 못하고 하락해 버린다면, 도로 4260을 이평선이 이탈할 때 롱포지션이 청산될 것이므로, "초기 Stop"도 자연스레 이루어 질 것으로 기대합니다. 이 아랫부분의 부연설명은 제 구상을 알려드려서, 코딩해 주시는 부분과, 저의 이런 예상이 상충되지 않을 것을 확인해 주십사 하는 의도가 있어서 말씀 드렸습니다. 요약하자면, RN줄들을 이평선이 돌파시 매수, 이탈시 매도. 단 진입RN줄에서는, 이평선이 그 진입RN줄 위의 RN줄을 돌파하거나 밑의 RN줄을 이탈하지 않는 한, 한 번의 진입과 한 번의 손절 청산만 허용. 위에서는 매수를 중심으로 말씀드렸지만, 당연히 대칭되게 매도도 같이 부탁드리고 싶습니다. 대단히 감사합니다.
프로필 이미지
즐겁게
2021-06-25
1487
글번호 150273
시스템
답변완료

지표 부탁드립니다

초보를 위해 늘 애써주셔서 감사합니다. 말로 설명이 어떨지 모르겠습니다. 20 이평 기준으로 말씀 드립니다. 이평이 파동을 그리며 위로 갔다가 아래로 갔다가 합니다. 이때 이평의 고점상태(캔들의 위치가 아님) 에 수평으로 줄을 긋고 색상은 적색. 이평의 아래에서 꺽어서 올라오기 직전인 저점에서 수평으로 줄을 긋고 색상은 청색. 새로운 파동이 나와서 20 이평의 고점 및 저점의 위치가 변하면 기존의 수평선은 없어지고 새로운 선으로 계속 바뀌면서 유지하였으면 합니다. 감사합니다
프로필 이미지
라몬
2021-06-25
1742
글번호 150272
지표