커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

부탁드립니다

1. 당일 기본차트 콜의 현재가가 보조차트 풋의 최고가보다 더 높은 가격에 올라 있다가 풋의 최고가보다 낮아지면 파란색으로, 그 다음 풋의 최고가보다 높아지면 빨강색으로 구현해 주세요 2. 당일 기본차트 콜의 현재가가 보조차트 풋의 최고가보다 아래 가격에 있다가 풋의 최고가보다 높아지먼 빨강색으로, 그 다음 풋의 최저가보다 낮아지면 파란색으로 구현해 주세요 고맙습니다.
프로필 이미지
서태공
2023-08-09
1012
글번호 171362
강조
답변완료

당일 분봉 첫봉의 데이타를 수평선으로 표시

안녕하세요? 항상 감사드립니다. 당일 10분봉에서 당일 10분봉 첫봉의 시가, 당일 10분봉 첫봉의 종가, 전일의 종가를 분봉차트상에서 ------------------------- 이런 형식으로 나타나게 하고 싶은데 어떻게 해야하는지 수식 좀 부탁드리겠습니다~
프로필 이미지
월척
2023-08-09
1131
글번호 171360
지표
답변완료

지정한 시간까지 선을 그리고 싶습니다.

항상 도움에 감사드립니다. 아래와 같은 코드를 실행하면 첨부파일1과같은 선이 그어지는데요. 선은 ntime 부터 그날 장이 끝나는 시간까지 그어지는데요. input : ntime(210000), line_num(8), size_tick(16); var : Tcond(False), oo(0), k(0); array : up_line[20](0), dn_line[20](0), uptext[20](0), dntext[20](0); array : up_touch[20](0), dn_touch[20](0), up_T[20](0), dn_T[20](0), up_TL[50](0), dn_TL[50](0); oo = o; if Bdate != Bdate[1] Then Tcond = False; if (sdate != sdate[1] and stime >= ntime) or (sdate == sdate[1] and stime >= ntime and stime[1] < ntime) Then { Tcond = true; For k = 1 to line_num { up_T[k] = 0; dn_T[k] = 0; up_line[k] = oo + PriceScale*size_tick*k; dn_line[k] = oo - PriceScale*size_tick*k; up_touch[k] = 0; dn_touch[k] = 0; up_TL[k] = TL_New(sDate,sTime,up_line[k],NextBarSdate,NextBarStime,up_line[k]); // 선긋기 dn_TL[k] = TL_New(sDate,sTime,dn_line[k],NextBarSdate,NextBarStime,dn_line[k]); // 선긋기 if H >= up_line[k] Then { up_T[k] = k; up_touch[k] = up_touch[k] + 1; } if L <= dn_line[k] Then { dn_T[k] = -k; dn_touch[k] = dn_touch[k] + 1; } uptext[k] = Text_New(NextBarSdate,NextBarStime,up_line[k],NumToStr(up_touch[k],0)); dntext[k] = Text_New(NextBarSdate,NextBarStime,dn_line[k],NumToStr(dn_touch[k],0)); } } Else { if Tcond == true Then { For k = 1 to line_num { TL_SetEnd(up_TL[k],NextBarSdate,NextBarStime,up_line[k]); TL_SetEnd(dn_TL[k],NextBarSdate,NextBarStime,dn_line[k]); } } } ------------------------------------------------------ 선이 그려지는 시간이 장이 끝나는 시간까지가 아닌 장이 끝나기 전, 지정한 시간까지 그어지게 하고 싶어서 아래와 같이 endtime(230000) 변수를 추가하고 (ex) 23시 또는 새벽 1시까지) else 이후 부분을 stime <= endtime 추가해서 수정해 봤는데 적용이 되지 않네요. 도움 부탁드립니다. input : ntime(210000), endtime(230000), line_num(8), size_tick(16); var : Tcond(False), oo(0), k(0); array : up_line[20](0), dn_line[20](0), uptext[20](0), dntext[20](0); array : up_touch[20](0), dn_touch[20](0), up_T[20](0), dn_T[20](0), up_TL[50](0), dn_TL[50](0); oo = o; if Bdate != Bdate[1] Then Tcond = False; if (sdate != sdate[1] and stime >= ntime) or (sdate == sdate[1] and stime >= ntime and stime[1] < ntime) Then // 여긴 시작점 위치에 해당한다. // 초반 캔들 부분에 해당되는 내용만 표시가 된다. { Tcond = true; For k = 1 to line_num { up_T[k] = 0; dn_T[k] = 0; up_line[k] = oo + PriceScale*size_tick*k; dn_line[k] = oo - PriceScale*size_tick*k; up_touch[k] = 0; dn_touch[k] = 0; up_TL[k] = TL_New(sDate,sTime,up_line[k],NextBarSdate,NextBarStime,up_line[k]); // 선긋기 dn_TL[k] = TL_New(sDate,sTime,dn_line[k],NextBarSdate,NextBarStime,dn_line[k]); // 선긋기 if H >= up_line[k] Then { up_T[k] = k; up_touch[k] = up_touch[k] + 1; } if L <= dn_line[k] Then { dn_T[k] = -k; dn_touch[k] = dn_touch[k] + 1; } uptext[k] = Text_New(NextBarSdate,NextBarStime,up_line[k],NumToStr(up_touch[k],0)); dntext[k] = Text_New(NextBarSdate,NextBarStime,dn_line[k],NumToStr(dn_touch[k],0)); } } Else { if Tcond == true and stime <= endtime Then { For k = 1 to line_num { TL_SetEnd(up_TL[k],NextBarSdate,NextBarStime,up_line[k]); TL_SetEnd(dn_TL[k],NextBarSdate,NextBarStime,dn_line[k]); } } }
프로필 이미지
예스쟁이
2023-08-09
1352
글번호 171359
지표
답변완료

수식문의 드립니다

질문 있습니다 주가지수선물 거래에서 호가창 매수 bids 매도잔량 asks 8시 45분 장 시작후, 매수호가잔량이 매도호가잔량의 10% 많을 때 매수 매도호가잔량이 매수호가잔량의 10% 많을 때 매도 라고 하면 if bids>asks*1.1 then buy(); exitshort(); if bids<asks*1.1 then sell(); exitlong(); 이렇게 작성하고 검증 누르면 되나요 전략에서만 쓸 수 있다고 나오네요 뭔말이에요 감사합니다 단결 ^^
프로필 이미지
국화와칼
2023-08-09
1599
글번호 171357
시스템
답변완료

문의 드립니다.

국내 선물에서 호가잔량 이평 오실레이터에서 0선을 기준으로 0선 아래서 위로 돌파하는 경우와 0선 위에서 하락 진행하다 상승전환 할 때 매수 진입 청산은 하락 전환 할 때 매도 청산완료 0선 위에서 아래로 돌파하는 경우와 0선 아래에서 상승 진행하다 하락전환 할 때 매도 진입 청산은 상승 전환 할 때 매수 청산완료 부탁드립니다.
프로필 이미지
선물대장
2023-08-09
928
글번호 171352
시스템
답변완료

문의 드립니다

input:p1(48),Rsi변동폭(20); Var:j(0),상승(100),하락(-100),양방향(2),추세(0), 파동선(0),Rsi파동선(0),방향(0),RsiV(0),Rsi추세선(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0), Rsi고[20](0),Rsi저[20](0),Rsi고Bar[20](0),Rsi저Bar[20](0); RsiV =RSI(P1); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { Rsi고Bar[j] = Rsi고Bar[j] + 1; Rsi저Bar[j] = Rsi저Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 최근 고,저 갱신 #==========================================# If Rsi고[0] <= RsiV || Rsi고[0] == 0 || IsNaN(Rsi고[0]) == True Then { Rsi고[0] = RsiV; Rsi고Bar[0] = 0; } Else Rsi고Bar[0] = Rsi고Bar[0] + 1; If Rsi저[0] >= RsiV || Rsi저[0] == 0 || IsNaN(Rsi저[0]) == True Then { Rsi저[0] = RsiV; Rsi저Bar[0] = 0; } Else Rsi저Bar[0] = Rsi저Bar[0] + 1; If 고[0] <= H || 고[0] == 0 || IsNaN(고[0]) == True Then { 고[0] = H; 고Bar[0] = 0; } Else 고Bar[0] = 고Bar[0] + 1; If 저[0] >= L || 저[0] == 0 || IsNaN(저[0]) == True Then { 저[0] = L; 저Bar[0] = 0; } Else 저Bar[0] = 저Bar[0] + 1; #==========================================# # 추세방향 결정 #==========================================# If Rsi저[0][1] + Rsi변동폭 > RsiV[1] && Rsi저[0][1] + Rsi변동폭 <= RsiV Then 방향 = 상승; If Rsi고[0][1] - Rsi변동폭 < RsiV[1] && Rsi고[0][1] - Rsi변동폭 >= RsiV Then 방향 = 하락; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 방향[1] == 하락 && 방향 == 상승 Then { For j = 18 DownTo 1 { Rsi저[j+1] = Rsi저[j]; Rsi저Bar[j+1] = Rsi저Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } Rsi저[1] = Rsi저[0]; Rsi저Bar[1] = Rsi저Bar[0]; Rsi파동선 = Rsi저[0]; Rsi저[0] = RsiV; Rsi저Bar[0] = 0; Rsi고[0] = RsiV; Rsi고Bar[0] = 0; 저[1] = 저[0]; 저Bar[1] = 저Bar[0]; 파동선 = 저[0]; 저[0] = L; 저Bar[0] = 0; 고[0] = H; 고Bar[0] = 0; } Else If 방향[1] == 상승 && 방향 == 하락 Then { For j = 18 DownTo 1 { Rsi고[j+1] = Rsi고[j]; Rsi고Bar[j+1] = Rsi고Bar[j]; 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } Rsi고[1] = Rsi고[0]; Rsi고Bar[1] = Rsi고Bar[0]; Rsi파동선 = Rsi고[0]; Rsi고[0] = RsiV; Rsi고Bar[0] = 0; Rsi저[0] = RsiV; Rsi저Bar[0] = 0; 고[1] = 고[0]; 고Bar[1] = 고Bar[0]; 파동선 = 고[0]; 고[0] = H; 고Bar[0] = 0; 저[0] = L; 저Bar[0] = 0; } Else If 방향[1] == 하락 && 방향 == 하락 Then { If Rsi고[1] < Rsi고[0] && Rsi고[0][1] - Rsi변동폭 <= RsiV[1] && Rsi고[0][1] - Rsi변동폭 > RsiV Then { Rsi고[1] = Rsi고[0]; Rsi고Bar[1] = Rsi고Bar[0]; Rsi파동선 = Rsi고[0]; Rsi고[0] = RsiV; Rsi고Bar[0] = 0; } If 고[1] < 고[0] && 고[0] > H Then { 고[1] = 고[0]; 고Bar[1] = 고Bar[0]; 파동선 = 고[0]; 고[0] = H; 고Bar[0] = 0; } } Else If 방향[1] == 상승 && 방향 == 상승 Then { If Rsi저[1] > Rsi저[0] && Rsi저[0][1] + Rsi변동폭 >= RsiV[1] && Rsi저[0][1] + Rsi변동폭 < RsiV Then { Rsi저[1] = Rsi저[0]; Rsi저Bar[1] = Rsi저Bar[0]; Rsi파동선 = Rsi저[0]; Rsi저[0] = RsiV; Rsi저Bar[0] = 0; } If 저[1] > 저[0] && 저[0] < L Then { 저[1] = 저[0]; 저Bar[1] = 저Bar[0]; 파동선 = 저[0]; 저[0] = L; 저Bar[0] = 0; } } If Rsi파동선[1] != Rsi파동선 Then{ if 방향 == 하락 and Rsi파동선 >= 65 then sell(); if 방향 == 상승 and Rsi파동선 <= 35 then buy(); } ----- 위 수식어를 해외선물에 자동주문설정으로 테스트 하고 있습니다. 전입과 청산 될시 그 다음날의 수량은 있어야 하는데 그렇지 않은 경우는 수식어에서 변경하는 방법이 있는지 궁금합니다. 미리 감사드립니다.
프로필 이미지
푸른
2023-08-09
1502
글번호 171349
시스템
답변완료

안녕하세요

안녕하세요 선물수식 1, 양봉이며 양봉의 시가보다 0.3P 크면 매수 음봉이며 음봉의 시가보다 0.3P 작으면 매도 2, 양선 3개면 매수 음선 3개면 매도 감사합니다
프로필 이미지
금보
2023-08-09
958
글번호 171342
시스템

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

프로필 이미지
lbh1119
2023-08-09
9
글번호 171341
시스템
답변완료

수식 작성 요청

안녕하세요 제공된 일목균형(ver.2) 수식을 사용함에 있어, 진입신호가 연속적(청산+진입)으로 이루어지니 포지션이 없을때 거래수량의 2배가 진입됩니다. (예) 동일수량 진입 : 1개 - case1. 포지션 없는경우 : 매수(매도)신호 발생시 2계약 진입됨 -> 추후 매도(매수)신호 발생시 2계약 청산 후 매도(매수)진입 안함 (비정상) - case2. 포지션(매수) 있는경우 : 매도신호 발생시 1계약 청산후 매도진입함 (정상) (요청사항) 포지션이 없는 경우, 설정된 수량만큼만 진입하게 하는 수식을 추가 할수 있을까요? 감사합니다.
프로필 이미지
minve
2023-08-08
865
글번호 171340
사용자 함수