커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

차트에 4분할 선 긋기

안녕하세요. 틱봉에서 전일 고점과 저점을 계산해서 차트에 4분할 선을 만들고싶은데요. 어떻게 해야하는지 잘 모르겠습니다....
프로필 이미지
회원
2015-02-25
158
글번호 83414
지표
답변완료

추가검토 부탁드립니다.

빠르고 명쾌한 답변 감사드립니다. 그런데 짜주신 식으로는 매수가 생각과 다르게 구현되기에 제가 원했던 바가 온전히 전달이 안 된 것 같아 다시 한 번 부탁드리게 되었습니다. 제가 그림을 못 그려 어쩔 수 없이 글로 다시 한 번 말씀드리면 원했던 것은 1)봉들이 연속 저점을 낮추다가 최저점을 찍고 연속 저점을 높이는 일이 발생 (짜주신 식이 이 부분은 잡아내는 것 같습니다) 2)가장 높은 저점을 지닌 마지막 봉의 저점을 깨는 새로운 봉이 출현 (이 새로운 봉의 고점은 상관없고, 중요한 것은 가장 높은 저점을 지닌 마지막 봉의 저점을 깨느냐입니다.) 3)새로운 봉이 출현한 후 어제까지는, 전일의 고점을 깨는 고점을 지닌 봉이 출현하는 일도 없었고 아까 1)에서의 최저점을 깨는 저점을 지닌 봉이 출현하는 일도 없었음.(즉, 그 조건만 지켜진다면 새로운 봉이 출현한 후의 봉 갯수가 상관없고, 새로운 봉이나 2)에서의 마지막 봉보다 저점이 높아도 낮아도 상관없음. 그 어떤 봉도 생길 수 있을 것이고, 감시하는 조건은 위에서 말씀드린대로 딱 전일의 고점을 깨느냐와 최저점을 깨느냐뿐임) 4) 그러다 드디어 오늘, 오늘 이 순간까지의 고점이 어제의 고점을 깨고 올라감(오늘의 시가가 어땠는지 상관없음). 5) 위와 같은 조건이 만족되면 최초 전일의 고점 돌파시 1회만 매수진입함.(즉, 내일은 오늘의 고점을 깨도 매수진입하지 않으며, 모레 역시 내일의 고점을 깨도 매수진입하지 않음) 6) 그 후 며칠 뒤 다시 같은 조건 충족이 되면 또 1회 매수진입함(즉, 종전 매수진입분의 청산여부와 상관없이 조건 충족이 또 되면 또 1회 매수하는 것임) 좀 복잡해졌는데, 요컨대, 하락 후 저점찍고 상승하다가 조정 거친 후 재상승하면 한 계약 매수하려는 것이고, 그 청산여부와 상관없이 같은 일 또 생기면 또 한 계약 매수를 반복하려는 것입니다. 짜주신 식은 한 번의 조건 만족시 전일의 고점을 깰 때마다 계속 매수가 이루어지고, 그래서 설정창에서 피라미딩불허로 해 보면 종전 진입분이 청산이 되기 전에는 조건이 만족하여도 매수가 안 뜹니다. 그리고, 오늘 고점 돌파 이전까지 위 1)에서의 최저점을 깨는 봉이 없어야 한다는 것은 오늘의 저점만이 문제가 아니라 위 1)에서의 저점최고봉의 저점이 깨진 이후 오늘까지의 모든 봉에 해당해야 하는데(그 봉은 하나일 수도 있고 둘 일 수도 셋일 수도..있겠지요) 그 부분은 짜 주신 식에 구현된 것도 같고 아닌 것도 같고 식을 정확하게 읽을 줄 모르는 탓으로 잘 모르겠습니다. 죄송하지만 조건 부분을 다시 검토 좀 해 주십시오...감사합니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식부탁 > 안녕하세요 예스스탁입니다. var : HH(0); if L[3] < L[4] and L[4] < L[5] And L[3] < lowest(L,3) then{ Condition1 = true; var1 = L[3]; var2 = L; } if Condition1 == true and L < var1 Then Condition1 = false; if Condition1 == true Then buy("b",AtStop,H+PriceScale); if MarketPosition == 1 Then{ ExitLong("bx1",atlimit,AvgEntryPrice*1.05); ExitLong("bl1",AtStop,var1[BarsSinceEntry]); ExitLong("bl2",AtStop,DayLow(1)); if CurrentContracts > CurrentContracts[1] Then HH = H; if HH >= LatestEntryPrice*1.02 Then exitlong("bx2",AtStop,HH-(HH-LatestEntryPrice(0))*0.3); } 1) 강제청산 함수는 설정창과 수식내에서 함수(setstop~)로 지정할수 있는데 수삭안에서 함수로 강제청산을 설정하면 시스템 설정창에서는 해당 강제청산은 설정할수 없게 됩니다. 즉 수식이 우선되게 됩니다. 2) 강제청산 함수는 개별 진입별로 동작합니다. 피라미딩 진입을 해서 포지션 전체에 대한 내용으로 청산하고자 하시면 위 식과 같이 평균단가를 이용해 청산하셔야 합니다. bx1이 평균단가 기준 5% 수익시 전량청산입니다. bx2가 최종 진입후 평균단가 기준 2% 이상 수익후 30% 수익감소하면 전량청산입니다. 평균단가 기준 손절은 아래와 같습니다. 평균단가 기준 5% 손실시 청산입니다. exitlong("loss",atstop,avgentryprice*0.95); 3) 시스템은 신호가 발생하면 주문만 집행합니다. 모든 신호는 체결된 것으로 간주하고 다음신호를 연결해 가게 됩니다. 그러므로 진입이 체결되지 않은상태에서 청산신호가 발생해 체결이 되면 반대포지션을 가지게 됩니다. 예스랭귀지는 차트의 데이터를 이용해 조건을 만들어 신호를 발생하고 주문만 발생하게 되므로 미체결여부로 신호를 컨트롤 할수는 없습니다. 4) 예스랭귀지의 잔고함수는 예수금 정도의 간단한 내용만 리턴을 하므로 수량설정등에 제한적으로 사용됩니다. 또한 시뮬레이션이 되는 이전데이터가 없으므로 실시간 봉에서만 값이 제공이 됩니다. 잔고의 데이터를 사용할때 처음에 원장의 내용을 복사한 이후 가원장을 구축하고 이후 들어오는 접수응답이나 체결응답으로 가원장을 갱신해 가면서 예수금등을 계산합니다. 만약 시스템을 적용후에 다른 단말기(스마트폰이나 싸이칸과 같은 해당 증권사의 HTS)에서 따로 주문을 내시면 해당 내용은 예스트레이더로 전송이 되지 않으므로 실제 원장과 가원장의 값이 다르게 됩니다. 이때 예스트레이더의 잔고평가 화면을 한번 조회를 해주시면 가원장이 다시 원장과 동기화해서 원장의 값으로 갱신하게 하게 됩니다. 5) 선물 데이터 중에 연결선물이라는 데이터가 있습니다. 해당데이터는 주로 거래에 많이 이용하는 최근월물(3개월)만으로 데이터를 연결해서 제공되는 데이터 입니다. 근월물만 거래하신 다면 해당 데이터로 차트를 열고 시스템을 적용하시면 시스템은 차트의 데이터로 신호를 만들고 리포트상 진입이나 청산가격을 이용하므로 신호의 위치가 변경되지 않으므로 리포트상 진입청산가격도 유지가 됩니다. 즐거운 하루되세요 > 음양조파 님이 쓴 글입니다. > 제목 : 수식부탁 > 안녕하세요? 수식부탁드립니다. 매수진입조건 1) 제1기준봉 전에 연속 2개이상의 봉이 저점을 낮추어 오다 제1기준봉에서 최저점을 형성하고 그후 제1기준봉보다 저점이 높은 봉이 연속 3개 이상 있으며 (연속되어 저점을 높여간 최후의 봉을 편의상 제2기준봉이라 함) 2) 그 후 저점이 제2기준봉의 저점보다 낮은 봉이 1개 이상 형성되어 있지만 저점이 제1기준봉의 저점보다 낮은 봉은 형성된 적이없는 상태에서 4) 그후 몇번째 봉에서든 장중의 현재가가 직전봉의 고점보다 높게 형성되었을 때 현재가로 매수진입 (누적 진입 허용, 일봉이든 분봉이든 모두 적용될 수 있게 해 주세요.) 청산조건 매수한 총 포지션의 수익이 5푸로 이상이거나 매수한 총 포지션의 수익이 2푸로 이상으로 수익의 30푸로를 상실(트레일링스톱)하거나 현재가가 제1기준봉 혹은 직전일의 저점을 하향돌파하면 그 즉시 현재가로 청산 보충질문) 1) 수식으로 쓴 것과 시스템트레이딩설정창에서 설정한 것 중 어느 것이 우선합니까? 2) 시스템트레이딩설정창에서 손절 익절 트레일링스톱을 설정했을 때, 포지션 누적시에는 하나하나 포지션마다 조건충족 여부를 계산하여 청산을 하고 포지션 전체를 평균하지 않는 것 아닌가 싶습니다. 만일 그렇다면 포지션 전체의 진입가격 등을 평균하여 손절 익절 트레일링스톱을 거는 방법은 무엇인가요? 3) 수식이든 설정창이든 청산주문을 내는 경우, 주문 전에 잔고를 확인하는지 아니면 과거에 진입주문을 냈으면 그대로 체결된 것을 전제하고 청산주문을 내는지, 그리고 만일 진입주문냈지만 체결이 안 되었는데 잔고확인없이 청산주문이 실행되면 반대포지션을 하나 갖게 되는 것인지, 그리고 주문 전에 잔고를 확인하여 청산주문을 실행하도록 하는 방법은 무엇인지 궁금합니다. 4) 매뉴얼에 보면, 시스템트레이딩 잔고함수는 가원장을 이용하니 원장과 다를 수 있어서 동기화시키라고 나와 있는데, 시스템트레이딩을 자동으로 하도록 늘 걸어놓는다면 동기화는 구체적으로 언제 어떤 방법으로 시키라는 것인지요? 5) 선물은 월물별로 차트가 다른데, 만기로 인하여 월물이 바뀌면 종전에 진입과 청산의 기준으로 삼았던 각종 신호와 주문 자료 중에 앞으로의 주문에 계속 사용하여야 하는 것이 있으면 어떻게 하나요? (예를 들어, 진입가격에서 1푸로 오르면 청산하도록 한 경우, 만기로 인하여 지난월물 청산하고 새월물로 대체하면 컴퓨터는 진입가격을 달리 인식할 것이고, 기준봉에 따라 조건을 주는 경우 봉이 달라져서 연속성이 깨질 건데,어떻게 조치하나요?) 감사합니다.
프로필 이미지
음양조파
2015-02-25
245
글번호 83413
시스템
답변완료

