커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3483
글번호 230811
답변완료
안녕하세요
안녕하세요
수식문의 드립니다
1, 선물 매매식
ㄱ,
60 ma(60 이평선)
0.3P 작으면 매수
ㄴ,
60 ma(60 이평선) 보다
0.5P 크면 매도
2, 선물 매매식
ㄱ,
5개의 봉이 연속하여 0.3P 사이에 있으며
60 ma(이평) 보다 크면 매수
ㄴ,
5개의 봉이 연속하여 0.15P 사이에 있으며
20 ma(이평) 보다 작으면 매도
3, 선물 매매식
ㄱ,
5개의 봉이 연속하여 종가 동일 하며
60 ma(이평) 보다 크면 매수
ㄴ,
5개의 봉이 연속하여 동일 종가 이며
20 ma(이평) 보다 작으면 매도
감사합니다
2023-08-07
673
글번호 171214
답변완료
전환추세선 계단형
Input : 전환(0.25);
Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""), TL(0),TX(0);
Array:고[10,4](0),저[10,4](0);
HH = H;
LL = L;
If Index == 0 Then
{
고[1,1] = HH;
고[1,2] = 0;
고[1,3] = sDate;
고[1,4] = sTime;
저[1,1] = LL;
저[1,2] = 0;
저[1,3] = sDate;
저[1,4] = sTime;
}
If Index > 0 Then
{
hiBar = hiBar + 1;
loBar = loBar + 1;
}
If HH[hiBar] < HH Then hiBar = 0;
If LL[loBar] > LL Then loBar = 0;
Condition1 = 저[1,1]+전환 <= HH and hiBar == 0;
Condition2 = 고[1,1]-전환 >= LL and loBar == 0;
처리구분 = "";
If Condition1 and Condition2 Then
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH[hiBar];
고[1,2] = Index - hiBar;
고[1,3] = sDate[hiBar];
고[1,4] = sTime[hiBar];
hiBar = -1;
loBar = -1;
TL = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
TL_SetSize(TL,2);
TL_SetColor(TL,Red);
}
If 고[1,1] < HH[hiBar] Then
{
고[1,1] = HH[hiBar];
고[1,2] = Index - hiBar;
고[1,3] = sDate[hiBar];
고[1,4] = sTime[hiBar];
hiBar = -1;
loBar = -1;
TL_SetEnd(TL,고[1,3],고[1,4],고[1,1]);
}
최종꼭지점 = "고점";
Plot1(고[1,1]);
NoPlot(2);
}
If 처리구분 == "저점처리" Then
{
If 최종꼭지점 == "고점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL[loBar];
저[1,2] = Index - loBar;
저[1,3] = sDate[loBar];
저[1,4] = sTime[loBar];
hiBar = -1;
loBar = -1;
TL = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
TL_SetSize(TL,2);
TL_SetColor(TL,Blue);
}
If 저[1,1] > LL[loBar] Then
{
저[1,1] = LL[loBar];
저[1,2] = Index - loBar;
저[1,3] = sDate[loBar];
저[1,4] = sTime[loBar];
hiBar = -1;
loBar = -1;
TL_SetEnd(TL,저[1,3],저[1,4],저[1,1]);
}
최종꼭지점 = "저점";
Plot2(저[1,1]);
NoPlot(1);
}
직선인 추세선을, 상하로 구분된 plot 둘을 하나로 묶어 계단형으로 변경.
Plot1(value12,"value12",IFf(t==1,Red,Blue));
For j = 0 To 19
{
HiBar[j] = HiBar[j] + 1;
LoBar[j] = LoBar[j] + 1;
}
if crossup(c,highest(H,전환)[1]) Then
T = 1;
if CrossDown(c,Lowest(L,전환)[1]) Then
T = -1;
직선식과 계단형을 같이 병용해서 유용하게 쓰고 있는 다른 추세선 수식에서,
plot1(0); 을 변형한 Plot1(value12,"value12",IFf(t==1,Red,Blue)); 이 한줄에서 계단모양이 표현되는데, 그 주변까지 복사했습니다. 참고해주세요. (전환 = 원래는 period )
혹시 안되면 상하 두개인 plot을, 주가와 고저가 동일한 하나로 묶어주세요. 감사합니다.
2023-08-06
1135
글번호 171213
답변완료
수식문의드립니다.
안녕하세요. 개발자님, 늘 감사드립니다.
--------------
매도 매수 청산수식부탁드립니다.
매도청산수식
var1 = ma(C,5);
Var2 = ma(C,20);
데드 크로스시 매도 진입 후, 손절 (-200틱) 익절(200틱) 으로 기본 청산하지만,
그전에서 손절(-200)틱에 도달하지 않았더라도
input: 이전봉수(30), 익절배수(1.5)
익절: 진입봉포함 이전봉수(30) 30개의봉중에서 최고가와 현진입가와의 -1.5 배 틱에서 익절
손절 : 이전봉수(30), 30개의봉중에서 최고가에서 손절
-----------
매수청산수식
var1 = ma(C,5);
Var2 = ma(C,20);
데드 크로스시 매도 진입 후, 손절 (-200틱) 익절(200틱) 으로 기본 청산하지만,
그전에서 손절(-200)틱에 도달하지 않았더라도
input: 이전봉수(30), 익절배수(1.5)
익절: 진입봉포함 이전봉수(30) 30개의봉중에서 최저가를 계산해서 현진입가와의 +1.5 배 틱에서 익절
손절 : 이전봉수(30) 30개의봉중에서 최저가에서 손절
----------
더운여름 건강조심하시고
늘 좋은일 가득하시길 바랍니다.
감사합니다.
2023-08-04
767
글번호 171212
답변완료
수식 변환 가능 문의
항상 노고에 감사합니다.
키움에 사용되고 있는
거래량과 관련 있는
PVI 와 NVI
에스트레이드에 사용하고 싶은데..
가능한지요
불가능하다면..
PVI = 수식이...
NVI = 수식이 어떻게 되는지요???
2023-08-04
911
글번호 171211
답변완료
위클리 옵션 거래되지 않는 날 표시 문의
안녕하세요. 아래 수식 작성 부탁드려요.
1. 위클릭 옵션 당일시가 합(data2(open(0))+data3(open(0))) 표시
else if
위클릭 옵션 거래되지 않는 날(매월 첫째 금요일 ~ 둘째 수요일까지)
Kospi200 옵션 당일시가 합(data4(open(0))+data5(open(0))) 표시
2. 위클리 옵션 매주 목요일 당일시가 합(data2(open(0))+data3(open(0))) 표시
else if
kospi200 옵션 매월 두번째 목요일 당일시가 합(data4(open(0))+data5(open(0))) 표시
2023-08-04
759
글번호 171210
답변완료
문의드립니다.
input: P(30), Q(25) ;
HH=Highest(H,60);
LL=Lowest(L,60);
LL대비 P%이상 상승했다가 HH대비 -Q%이상 하락하고
위와 같은 패턴을 2번 더 반복하는 종목을 구합니다.
즉, 바닥대비 P%이상 상승했다가 상승분을 대부분 반납하는 패턴을 3번이상 반복하고 있는 종목을 구하는 검색식을 부탁드립니다.
*추가질문: 혹시 첫번째 상승후 고점과 두번째 고점, 세번째 고점을 구하는 수식도 가능하다면 부탁드립니다. 주석도 좀 달아 주시면 더욱 감사하겠습니다.
항상 친절하게 답변해 주셔서 감사드립니다.
2023-08-04
527
글번호 171209
배움이 님에 의해서 삭제되었습니다.
2023-08-04
33
글번호 171208
답변완료
부탁드립니다
1. 당일 기본차트가 아래 가격에서 시작하여 위 가격의 보조차트를 완전히 교차하면 그때부터 해당 봉에 빨강색으로, 그 다음 기본차트가 당일 발생한 보조차트의 최고가보다 더 높으면 그때부터는 파란색으로, 만약, 중간에 다시 기본차트가 아래 가격의 보조차트를 완전히 교차하면 그때부터 해당 봉에 파란색으로 그 다음 기본차트가 당일 발생한 보조차트의 최저가 이하로 하락하면 그때부터는 빨강색으로 구현해 주세요
고맙습니다.
2023-08-04
681
글번호 171207
답변완료
문의
답변 고맙습니다.
3분봉
입력시간 084500
연속봉 2개 조건으로 시뮬레이션을 해보니
전일 종가에 음봉이 있으면 그것을 포함하다 보니
당일 첫봉에 진입하는 경우가 발생합니다.
금일 발생봉 조건과 시간입력한 이후 봉부터 연속봉을 계산하는 수식이오니
수정 부탁드립니다.
항상 고맙습니다.
*********************************************************************************
안녕하세요
예스스탁입니다.
input : ntime(084800);
input: 연속봉(1),연속small(0.52),연속large(0.56);
var : Tcond(False);
if data2(Bdate != Bdate[1]) Then
Tcond = False;
if Data2((sdate != sdate[1] and stime >= ntime) or
(sdate == sdate[1] and stime >= ntime and stime[1] < ntime)) Then
Tcond = true;
if Tcond == true and data2(accumN(iff(C>O,1,0),연속봉) == 연속봉 and ExitDate(1) != sdate and AccumN(abs(C-O), 연속봉) >= 연속small and AccumN(abs(C-O), 연속봉) < 연속large) then
buy();
즐거운 하루되세요
> 좌오비우오비 님이 쓴 글입니다.
> 제목 : 문의
> 아래 수식에
입력시간부터 봉을 계산하는 수식을 추가하여 주십시요.
*****************************************************************************
input : ntime(084800);
input: 연속봉(1),연속small(0.52),연속large(0.56);
if data2(accumN(iff(C>O,1,0),연속봉) == 연속봉 and ExitDate(1) != sdate and AccumN(abs(C-O), 연속봉) >= 연속small and AccumN(abs(C-O), 연속봉) < 연속large) then
buy();
2023-08-04
740
글번호 171206