커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5499
글번호 230811
답변완료
지표
아래수식을 8등분으로 나눌수 있는 수식 부탁합니다...
input : N(0);
var : cnt(0);
Array : DO[10](0),DH[10](0),DL[10](0),DC[10](0);
if (sdate != sdate[1] and stime >= 090000) or
(sdate == sdate[1] and (Stime == 090000 or (stime > 090000 and stime[1] < 090000))) Then{
DO[0] = O;
DH[0] = H;
DL[0] = L;
for cnt = 1 to 9{
DO[cnt] = DO[cnt-1][1];
DH[cnt] = DH[cnt-1][1];
DL[cnt] = DL[cnt-1][1];
DC[cnt] = DC[cnt-1][1];
}
}
if (sdate != sdate[1] and stime >= 181500) or
(sdate == sdate[1] and (Stime == 181500 or (stime > 181500 and stime[1] < 181500))) Then{
DO[0] = O;
DH[0] = H;
DL[0] = L;
for cnt = 1 to 9{
DO[cnt] = DO[cnt-1][1];
DH[cnt] = DH[cnt-1][1];
DL[cnt] = DL[cnt-1][1];
DC[cnt] = DC[cnt-1][1];
}
}
if H > DH[0] Then
DH[0] = H;
if L < DL[0] Then
DL[0] = L;
DC[0] = C;
Plot1(DH[N], "고가");
Plot2((DH[N]*3+DL[N])/4, "고중");
Plot3((DH[N]+DL[N])/2, "당중");
Plot4((DH[N]+DL[N]*3)/4, "저중");
Plo
2019-11-06
236
글번호 133465
답변완료
시스템 구성 문의 드려요.
매수는
관심종목에 종목을 추가하면
5분봉 기준 250일 최고가-250일 최저가의 80퍼센트에 1차매수신청
70퍼에 2차매수신청
60에3차매수신청
50퍼에 4차매수신청
당일 신고가가 갱신되면 매수신청을 모두 취소후 다시
5분봉 기준 250일 최고가-250일 최저가의 80퍼센트에 1차매수신청
70퍼에 2차매수신청
60에3차매수신청
50퍼에 4차매수신청
매도.
매수 이후
당일 최고가와 최고가 이후 최저가 나누기 3을 한 금액보다 한틱 아래로 매도.
최저가가 낮아질 경우 매도 취소후 다시
당일 최고가와 최고가 이후 최저가 나누기 3을 한 금액보다 한틱 아래로 매도.
단, 매도가액이 매수 평단보다 낮은경우 매수 평단으로 매도
매수와 매도 까지 1사이클이 끝나면 오늘은 이 종목 더이상 매수 매도 안함.
이렇게 시스템 트레이딩을 할수 있나요?
가능하다면 수식 작성 부탁드립니다.
2019-11-06
266
글번호 133464
답변완료
요청합니다
가격표시를 선택적으로 보이게/안보이도록 부탁드립니다.
input : Left(5),right(5),표시소숫점자리(0);
var : T(0),cnt(0),TL(0),HTL1(0),HTL2(0),LTL1(0),LTL2(0);
Array : SHD[5](0),SHT[5](0),SHV[5](0),SHTL[100](0),SHTX[100](0);
Array : SLD[5](0),SLT[5](0),SLV[5](0),SLTL[100](0),SLTX[100](0);
if SwingHigh(1,H,Left,Right,Left+Right+1) != -1 then
{
var2 = 0;
var1 = var1+1;
if var1 == 1 then
{
SHD[0] = sdate[right];
SHT[0] = stime[right];
SHV[0] = H[right];
for cnt = 1 to 4
{
SHD[cnt] = SHD[cnt-1][1];
SHT[cnt] = SHT[cnt-1][1];
SHV[cnt] = SHV[cnt-1][1];
}
if SLV[0] > 0 Then
{
TL = TL_New(SLD[0],SLT[0],SLV[0],SHD[0],SHT[0],SHV[0]);
}
}
if var1 >= 2 and H[right] > SHV[0] then
{
SHD[0] = sdate[right];
SHT[0] = stime[right];
SHV[0] = H[right];
if SLV[0] > 0 Then
{
TL_Delete(TL);
TL = TL_New(SLD[0],SLT[0],SLV[0],SHD[0],SHT[0],SHV[0]);
}
}
SHTL[0] = TL_New(sdate[right],stime[right],H[right],sdate,stime,H[right]);
TL_SetColor(SHTL[0],RED);
SHTX[0] = Text_New(sdate,stime,H[right],NumToStr(H[right],표시소숫점자리));
Text_SetColor(SHTX[0],RED);
Text_SetStyle(SHTX[0],2,1);
for cnt = 1 to 99
{
SHTL[cnt] = SHTL[cnt-1][1];
SHTX[cnt] = SHTX[cnt-1][1];
}
}
if SwingLow(1,L,Left,Right,Left+Right+1) != -1 then
{
#plot2(L,"2",blue);
var1 = 0;
var2 = var2+1;
if var2 == 1 then
{
SLD[0] = sdate[right];
SLT[0] = stime[right];
SLV[0] = L[right];
for cnt = 1 to 4
{
SLD[cnt] = SLD[cnt-1][1];
SLT[cnt] = SLT[cnt-1][1];
SLV[cnt] = SLV[cnt-1][1];
}
if SHV[0] > 0 Then
{
TL = TL_New(SHD[0],SHT[0],SHV[0],SLD[0],SLT[0],SLV[0]);
}
}
if var2 >= 2 and L[right] < SLV[0] then
{
SLD[0] = sdate[right];
SLT[0] = stime[right];
SLV[0] = L[right];
TL_Delete(TL);
if SHV[0] > 0 Then
{
TL = TL_New(SHD[0],SHT[0],SHV[0],SLD[0],SLT[0],SLV[0]);
}
}
SLTL[0] = TL_New(sdate[right],stime[right],L[right],sdate,stime,L[right]);
TL_SetColor(SLTL[0],BLUE);
SLTX[0] = Text_New(sdate,stime,L[right],NumToStr(L[right],표시소숫점자리));
Text_SetColor(SLTX[0],BLUE);
Text_SetStyle(SLTX[0],2,0);
for cnt = 1 To 99
{
SLTL[cnt] = SLTL[cnt-1][1];
SLTX[cnt] = SLTX[cnt-1][1];
}
}
TL_SetEnd(SHTL[0],sdate,stime,TL_GetBeginVal(SHTL[0]));
TL_SetEnd(SLTL[0],sdate,stime,TL_GetBeginVal(SLTL[0]));
Text_SetLocation(SHTX[0],sdate,stime,TL_GetBeginVal(SHTL[0]));
Text_SetLocation(SLTX[0],sdate,stime,TL_GetBeginVal(SLTL[0]));
for cnt = 1 to 99
{
if SHTL[cnt] > 0 then
{
TL_SetEnd(SHTL[cnt],sdate,stime,TL_GetBeginVal(SHTL[cnt]));
if H >= TL_GetBeginVal(SHTL[cnt]) Then
SHTL[cnt] = 0;
}
if SLTL[cnt] > 0 then
{
TL_SetEnd(SLTL[cnt],sdate,stime,TL_GetBeginVal(SLTL[cnt]));
if L <= TL_GetBeginVal(SLTL[cnt]) Then
SLTL[cnt] = 0;
}
if SHTL[cnt] > 0 Then
{
Text_SetLocation(SHTX[cnt],sdate,stime,TL_GetBeginVal(SHTL[cnt]));
}
if SLTL[cnt] > 0 Then
{
Text_SetLocation(SLTX[cnt],sdate,stime,TL_GetBeginVal(SLTL[cnt]));
}
}
2019-11-06
227
글번호 133458
답변완료
수식 부탁드립니다
안녕세요.
아래의 수식 부탁드립니다.
1), 주가가 20 이동평균선 위에 위치하고
거래량이 10000주 이상이면 매도
2), 주가가 20 이동평균선 아래에 위치하고
거래량이 10000주 이상이면 매수
3),
ㄱ), 이동 평균선과
ㄴ), 거래량은 각각 <변수로 처리> 부탁드립니다.
환절기 건강하세요.
감사합니다.
2019-11-06
204
글번호 133456
답변완료
매수조건
우선 수고에 감사드립니다.
RSI특정값(70)이 달성되는 봉부터 시작하여 30분동안을 표시하는 수식은 어떻게 되는지요?
2019-11-06
190
글번호 133455
답변완료
수식 변경 부탁 드립니다.
M = BBandsUP(30, 1.8);
LL = Lowest(M, 기간);
HH = Highest(M, 기간);
NL = Valuewhen(1, M<LL(1),M);
Valuewhen(1,BarsSince(M<LL(1))==(기간-k),NL)
지표조건
기간 5
k=2
2019-11-06
223
글번호 133454
답변완료
사선
input : N(0.5),P(100);
if date != date[1] Then
var2 = var1[1];
var1 = dayindex+1;
value1 = (4/var2)*(P/100);
plot1((dayopen+N*1)-value1*var1);
plot2((dayopen)-value1*var1);
plot3((dayopen)+value1*var1);
plot4((dayopen-N*1)+value1*var1);
전에 올려주신건데 TL_선으로 구현 가능 할까요?
2019-11-06
212
글번호 133453
답변완료
함수 작성 부탁드립니다.
예스 기본 사용자 함수에
회기분석 슬로프(LRS.yfu), 회기분석 라인(LRL.yfu) 는 있는데요.
R square 함수는 없네요. R^2 함수 작성 부탁드립니다.
2019-11-06
249
글번호 133445
답변완료
ma 청산수식과 GAP
아래 수식을 데이트레이딩에서 사용하고 있습니다.
GAP이 크게 발생할 경우에는 청산수식이 작동하지 않게 하고 싶습니다.
1)buy수식
2.00 이하대 상승 GAP에서만 청산수식 작동
2)sell수식
2.00 이하대 하락 GAP에서만 청산수식 작동
항상 고맙습니다.
********************************************************************************
1)buy수식
input : up단기(20),up장기(100);
var : ma1(0), ma2(0);
ma1 = ma(C,up단기);
ma2 = ma(C,up장기);
if CrossDown(ma1, ma2) then
exitlong("bxma");
2)sell 수식
input : dn단기(20),dn장기(100);
var : ma3(0), ma4(0);
ma3 = ma(C,dn단기);
ma4 = ma(C,dn장기);
if CrossUp(ma3, ma4) then
ExitShort("sxma");
2020-01-20
283
글번호 133443