부탁드립니다.

안녕하세요? 그날 그날 단타를 치는 것으로 매일 시가가 10일선 위에서 시작하고 시가에서 0.5푸로 오르면 그 가격에 사고(안 오르면 안 삼) 샀는데 시가에서 0.5푸로 내리거나 10일선 밑으로 떨어지면 손절하고 종가에서는 이익이든 손실이든 무조건 팔아버리는 식을 만들어 시물레이션을 해 보고 싶습니다. 실제 실행했을 때와 같은 손익 결과보고를 얻기 위하여 유의할 점이 있으면 그것도 함께 가르쳐 주십시오. 감사합니다.
프로필 이미지
음양조파
2015-02-25
120
글번호 83412
시스템
답변완료

해외선물 틱차트에서

하루에 전체 매매한 거래에서 누적수익이 50틱 이상이때 진입금지라고 코딩 할려고 합니다. 코딩 부탁 드립니다.
프로필 이미지
레사마
2015-02-25
160
글번호 83411
시스템
답변완료

시간 함수

CurrentTime 함수는 분과 초만 나오지 "시(Hour)"는 나오지 않습니다. 컴퓨터 시간으로 시,분,초 다 나오게 할 수 없을까요?? 예를 들어 컴퓨터 시간으로 2시 5분 30초를 표현할때 어떻게 코딩 해야되나요??
프로필 이미지
클릭한번
2015-02-25
147
글번호 83410
시스템

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

