커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8157
글번호 230811
답변완료
수식부탁합니다
코스피200 선물을 거래합니다.
10분봉을 기준으로하고요.
9시 10분 첫봉에 매수를 했습니다.
장대양봉입니다. 대량거래가 발생했구요.
그런데
9시 30분, 세번째 봉이죠.
단봉이며, 음봉이네요
loss cut하려고 합니다.
1. 첫봉에 매수하였는데
첫봉의 시가, 종가, 고가, 저가를 어떻게 표시하나요?
2. 첫봉의 봉의 사이즈와 세째봉의 봉 사이즈는 어떻게 비교할 수 있나요?
3. 첫봉이 장대양봉이라는 것을 앞의 일주일간의 첫 봉들의 사이즈와 비교하여
2배 이상일 때 장대양봉이라고 표현하고 싶은데 가능한가요?
4. 매수후 2번째 봉이 음봉이면서 매수 시점의 봉의 크기의 20% 이내일 때
청산하려고 합니다.
1~4번을 수식으로 부탁드립니다.
2017-12-29
243
글번호 115362
wjfwp 님에 의해서 삭제되었습니다.
2017-12-29
0
글번호 115361
답변완료
수식부탁드립니다
10분봉 당일청산용
1.첫봉에 매수
2.첫봉매수후 c값이 첫봉시가 하향돌파시 매도 (단, 12시까지)
시간함수 말고 봉갯수 관련 함수로 부탁드려요.
3.당일 매수와 매도 상관없이 한번만 거래하는 수식과
각각 매수도 1번만 매도도 1번만 거래되게 하는 수식
수식부탁드려요..
2017-12-29
232
글번호 115360
답변완료
문의드립니다.
올해 수식왕 예스스탁님 덕분에 많이 배웠습니다. 앞으로도 잘 부탁드립니다. 새해 복 많이 받으세요~~
1. 기타
#ATR포인트 청산
Input : iATR기간(3), iATR길이(0);
Var: vATR(0);
vATR = ATR(iATR기간)*iATR길이;
if MarketPosition <> 0 Then
#0포인트부터 추적해서 고점대비 vATR만큼 떨어지면 청산
SetStopTrailing(vATR, 0, PointStop,1);
기존전략에 이 청산전략 추가 시킨 건데요. 첨부파일은 기존전략에 외부변수가 1,1(ATR기간1,길이1)로 나왔을 때 청산신호입니다 화면을 보면 같은 봉에서 매수와 청산도 되고 하는 것 같은데 이거 봉가정 오류인가요? 그런데 한권으로 읽는 시스템트레이딩보면 if MarketPosition <> 0 이 식 쓰면 같은 봉에서 매수매도되는 것 막아준다고 돼 있고 진입가격이 아닌 고가로 쓰면 오류 막아준다고 돼 있는데 이렇게 해도 오류가 생기는 건가요? 오류가 생겼다면 왜 오류가 생긴건 지 설명 부탁드립니다. 이전에 설명해주신 범주(수익률 봉가정 트레일링스탑오류)에는 안 속하는 것 같아서요. 어떻게 오류를 막을 수 있나요?
2. 기타
몇가지 필터 코딩 부탁드립니다.
2-1 청산 후 일정봉 갯수 내에서는 진입금지
2-2 11시 이후에는 리버스 진입금지
3. 기타
3-1 수익거래 청산 시에는 리버스 진입 금지
3-2 손절 청산 발생시 당일 추가 진입금지
4. 기타
가격이 일정봉(외부변수) 이상이 지난 뒤 손익분기 청산지점(손익이 0이 되는 시점에 청산. 여기에는 가정한 슬리피지와 수수료를 포함시킴. 가령 200포인트 매수 진입이면 200포인트+1틱(가정 슬리피지)+(200포인트*0.002(수수료))지점을 손익분기지점이라고 가정함)에 닿으면 즉시 청산.
2018-01-02
349
글번호 115359
답변완료
부탁 드립니다,
도움 주심에 감사 드립니다.
첨부 그림의 내용을 yt로 변환이 가능한지요?
미리 감사 드립니다.
2017-12-29
306
글번호 115358
답변완료
시스템 수식 부탁드립니다.
주식은 자동매매는 처음이라 어렵네요...
자동매매를 할건데...
자동으로 종목선정하여 매수하여 매도까지..자동으로 매매하는 수식부탁좀드리겠습니다.
종목선정 조건은요..일봉기준입니다.
1. 주가범위는 전일종가기준 1천원에서 5만원 사이입니다.
2. 전일봉부터 5봉까지 거래대금이 2백억이상이 1회이상 있어야 합니다.
3. 오늘의 시가는 전일종가보다 높아야합니다.
4. 오늘 시가가 볼린저 밴드 (20,2) 상단선 이상에서 시작해야합니다.
5. 오늘 주가가 엔벨로프 (20,20) 상단에 있어야합니다.
6. 볼린저밴드 (20.2)는 엔벨로프(20.20)의 상단에 위치하여야합니다.
7. 어제 종가가 4% 이상 으로 마감하여야합니다.
8. 오늘 주가는 20일선 위에 위치하여야합니다.
이 종목선정조건을 만족하여
매수조건은 주가가 오늘 시가를 돌파할때 입니다.
1종목당 매수금액은 1백만원입니다.
청산은...
손절은 매수가 대비 3%입니다.
익절도 매수가 대비 3%입니다.
오후 3시 보유종목 일괄매도입니다.
그럼 정중히 부탁드리며...수고하십쇼!
2017-12-29
305
글번호 115357
답변완료
예스스탁 트레이더 사용문의
글을 적은것 같은데 삭제된것 같네요..
예스스탁 트레이더를 사용하면 2년전 분차트까지 다 볼수 있다고 해서 가입을 했습니다.
예스스탁 트레이더를 사용하려고 프로그램을 까니 하이투자증권, 현대증권과 연계가 되어있군요.
이 시스템을 사용하려면 계좌를 개설을 해야하는지요?
그렇다면 일반 은행에서 하이투자증권이나 현대증권으로 계좌를 개설하면
예스스탁 트레이더 프로그램을 사용할수있는건가요?
분차트 2년전것 까지도 다 볼수 있나요??
2017-12-28
325
글번호 115356
답변완료
시스템 트레이딩으로 미수 거래 가능한지 궁금합니다.
드뎌 2018년 1월부터 2일부터 시스템 트레이딩 시작합니다.
우선은 ETF로 가볍게 시작하려 하는데, 레버리지 효과가 없기 때문에 선물에 비해 기대수익률이 낮습니다. 일반 증권사에서는 미수 거래를 통해 레버리지를 높히게 되는데..
혹시 시스템 트레이딩에서도 미수거래가 가능한지 궁금합니다.
즉, 100만원 가지고 있는 계좌에서 300만원 이렇게 매수가 가능하게 구현 가능할까요?
참고로 하이투자 증권 쓰고 있고
대상 종목은 kodex 레버리지와 인버스 입니다.
2017-12-28
312
글번호 115355
답변완료
수식수정 및 검토부탁드립니다.
171228 1438 질문
수고에 감사드립니다.
늘 자문과 답변(53825-SORISE)에 감사드립니다.
다른 질문과 답변을 전부 검색해도 유사한 답변도 없어, 이렇게 직접 질문드립니다.
상황1_해외선물통화(영국파운드 6b.1)을 한투에서 15분 차트 중심 거래중입니다
상황2_이 통화선물(17년 12월 28 13:36분 현재 1. 3456포인트)을 다께시부로 매매식(첨부)로 매매하려고 쩔쩔 매고 여러 시도를 했으나 적용이 안됨
(첨부_차트 하단에 지표식명만 있고, 지표표현이 안되고,
시스탬식역시 차트 상단에 시스템명만 표시됨)
부탁사항1. 전환가격을 어떻게 설정하나요
* 다께시부로는 첨부에서처럼 300 이라는 수칙을 적용하고 있으나, 저는 해외통화선물(1.3456포인트_171228현재)의 경우)에 적용하려고 전환가격 수치을 0, 10, 300 적용해도 반응이 없음(보통 해외선물의 변동폭 10틱에서 100틱 변동이 있고, 저는 20틱 변동 또는 일봉 시가을 기준 또는 참고로 하려고 는 개념이 다른가요)
부탁사항2. 다께시브로 지표식이 화면에 표현하려면 수식의 어느 부분을 수정해야 하나요(일봉, 또는 분봉(15분봉, 30분봉, 60분동 등 )적용 하고 싶습니다)
부탁사항3. 다께시브로 시스템의 적용도 안되고 있는데 어느 부분을 수정해야 하나요 (지표식을 그대로 시스탬식으로 수정 사용하고 싶습니다)
늘 빠르고 친절한 답변에 감사드립니다...
#다께사부로 분석지표식 및 시스탬식[0.1].ysg509
#유사예제_지그재그 파동선의 예
#Input:전환틱수(12);
#Var:j(0),상승(100),하락(-100),상승틱수(0),하락틱수(0),기준고(0),기준저(0),
# 기준고Bar(0),기준저Bar(0),추세(0),ZZ(0);
#Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0),고Idx[20](0),저Idx[20](0);
#상승틱수 = PriceScale*전환틱수; 하락틱수 = -PriceScale*전환틱수;
#for j = 1 to 19 {
# 고Bar[j] = 고Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1;
# 고Idx[j] = Index - 고Bar[j]; 저Idx[j] = Index - 저Bar[j]; }
#if 기준고 <= C or 기준고 == 0 then { 기준고 = C; 기준고Bar = 0; }
#else 기준고Bar = 기준고Bar + 1;
#if 기준저 >= C or 기준저 == 0 then { 기준저 = C; 기준저Bar = 0; }
#else 기준저Bar = 기준저Bar + 1;
#if 기준고 + 하락틱수 <= C[1] and 기준고 + 하락틱수 > C then
# 추세 = 하락;
#else if 기준저 + 상승틱수 >= C[1] and 기준저 + 상승틱수 < C then
# 추세 = 상승;
#if 추세[1] == 상승 and 추세 == 하락 then {
# for j = 18 downto 1 { 고[j+1] = 고[j];
# 고Bar[j+1] = 고Bar[j]; 고Idx[j+1] = 고Idx[j]; }
## 고[1] = 기준고; 고Bar[1] = 기준고Bar;
# 고Idx[1] = Index - 고Bar[1];
# ZZ = 기준고; 기준고 = C; 기준고Bar = 0; 기준저 = C; 기준저Bar = 0; }
# if 추세[1] == 하락 and 추세 == 상승 then {
# for j = 18 downto 1 { 저[j+1] = 저[j];
# 저Bar[j+1] = 저Bar[j]; 저Idx[j+1] = 저Idx[j]; }
# 저[1] = 기준저; 저Bar[1] = 기준저Bar;
# 저Idx[1] = Index - 저Bar[1]; ZZ = 기준저;
# 기준저 = C; 기준저Bar = 0; 기준고 = C; 기준고Bar = 0; }
#if 추세 == 상승 Then var1 = 기준고;
#if 추세 == 하락 Then var2 = 기준저;
#if 추세 == 상승 and 추세 != 추세[1] Then buy("b");
#if 추세 == 하락 and 추세 != 추세[1] Then sell("s");
#f ZZ[1] != ZZ then Plot1(ZZ,"ZIGZAG"); //선그래프
#다께사브로 지표식 및 시스템식
Input: 전환가격(12); //다께사부로는 예제에서 300이라는 수치 사용
Var: j(0), 꺾은선(0), 기준고(0),기준저(0),방향(0),상승(100),하락(-100), 상승틱수(0),하락틱수(0), //상승틱수, 하락틱스 임의로 추가해봄
색깔(0),파랑(-1),빨강(1),전환(0),확인(0),확인표시(0),전환표시(0),천장(-10),바닥(10),
E(0),UB(0),E표시(0),UB표시(0), 대중소(0), 소중대(0), 대중소색깔(0), 진입(0), 청산(0);
Array : 고[10](0), 저[10](0);
상승틱수 = PriceScale*전환가격; 하락틱수 = -PriceScale*전환가격;
E표시=0; UB표시=0; 전환표시=0; 확인표시=0; 대중소=0; 소중대=0; 진입=0; 청산=0; //14줄
if 기준고 <= C or 기준고 == 0 then 기준고 = C; if 기준저 >= C or 기준저 == 0 then 기준저 = C; //17줄
if 방향 == 하락 and C[1] + 전환가격/3 <= C then E = 상승;
if 방향 == 상승 and C[1] - 전환가격/3 >= C then E = 하락;
if 방향 == 하락 and ma(V,50)/1.5 >= V then UB = 바닥;
if 방향 == 상승 and ma(V,50)*1.5 <= V then UB = 천장; //23L
#if 기준고 + 하락틱수 <= C[1] and 기준고 + 하락틱수 > C then
# 추세 = 하락;
#else if 기준저 + 상승틱수 >= C[1] and 기준저 + 상승틱수 < C then
# 추세 = 상승;
#if 추세[1] == 상승 and 추세 == 하락 then {
# for j = 18 downto 1 { 고[j+1] = 고[j];
# 고Bar[j+1] = 고Bar[j]; 고Idx[j+1] = 고Idx[j]; }
# 고[1] = 기준고; 고Bar[1] = 기준고Bar;
# 고Idx[1] = Index - 고Bar[1];
# ZZ = 기준고; 기준고 = C; 기준고Bar = 0; 기준저 = C; 기준저Bar = 0; }
#전환가격
if 기준저[1] + 전환가격 > C[1] and 기준저[1] + 전환가격 <= C THen 방향 = 상승;
if 기준고[1] - 전환가격 < C[1] and 기준고[1] - 전환가격 >= C THen 방향 = 하락; //26
if 방향[1] == 하락 and 방향 == 상승 then { for j = 8 downto 0 { 저[j+1] = 저[j]; } //31
저[0] = 기준저;
꺾은선 = 기준저; 기준저 = C; 기준고 = C; //35줄
IF E == 상승 then E표시 = 꺾은선 - 전환가격;
if UB == 바닥 then UB표시 = 꺾은선 - 2*전환가격;
E = 0; UB=0; // 40L
if 저[1] > 저[0] then 색깔 = 파랑; //42 L
if 색깔[1] != 색깔 and 고[1] < 고[0] and 저[1] > 저[0] then 확인 = 0;
if 저[1] < 저[0] then { if 저[2] >= 저[1] then 확인 = 바닥;
else 확인 = 0; } // 48 P
if 확인 == 바닥 and 확인[1] < 확인 then 확인표시 = 꺾은선 - 3*전환가격; // 49
if 색깔[1] != 색깔 then 전환 = 0; //51줄
if 저[1] < 저[0] and 고[1] < 고[0] then 전환 = 상승;
if 전환 == 상승 and 전환[1] < 전환 then 전환표시 = 꺾은선 - 4*전환가격; //54
진입 = 1; } //511쪽 55줄 추가분
if 고[1]- 저[1] > 고[0]- 저[1] and 고[0]- 저[1] > 고[0]- 저[0] then {
대중소 = 꺾은선 - 5*전환가격;
대중소색깔 = 빨강; } // 61줄
if 고[1]- 저[1] < 고[0]- 저[1] and 고[0]- 저[1] < 고[0]- 저[0] then {
소중대= 꺾은선 - 5*전환가격 ;
대중소색깔 = 파랑; } //66줄
if 방향[1] == 상승 and 방향 == 하락 then { //68줄
for j = 8 downto 0 { 고[j+1] = 고[j]; } // 511쪽 71줄
고[0] = 기준고; 꺾은선 = 기준고; 기준고 = C; 기준저 = C; //511쪽 75줄
IF E == 하락 then E표시 = 꺾은선 + 전환가격;
if UB == 천장 then UB표시 = 꺾은선+ 2*전환가격;
E = 0; UB=0; // 80L
if 고[1] < 고[0] then 색깔 = 빨강; //82줄
if 색깔[1] != 색깔 and 고[1] < 고[0] and 저[1] > 저[0] then 확인 = 0; //84줄
if 고[1] > 고[0] then { if 고[2] <= 고[1] then 확인 = 천장; else 확인 = 0; } //511p 88줄
if 확인 == 천장 and 확인[1] > 확인 then 확인표시 = 꺾은선 + 3*전환가격; //89
if 색깔[1] != 색깔 then 전환 = 0; if 고[1] > 고[0] and 저[1] > 저[0] then 전환 = 하락;
if 전환 == 하락 and 전환[1] > 전환 then 전환표시 = 꺾은선 + 4*전환가격; }
if 고[1]- 저[1] > 고[0]- 저[1] and 고[0]- 저[1] > 고[0]- 저[0] then {
대중소 = 꺾은선 + 5*전환가격;
대중소색깔 = 파랑 ; //512쪽 97줄
청산 = 1; } // 512쪽 98줄 추가분
if 고[1]- 저[1] < 고[0]- 저[1] and 고[0]- 저[1] < 고[0]- 저[0] then {
소중대= 꺾은선 + 5*전환가격 ;
대중소색깔 = 빨강; } //102줄
#시스템식
#if 고[2]- 저[1] < 고[1]- 저[1] and 고[1]- 저[1] < 고[1]- 저[0] then 청산 = 2;
#if MarketPosition() == 0 then {
#if 진입 == 1 then Buy("눌림목매수"); }
#if MarketPosition()==1 then {
#if 청산 == 1 then ExitLong("대중소");
#if 청산 == 2 then ExitLong("소중대");
#if 저[0] > C then ExitLong("손절매");
#if 고[1]> 고[0] then ExitLong("전고갱신실패"); } //511쪽 116줄. 끝
#지표식
if 꺾은선[1] != 꺾은선 then { //전체 -1수평이동 504 100줄
Plot1(꺾은선,"꺾은선",iff(색깔 == 빨강,RED ,BLUE)); //선그래프
if 확인표시 != 0 then Plot2(확인표시,"확인",BLACK); //점그래프 최대굵기,
if 전환표시 != 0 then Plot3(전환표시, "전환",BLACK); //점그래프 최대굵기,
if 전환표시 != 0 then Plot4(전환표시, "전환속",WHITE); //점그래프 중간굵기, } //504쪽104줄
if 대중소 + 소중대 != 0 then
Plot5(대중소 + 소중대 ,"대중소", iff(대중소색깔 == 빨강,RED,BLUE)); //최대굵기
if 소중대 != 0 then Plot6(소중대,"소중대",WHITE); } //점그래프 중간굵기 108줄
if E표시 != 0 then Plot7(E표시,"E표시",PINK); //점그래프,중간굵기
IF UB표시!=0 Then Plot8(UB표시,"U,B표시", MAGENTA); //점그래프,중간굵기 504쪽 111줄.End
답변을 기다립니다,, 예 감사합니다.
2017-12-28
538
글번호 115345