커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

시간별 주문

국내선물에서 매수 또는 매도 9시가 되어서 매수조건 A를 만족되면 매매를 하고 2번 연속으로 손실이 나면 매매을 중단한 후 2시 까지 매매가 중단되고 2시가 되면 매매를 다시 재개하고 싶습니다 청산 잔량이 있을때 시간에 따라 다른 청산 전략을 구현하는 수식을 부탁드립니다. 11시 이전에 잔량이 있으면 오전 이익 청산전략 A 11시 2시까지 잔량이 있으면 점심 이익 청산전략 B 2시 이후 장이 끝날 때까지 오후 이익 청산전략 C 종가청산 종가전봉이나 또는 종가전에 잔량이 있으면 청산합니다.
프로필 이미지
종호
2020-04-23
1056
글번호 138279
시스템

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

프로필 이미지
종호
2020-04-23
0
글번호 138278
시스템
답변완료

수식

안녕하세요. 하기 조건에 준한 매수/매도 각각 2가지 수식 부탁드립니다. # 20개 봉 최저가 발생 후 다음봉에서.... 1. 최저가봉의 고가돌파 매수 2. 연속 2양봉 매수 # 20개 봉 최고가 발생 후 다음봉에서.... 1. 최고가봉의 저가이탈 매도 2. 연속 2음봉 매도 항상 도움 주시니 감사 인사드립니다.
프로필 이미지
한국사람73
2020-04-23
1118
글번호 138277
시스템
답변완료

신호발생시기와 주문발생시기 일치 방법문의

신호발생시기와 주문발생시기 일치 방법문의 상기 제목과 관련하여, 다른사람이 문의한 Q&A를 뒤져봐도, Yes Language 메뉴얼을 읽어봐도 <신호발생시기=주문발생시기 > 의 방법은 없어보이네요. 제가 이해한바는 아래와 같습니다. onclose는 신호 다음봉 시가주문 atstop은 신호발생전 가격기준 주문(신호와 불일치한 주문) 그래도 " CCI 가 0선 돌파한 가격(close)이 발생한 봉에 진입(즉 신호 발생지점=매수주문)" 이라는 주문을 한다고, 할때, 아래의 물음표 부분에 어떤 수식이 들어가야 할까요? (아니면 다른 방법이라도) 완전히 일치는 못시키더라도, 비슷하게 주문낼 방법이 있을지요. 일봉 기준, 1분봉기준으로 나눠서 대답 부탁드립니다. Input : Period(9) ; Var : value(0); value = CCI(Period); If CrossUp(value, 0) Then { Buy("b",atstop, ???????); }
프로필 이미지
하운드독
2020-04-23
1258
글번호 138276
시스템
답변완료

답변식에서 궁금한게 있습니다.

아래 답변주신 식에서 stime[1] < 140000 부분은 무슨 뜻 인가요? 또 140000에 생성된 봉의 종가에 주문이 들어가게 할수는 없을까요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 급하게 수식 질문드립니다. > 안녕하세요 예스스탁입니다. var : sumi(0),sumC(0),mav(0); if bdate != bdate[1] Then { sumC = 0; sumi = 0; } if stime < 120000 then { sumC = sumC+c; sumi = sumi+1; mav = sumC/sumi; } if stime >= 140000 and stime[1] < 140000 then { if c > mav Then buy(); if c < mav Then sell(); } SetStopEndofday(153000); 즐거운 하루되세요 > 명왕 님이 쓴 글입니다. > 제목 : 급하게 수식 질문드립니다. > 1. 5분봉 차트에서 장시작 후 12:00까지의 5분봉 차트들의 종가를 구하고 그 종가의 평균을 구하는 법 2. 14:00의 5분봉 종가가 1번에서 구한 5분봉 평균값 이상이면 매수 진입, 이하면 매도진입. 3. 3:30분에 기존 포지션 청산 위 3개의 로직을 짜고 싶습니다. 1번부터 막혀서요.. 부탁드리겠습니다.
프로필 이미지
명왕
2020-04-23
1168
글번호 138275
시스템
답변완료

문의드립니다. 예스 랭귀지화

Var : Sp(0), TickSize( 0 ); TickSize = OneTick * PriceScale; // 호가 단위 SP = SignalPosition; If CrossUp(C, V1) Then Buy("매수", DEF, DEF, 2); If CrossDown(C, V2) Then Sell("매도", DEF, DEF, 2); If CurrContracts = 2 Then Begin If SP = 1 Then ExitLong("1차매수익절", atlimit, EntryPrice + (35 * TickSize), "매수", 1); If SP = -1 Then ExitShort("1차매도익절", Atlimit, entryPrice - (35 * TIckSIze), "매도", 1); End; If CurrContracts = 1 Then SetStopTrailing(32 * TickSIze * CurrContracts, 35* TIckSize * CurrContracts) Else SetStopTrailing(0, 0); // 익절 과 손절 설정 영역 Params : Profit_Target( 0 ), // 익절 ( 단위 : 틱 ) Stop_Loss( 247 ); // 손절 ( 단위 : 틱 ) SetStopProfitTarget( Profit_Target * TickSize ); SetStopLoss( Stop_Loss * TickSize ); 예스랭귀지로 변경부탁드립니다.
프로필 이미지
고르면상한가
2020-04-24
1185
글번호 138274
시스템
답변완료

