커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

이것저것 문의드립니다.

매번 감사합니다. 어제 답변 주신 것이 잘 이해 안 가서 멘붕에 빠졌다가 다시 마음 추스리고 해보고 있습니다. 하이투자증권에서 뵈었던 강사님은 2개월 정도면 랭귀지에도 익숙해지고 프로그램에도 익숙해질 거라고 하셨었는데, 저에게는 매우 버겁네요. 처음 코딩 배울 때의 괴로움을 다시금 느끼고 있습니다. 도움말 주신 것을 응용못해서 다시 질문드립니다. 1. 시스템 진입 시초가대비 1%(변수a) 올랐을 때 매수 청산 진입가격에서 n%(변수b) 이상 오른 뒤 n%(변수c) 떨어졌을 때 청산(setstop함수 말고 가장 리포트와 비슷한 방법으로) 2. 과거 데이터 움직임 가설이라는 제목의 링크입니다. 어제 링크해주셨는데요. 보고서도 궁금증이 풀리지 않았습니다. 가. 시가와 고가 시가와 저가의 가격폭이 같을 경우 봉 데이터의 움직임 시가 → 저가 → 고가 → 종가의 데이터 흐름으로 한다. 예) 진입신호가 다음과 같을 경우 Buy("Buy1", AtLimit, C-0.01); Sell("Sell1", AtLimit, C+0.01); 위와 같은 두개의 진입 신호가 동시에 만족하고 현재의 봉의 시가와 고가, 시가와 저가의 가격폭이 같을 경우 다음과 같은 신호 결과를 나타낸다. 고가와 저가의 움직임은 시가와 종가 사이 시간의 데이터에 대한 움직임을 알 수 있는 데이터를 가지고 있지 않으므로 알 수 없다. -> 저는 설명을 보고 틱 데이터를 다 받을 수 없는 제약때문에 시가와 고가를 알 수 없다고 이해했습니다. 그런데 위의 설명은 시가와 고가라는 게 있긴 있다는 가정 하에 설명을 하고 있는 것 아닌가요? 고가와 저가의 움직임을 알 수 없다는 말과 봉이 완성 안됐을 때 시가와 고가 데이터를 알 수 없다는 말과 동의어가 아닌가요? 헷갈립니다. ->->답변 안주셔도 됩니다. 3. 조건검색 전일 거래대금이 300억 이상인 종목 4. atstop과 atlimit에 대한 궁금증 주문함수가 이렇게 중요한 것인 지 몰랐네요. 제가 이해하는 것이 맞나해서 여쭤 봅니다. 아래 말들이 다 맞나요? 4-1 onclose와 atmarket은 30분봉으로 매매할 경우 조건이 완성된 후에 조건이 완성된 봉에 buy시그널을 입힌다. 4-2 위 두 매매법은 30분봉이 완성되지 않는 이상 실제 매매는 하지 않는다. 실제 매매는 봉이 완성되거나 다음 봉이 시작될 때 매매한다. 4-3. 만약 조금이라도 빠르게 매매를 하고 싶다면 1분봉에서 30분봉 기준을 적용한다거나 해야 한다. (답변해주신대로 이것도 계산이 아예 안되는 범위면 당연히 안되겠죠?) 4-4 atstop이나 atlimit는 조건이 나온 봉에서 바로 청산할 수 있다. 그러나 이것은 전봉과 비교하는 조건만 거는 것이 가능하다. 현재봉이 이평선을 돌파했다거나 기술적지표들이 특정값을 돌파했다고 atstop을 걸 순 없다. 5. 공부하다보니 궁금증인데요. onclose나 atmarket은 트레이딩에서 말하는 예비신호와 같은 개념이라고 보면 될까요? 처음에는 당연히 신호가 나오는 즉시 매매를 해야 머릿속에서 생각한 트레이딩 아이디어와 같을 거라고 생각했는데 예비신호(실제 매매 전에 진입을 결정하기 위해 보는 신호) 개념을 생각 안해봤었네요. --> 답변 안주셔도 됩니다. 6. 아래 답변을 보면 다 다음봉 지정가격에 진입이 이루어진다고 쓰여 있는데요. 그럼 조건 만족 시 바로 매수 혹은 매도한다는 개념은 시스템트레이딩에선 없다고 보면 되는 건가요? atmarket의 경우 조건 만족 후 다음봉 시가에 주문이 발생하게 되며 atstop의 경우도 조건 만족 후 다음봉 지정 가격에 주문이 발생하게 됩니다. 두 함수의 표현 형식은 다음과 같습니다. if 조건식 then buy("매수", atmarket); if 조건식 then buy("매수", atstop, C); 여기서 주의하실 점은 두번째 "atstop"을 이용한 식에서 만약 지정가(C)를 지정해 주지 않게 된다면 조건이 만족한 이후 다음봉에서 조건 만족봉의 종가에 주문이 나가게 됩니다. 따라서 사용자님께서 문의하신 내용은 첫번째 식의 경우는 조건 만족 후 다음봉 시가에 주문이 들어가게 되며 두번째 식의 경우는 조건 만족 후 다음봉에서 이전 봉의 종가 가격으로 주문이 들어가게 되는 것입니다. 감사합니다...
프로필 이미지
잡다백수
2017-10-17
156
글번호 113399
시스템
답변완료

과거 변수 사용 법에 대한 질문

