커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7244
글번호 230811
답변완료
문의 드립니다.
수고 많으십니다. 지표작성 문의드리고자 글을 남깁니다.
구현하고자 하는 지표는
10 이평 기준으로... 봉 종가가 10 이평을 상향돌파 하거나 하향이탈할때 10 이평 위 아래 0.5p 와 1p 를 수평선으로 구현하는 수식 부탁드립니다.
예로
1)봉이 10 이평 위에서 진행하다가 봉 종가가 10이평을 이탈했을때.. 이탈되는 10 이평값 아래
0.5p 구간과 1p 구간을 수평선으로(10 이평 돌파되기전까지만 수평선 구현, 돌파시 10 이평
아래 수평선 사라지면서 10 이평 위 0.5p 와 1p 수평선이 생김.)
2)봉이10 이평 아래서 진행하다가 봉 종가가 10 이평을 돌파했을때, 돌파시 10 이평값 위
0.5p 구간과 1p 구간을 수평선으로.(10 이평 이탈될때까지 수평선 구현, 다시금 이탈시 10
이평 위 수평선 사라지면서 10 이평 아래 0.5p 와 1p 수평선이 생김.)
결론적으로 봉이 10 이평 cross up 된 후부터는 10 이평 위 0.5 / 1p 수평선만 구현하면 되고
굳이 10 이평 아래 0.5 / 1p 선은 볼 필요가 없습니다.
그러다가 다시금 10 이평 cross down 된 후부터는 10 이평 아래 0.5 / 1p 수평선만 구현하면 되고 굳이 10 이평 위 0.5 / 1p 선은 볼 필요가 없습니다.
부탁드리겠습니다.
2018-05-18
226
글번호 119023
답변완료
array 문의 드립니다.
안녕하세요
거래량을 배열에 저장하고...
그 배열값에서 같은 값을 가지고 있는 값만 찾을 수 있나요?
가령 5분봉에서 1000주 거래된 봉만 찾는게 가능할까요?
2018-05-18
221
글번호 119022
답변완료
간단한 문의드립니다.
아래 식에서
MarketPosition(1) == 1 의 수식 의미를 풀어서 설명 부탁드립니다.
if MarketPosition == 0 and
MarketPosition(1) == 1 and
IsEntryName("Buy",1) == true and
IsExitName("B익절1",1) == true and
mav2 > mav3 and
mav2 > mav2[1] Then
buy("reBuy");
2018-05-18
194
글번호 119017
답변완료
수식부탁드립니다=========
아래식은 주차트에만적용되는데요 호가잔량오실레이터와같이 다른지표에적용할수는없나요?
input : Left(5),Right(5);
var : SH(0),SL(0);
var : SHv(0),SHd(0),SHt(0),preSHv(0),PreSHd(0),PreSHt(0),TL1(0);
var : SLv(0),SLd(0),SLt(0),preSLv(0),PreSLd(0),PreSLt(0),TL2(0);
if date != date[1] Then{
SH = 0;
SL = 0;
}
if SwingHigh(1,H,Left,Right,Left+Right+1) != -1 Then{
SH = SH+1;
SHv = H[Right];
SHd = sdate[Right];
SHt = stime[Right];
PreSHv = SHv[1];
PreSHd = SHd[1];
PreSHt = SHt[1];
if SH >= 2 and CurrentDate == sdate Then{
TL1 = TL_New(PreSHd,PreSHt,PreSHv,SHd,SHt,SHv);
TL_SetExtRight(TL1,true);
TL_SetColor(TL1,RED);
}
}
if SwingLow(1,L,Left,Right,Left+Right+1) != -1 Then{
SL = SL+1;
SLv = L[Right];
SLd = sdate[Right];
SLt = stime[Right];
PreSLv = SLv[1];
PreSLd = SLd[1];
PreSLt = SLt[1];
if SL >= 2 and CurrentDate == sdate Then{
TL2 = TL_New(PreSLd,PreSLt,PreSLv,SLd,SLt,SLv);
TL_SetExtRight(TL2,true);
TL_SetColor(TL2,blue);
}
}
2018-05-18
258
글번호 119016
답변완료
문의드립니다.
안녕하세요.
1. 현재 출력되어 있는 차트의 전체봉에서 최고점 찍은 후
-10% 이상 하락하여 저점(HL) 을 찍은 후 상승하면
저점(HL)봉이 양봉이면 저점(HL)봉부터 거래량을 누적합산하고
저점(HL)봉이 음봉이면 다음봉부터 거래량을 누적합산하라.
(위조건을 만족하는 새로운 저점(HL)이 나올 때까지 계속 누적합산함)
2. 위 조건의
현재 출력되어 있는 차트의 전체봉에서 최고점 찍은 후 를
---> 최근 100봉의 최고점을 찍은 후 일 때로 바꾼 검색식도 부탁드립니다.
수고하세요.
2018-05-18
209
글번호 119015
답변완료
함수요청
안녕하세요?
함수요청드립니다.
직전 봉 종가(a) 대비 시가(b)가 1%이상 움직이면 (갭상승, 갭하락하면)
익봉 시가(c) 혹은 당봉 종가(d)에 진입하고자 합니다.
갭상승에 매수, 갭하락 매도
청산(익절, 손절 모두)은 발생된 갭(abs(a-b)) 만큼입니다.
2018-05-18
203
글번호 119014
답변완료
수식 부탁드립니다.
30분봉 기준 당일 첫 봉이 양봉이고
12시 30분 기준 당일 range position (종가 - 저가) / (고가 - 저가) x 100 >= 50 일때
현재가 매수 , 다음날 시가 청산
2018-05-18
196
글번호 119013
답변완료
부탁 드립니다.
도움 주심에 감사 드립니다.
57843번에서 답변 주신 식입니다.
이것의 종료 지점을 (2개 지점중 현재에서 가까운 지점)
금일 아침 개장하는 시간(07:00)으로 수정 변경
부탁 드리고자 합니다.
미리 경배로 감사 인사 올립니다.
input : n달전1(0),요일1(4),횟수1(4); //2개 지점중 현재에서 가까운 지점
input : n달전2(3),요일2(2),횟수2(3); //2개 지점중 현재에서 먼 지점
var : cnt(0),TL(0),cnt1(0),cnt2(0);
Array : D1[10,10](0),T1[10,10](0),C1[10,10](0),N1[10](0);
Array : D2[10,10](0),T2[10,10](0),C2[10,10](0),N2[10](0);
#영업일 기준 월변경
if bdate > bdate[1]+30 Then
{
N1[0] = 0;
N2[0] = 0;
for cnt1 = 1 to 9
{
N1[cnt1] = N1[cnt1-1][1];
N2[cnt1] = N2[cnt1-1][1];
for cnt2 = 1 to 9
{
D1[cnt2,cnt1] = D1[cnt2,cnt1-1][1];
T1[cnt2,cnt1] = T1[cnt2,cnt1-1][1];
C1[cnt2,cnt1] = C1[cnt2,cnt1-1][1];
D2[cnt2,cnt1] = D2[cnt2,cnt1-1][1];
T2[cnt2,cnt1] = T2[cnt2,cnt1-1][1];
C2[cnt2,cnt1] = C2[cnt2,cnt1-1][1];
}
}
#날짜/시간/종가 저장하는 배열들은 0으로 초기화
for cnt = 0 to 9
{
D1[cnt,0] = 0;
T1[cnt,0] = 0;
C1[cnt,0] = 0;
D2[cnt,0] = 0;
T2[cnt,0] = 0;
C2[cnt,0] = 0;
}
}
if bdate != bdate[1] and DayOfWeek(bdate) == 요일1 Then
{
N1[0] = N1[0]+1;
D1[N1[0],0] = sdate;
T1[N1[0],0] = stime;
C1[N1[0],0] = C;
if N1[n달전1] == 횟수1 and N2[n달전2] >= 횟수2 then
{
TL_Delete(TL);
TL = TL_new(D2[횟수2,n달전2],T2[횟수2,n달전2],C2[횟수2,n달전2],D1[횟수1,n달전1],T1[횟수1,n달전1],C1[횟수1,n달전1]);
}
}
if bdate != bdate[1] and DayOfWeek(bdate) == 요일2 Then
{
N2[0] = N2[0]+1;
D2[N2[0],0] = sdate;
T2[N2[0],0] = stime;
C2[N2[0],0] = C;
}
2018-05-18
205
글번호 119012
답변완료
"강조" 영역에서 SwingHigh 관련 질의
안녕하세요?
분석을 위해 "강조"영역에서 SwingHigh가 발생하는 봉들에 색을 칠하고자 합니다. 예를 들면 SwingHigh(1,H,3,3,7)에서 스윙고점으로 중심으로 스윙을 구성하는 7개봉에 색을 칠하는 것입니다. 관련 로직을 아래와 같이 만들었습니다. 돌려보니 스윙고점 1개만 색칠이 되는데 같은데 잘 못 된 부분 검토 수정 부탁드립니다. 감사합니다.
********************************************************************************
Input : Left(3), Right(3);
Var : i(0);
Array : RightBar[50](0);
If SwingHigh(1,H,Left,Right,Left+Right+1) != -1 then {
RightBar[0] = BarIndex;
For i = 1 to Left + Right {
RightBar[i] = RightBar[0] - i;
}
}
Else {
RightBar[0] = 0;
For i = 1 to Left + Right {
RightBar[i] = RightBar[0] - i;
}
}
For i = 0 to Left + Right {
If BarIndex == RightBar[i] And RightBar[i] > 0 Then PlotPaintBar(Close, Open, "Swing_Check", Cyan);
}
2018-05-18
222
글번호 119011