부탁합니다.

당일 9시15분으로 시가 기준을 잡고 강조가 표현 되었으면 좋겠습니다. 가능 하다면 부탁합니다. 수고하세요.
프로필 이미지
뚜벅뚜벅
2020-04-23
979
글번호 138273
강조
답변완료

문의드립니다

1. 검색봉수가 10,000봉이 최대네요 그럼 그동안의 데이터로 20봉 평균 가격을 현재가가 돌파해서 0.50포인트에 터치 한 횟수와 0.50포인트를 터치못하고 실패해서 다시 20봉평균가격을 현재가가 터치한 횟수를 텍스트로 나타내고 싶습니다 2. 오전7시부터 익일 6시까지 양봉의갯수와 음봉의갯수를 알고싶습니다
프로필 이미지
처음처럼22
2020-04-23
959
글번호 138271
지표
답변완료

종목검색

마켓 프로 파일에 대한 시스템 식으로 구동하니 잘 돼는데 검색식으로 변경해서 검색을하니 검색이 안되는데 일봉 과 30분봉에서 검색 가능하도록 부탁합니다. 좋은 하루되세요 <오래전에 수식지왕이라는 분이 만든겁니다> Var:j(0),행번호(0),단위가격(0),추가행(0),알파벳(0),최대개수(0),총개수(0),봉개수(0), 추정거래량(0),cnt(0),중앙가격(0),최대행(0),중심행(0),상위개수(0), 하위개수(0),시초범위상(0),시초범위하(0),가치영역상한(0),가치영역하한(0),누적개수(0), 위꼬리상한(0),위꼬리하한(0),아래꼬리상한(0),아래꼬리하한(0); Array:가격대[500](0),거래량[500](0),개수[500](0),프로파일[500](0), 중심가격[50](0),가치영역상[50](0),가치영역하[50](0); 단위가격 = PriceScale; if DayIndex()==0 then //날짜 변경시점에 { for j = 48 downto 0 { 중심가격[j+1] = 중심가격[j]; //전일 중심가격과 가치영역상[j+1] = 가치영역상[j]; //전일 가치영역 관리 가치영역하[j+1] = 가치영역하[j]; } for 행번호 = 0 to 499 //0값으로 초기화 { 거래량[행번호] = 0; 개수[행번호] = 0; 프로파일[행번호] = 0; } 최대개수 = 0; 총개수 = 0; 시초범위상 = 0; //장 개시 후 1시간내의 가격범위 시초범위하 = 0; 가격대[0] = H + 단위가격 * 100; //100호가의 여유를 둠 for 행번호 = 0 to 498 { 가격대[행번호+1] = 가격대[행번호] - 단위가격; //가격대 배열에 가격 대입 } } if 가격대[0] <= H then //고가가 가격대 배열 이상이 되면 { 추가행 = ceiling((H-가격대[0])/단위가격) + 20; //고가에 20호가 여유를 더 두어 재설정 for 행번호 = (499 - 추가행) downto 0 { 가격대[행번호+추가행] = 가격대[행번호]; //추가행만큼 뒤로 옮긴다 거래량[행번호+추가행] = 거래량[행번호]; 개수[행번호+추가행] = 개수[행번호]; 프로파일[행번호+추가행] = 프로파일[행번호]; } 가격대[0] = 가격대[0] + 단위가격 * 추가행; //추가된 행에 가격 재설정 for 행번호 = 0 to (추가행-1) { 가격대[행번호+1] = 가격대[행번호] - 단위가격; } for 행번호 = 0 to 추가행 //추가된 행의 나머지 항목은 { 거래량[행번호] = 0; //0값으로 초기화 개수[행번호] = 0; 프로파일[행번호] = 0; } 중심행 = 중심행 + 추가행; //중심가격의 행번호도 뒤로 밀린다 } 알파벳 = DayIndex() + 1; //알파벳 대신 숫자 사용 중앙가격 = (DayHigh()+Daylow())/2; //전체가격폭의 중앙 if DayIndex() == 60/BarInterval-1 then //장 개시 후 1시간내의 가격범위 { 시초범위상 = DayHigh(); 시초범위하 = DayLow(); } cnt = 0; for 행번호 = 0 to 499 { if L <= 가격대[행번호] and 가격대[행번호] <= H then //현재 봉 가격대가 몇가격대 cnt = cnt + 1; //걸쳐져 있는지 계산 } 추정거래량 = V/cnt; //가격대별 배분할 거래량 for 행번호 = 0 to 499 { if L <= 가격대[행번호] and 가격대[행번호] <= H then { 거래량[행번호] = 거래량[행번호] + 추정거래량; 개수[행번호] = 개수[행번호] + 1; 프로파일[행번호] = 알파벳; 총개수 = 총개수 + 1; if 최대개수 < 개수[행번호] then //신규 최빈값 나왔을 때 { 최대개수 = 개수[행번호]; 중심행 = 행번호; } else if 최대개수 == 개수[행번호] then //최빈값과 동일하다면 { if 거래량[중심행] < 거래량[행번호] then //거래량 많은 가격대를 중심행 = 행번호; else if 거래량[중심행] == 거래량[행번호] and //거래량도 동일하면 abs(중앙가격-가격대[중심행]) > //전체가격폭 중앙에 abs(중앙가격-가격대[행번호]) then //가까운 가격으로 중심행 = 행번호; } } } 중심가격[0] = 가격대[중심행]; //알파벳 개수가 가장 많은 가격 가치영역상한 = 중심행; //중심가격을 중심으로 위, 아래 70% 해당하는 가치영역하한 = 중심행; //행을 찾기 위해 시작 행을 중심행으로 함 누적개수 = 개수[중심행]; //가치영역을 찾기 위해 알파벳 개수 누적 for j = 0 to 499 { var2 = 개수[가치영역상한-1]; //가치영역상한선은 1행씩 위로(-1) var3 = 개수[가치영역하한+1]; //가치영역하한선은 1행씩 아래로(+1) if var2 > var3 then //개수가 많은 쪽의 개수를 먼저 누적한다 { 누적개수 = 누적개수 + var2; 가치영역상한 = 가치영역상한 - 1; } else if var2 < var3 then { 누적개수 = 누적개수 + var3; 가치영역하한 = 가치영역하한 + 1; } else if var2 == var3 and var2 > 0 and var3 > 0 then { 누적개수 = 누적개수 + var2; 가치영역상한 = 가치영역상한 - 1; } if 누적개수 >= 총개수 * 0.7 or var2 + var3 == 0 then j = 499; } 가치영역상[0] = 가격대[가치영역상한]; 가치영역하[0] = 가격대[가치영역하한]; 상위개수 = 0; 하위개수 = 0; 위꼬리상한 = 499; 위꼬리하한 = 0; 아래꼬리상한 = 499; if 개수[499] == 1 then 아래꼬리하한 = 499; else 아래꼬리하한 = 0; for 행번호 = 0 to 중심행-1 { if 개수[행번호] > 1 then 상위개수 = 상위개수 + 개수[행번호]; if 개수[행번호] == 0 and 개수[행번호+1] == 1 then 위꼬리상한 = 행번호 + 1; if 개수[행번호] == 1 and 개수[행번호+1] > 1 and 위꼬리하한 == 0 then 위꼬리하한 = 행번호; } for 행번호 = 499 downto 중심행+1 { if 개수[행번호] > 1 then 하위개수 = 하위개수 + 개수[행번호]; if 개수[행번호] == 1 and 개수[행번호-1] > 1 and 아래꼬리상한 == 499 then 아래꼬리상한 = 행번호; if 개수[행번호] == 0 and 개수[행번호-1] == 1 then 아래꼬리하한 = 행번호 - 1; } 봉개수 = 0; //단봉, 쌍봉, 삼봉 등 패턴파악용 for 행번호 = 1 to 499 { if 개수[행번호-1] < 개수[행번호] then //개수가 올라가면 { if 봉개수 == 0 then 봉개수 = 0.3; //x.3 else if 봉개수 == 1 then 봉개수 = 1.3; else if 봉개수 == 2 then 봉개수 = 2.3; else if 봉개수 == 3 then 봉개수 = 3.3; else if 봉개수 == 4 then 봉개수 = 4.3; } if 최대개수 * 0.8 < 개수[행번호] then //꼭지에 도달하면 { if 봉개수 == 0.3 then 봉개수 = 0.7; //x.7 else if 봉개수 == 1.3 then 봉개수 = 1.7; //낮은 봉은 배제하려고 else if 봉개수 == 2.3 then 봉개수 = 2.7; //최대개수의 80% 수준으로 설정 else if 봉개수 == 3.3 then 봉개수 = 3.7; else if 봉개수 == 4.3 then 봉개수 = 4.7; } if 개수[행번호-1] > 개수[행번호] then //개수가 떨어지는데 { if 봉개수 == 0.7 then 봉개수 = 1; //꼭지 찍고 내려오는 것은 else if 봉개수 == 1.7 then 봉개수 = 2; //1.0 else if 봉개수 == 2.7 then 봉개수 = 3; else if 봉개수 == 3.7 then 봉개수 = 4; else if 봉개수 == 4.7 then 봉개수 = 5; else if 봉개수 == 0.3 then 봉개수 = 0; //꼭지 못찍고 내려오면 else if 봉개수 == 1.3 then 봉개수 = 1; //원위치 else if 봉개수 == 2.3 then 봉개수 = 2; else if 봉개수 == 3.3 then 봉개수 = 3; else if 봉개수 == 4.3 then 봉개수 = 4; } } if DayIndex() == 60/BarInterval - 1 then if 중심가격[0] < C and 최대개수 <= 4 and 시초범위상 - 3*단위가격 < C and 봉개수 == 1 then Buy(); if C[1] >= 중심가격[0] and 중심가격[0] > C then ExitLong();
프로필 이미지
sungdong
2020-04-23
1264
글번호 138270
종목검색