0.1의 가중치로 변경되는 값을 위하여 다음과 같은 수식을 만들었습니다. var History(0); History = History[1]*0.9 + C*0.1; Plot1(History, "히스토리이동"); 원하는 그래프가 나오지 않고 아무것도 표시가 되지 않는데요. 어떤부분이 잘못되었는지 교정 부탁드립니다. 감사합니다.
프로필 이미지
꽃보다순대
2017-10-16
141
글번호 113396
지표
답변완료

dayclose, demark, nextbaropen에 대한 궁금증.

1. 가령 어제 장을 보고 오늘 진입하는 경우 dayclose[1], dayopen[1] 이렇게 쓸 수 있잖습니까? 그럼 오늘 장을 보고 내일 진입할 준비를 하는 경우엔 dayclose, dayopen이랑 함께 nextbaropen을 쓰면 되려나요? 2. 10분, 30분봉으로 보는 편인데 dayclose 함수 같은 경우 예스랭기지 메뉴얼에 보면, 당일값은 차트에서 계산하고 과거일의 경우는 일봉데이터에서 가지고 온다고 했습니다. 그럼, dayclose를 실거래에서 쓰는 경우 차트에서 어떻게 당일 종가의 데이터를 불러오는지 궁금합니다. 3. 위의 두가지 질문과 답을 기준으로 다음 식이 제가 구현하고자 하는 조건에 맞는건지 알고 싶습니다. Input : mid(3), long(10), macdrange(0.001); var : macdval(0); #횡보장 필터 macdval = macd(mid, long); # 전일시종가기준 demark if DayClose(1) > DayOpen(1) Then Value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/4; Else If DayClose(1) < DayOpen(1) Then Value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/4; Else Value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/4; # 당일시종가기준 demark if DayClose > DayOpen Then Value2 = (DayHigh+DayLow+DayClose+DayHigh)/4; Else If DayClose < DayOpen Then Value2 = (DayHigh+DayLow+DayClose+DayLow)/4; Else Value2 = (DayHigh+DayLow+DayClose+DayClose)/4; #진입 if macdval <= -macdrange or macdval >= macdrange then { #A조건 : 전날보다 갭상승 매수 하락시 매도 진입 if MarketPosition == 0 Then { if Value1+0.0015 <= dayopen Then buy("B",AtMarket); if Value1-0.0015 >= dayopen Then sell("s",AtMarket);} #B조건 : 오늘하루 움직임 demark 값보다 0.0015포인트 높은 경우 다음봉 시가에 매수 / 낮은 경우 매도 { if Value2+0.0015 <= NextBarOpen Then Buy("b1",AtMarket); if Value2-0.0015 >= NextBarOpen Then Sell("s1",AtMarket);} } SetStopLoss(0.005,PointStop); SetStopProfittarget(0.0075,PointStop); 청산. 그리고 제가 유로fx같은 해외시장을 주로 보는 편인데, dayopen, dayclose의 경우 자동으로 장 시작시간인 17시, 마감시간인 16시의 가격을 받아오는지 궁금합니다.
프로필 이미지
가치투자꾼
2017-10-16
181
글번호 113392
시스템

꽃보다순대 님에 의해서 삭제되었습니다.

프로필 이미지
꽃보다순대
2017-10-16
0
글번호 113381
지표
답변완료

문의 드립니다.

안녕하세요? 1번질문 손매매로 진입한 매도 포지션이 있는데, 이후 시스템 매매를 운용해서 매수 포지션이 발생한다면 손매매로 진입한 매도 포지션은 청산되고, 매수포지션만 유지 되는 건가요? ** 시스템 시작시 실계좌에는 잔고는 없으나 신호에서 포지션이 이미 매수로 잡혀 있을경우 매도 신호 발생시 설정창에는 1계약 고정인대도 2계약 매도 진입하는건 정상인가요? 2번질문 매수/ 매도 진입후 특정일자/ 시간에 청산 되도록 수식부탁드립니다. 3번질문 2번에 이어서 특정일자/ 시간에 증권사에 의해 만기일 강제 청산이 이루어진 포지션은 다음날 시스템 가동시 기존 포지션으로 진입하는 수식이 가능하시면 부탁드립니다. 감사합니다.
프로필 이미지
하늘북
2017-10-17
136
글번호 113378
시스템
답변완료

종목별 당일기준진폭

안녕하세요 오일,금종목 같은 경우는 고가에서 저가를 빼면 당일진폭을 쉽게 계산이되나 통화선물과 나스닥의 경우 계산이 어려워서 지표식 H-L= 이나 엑셀로 받아볼수있나요
프로필 이미지
주꼬보이
2017-10-16
150
글번호 113377
사용자 함수
답변완료

부탁드립니다

아래수식에서 left(3),right(3)의 의미와 과 스윙하이 수식 설명 좀 부탁드립니다 input : Left(3),right(3); var : HH(0),HL(0),LL(0),LH(0); if SwingHigh(1,H,Left,right,left+right+1) != -1 Then{ HH = H[right]; HL = lowest(L,right);
프로필 이미지
마르뚝
2017-10-16
161
글번호 113376
지표

기미토비 님에 의해서 삭제되었습니다.

프로필 이미지
기미토비
2017-10-16
12
글번호 113375
시스템
답변완료

수식 요청합니다.

매수 일봉에서 MACD 오실레이터가 적색(양봉)이어야 한다 60분봉에서 MACD 오실레이터가 적색 첫째봉 이어야 한다 30분봉에서 MACD 오실레이터가 적색 첫째봉 또는 둘째봉 이내에 매수해야 한다. 매도는 반대로.. 수고하세요.
프로필 이미지
우와우와
2017-10-16
106
글번호 113374
시스템