프로필 이미지
미송
2015-02-25
0
글번호 83409
시스템

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

프로필 이미지
미송
2015-02-25
3
글번호 83408
시스템
답변완료

이평선돌파

이평선을 현재가로 돌파시 시점에 화살표 뜨게는 못하나요? crossup은 if문에서만 작동해야 하는거 같은데 if문에서는 미완성봉은 작동이 안되는거 같습니다. 답변 부탁드리겠습니다^^
프로필 이미지
회원
2015-02-24
197
글번호 83407
시스템
답변완료

당일식

어떠한 시스템식을 (ex 오늘 25일) 기준이라볼때 일봉 차트 시작인 08시 부터적용해서 하고자 합니다. 시간(날짜) 시스템식 다음식을 오늘 시작인 08시 부터만 적용할려면(즉 당일) 어떻게 해야하나요? Input : CCILen(10), FastLen(3), SlowLen(7),period(5); Var : CCIVal(0,data1); var : ADXv(0,data2),DP(0,data2),DM(0,data2); CCIVal = data1(CCI(CCILen)); ADXv = data2(ADX(Period)); DP = data2(DiPlus(Period)); DM = data2(DiMinus(Period)); If Crossup(AverageFC(CCIVal, FastLen), AverageFC(CCIVal, SlowLen)) and DP >= DM+5 Then Buy ("b"); If Crossdown(AverageFC(CCIVal, FastLen), AverageFC(CCIVal, SlowLen)) and DM <= DP-5 Then Sell ("s");
프로필 이미지
회원
2015-02-24
116
글번호 83406
시스템