커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5556
글번호 230811
답변완료
수식작성 추가 문의
매수 조건 : 이동평균선 120 이동평균선 골드크로스 상태에서 + Aroon 10 매수 신호 발생시 매수
매도 조건 : 이동평균 120 이동평균선 데드크로스, 또는
Aroon 10 매도 신호발생
둘중 먼저 매도 신호가 발생하면 매도 수식추가 부탁드리겠습니다.
감사드립니다~
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식작성문의
>
안녕하세요
예스스탁입니다.
input : P(120),Period(10);
var : Counter(0), Lowval(0), Highval(0), DownVel(0),UpVel(0), DnAroon(0),UpAroon(0) ;
var : mav(0);
mav = ma(C,120);
Lowval= Lowest(Low, Period+1);
Highval = Highest(High, Period+1);
For counter= 0 To Period {
If Low[counter] == Lowval Then
DownVel = counter;
If High[counter] == highval Then
UpVel = counter;
}
UpAroon = 100*(Period-UpVel)/Period;
DnAroon = 100*(Period-DownVel)/Period;
if c > mav Then
{
if crossup(UpAroon,DnAroon) Then
buy("Aroon_LE");
if CrossDown(UpAroon,DnAroon) Then
sell("Aroon_SE");
}
즐거운 하루되세요
> xspell 님이 쓴 글입니다.
> 제목 : 수식작성문의
> 이동평균선 120일 이동평균선 골드크로스시 상태에서 Aroon 10 매매조건 만족시만 매매 하고 싶습니다.
조건 : 이동평균선 120이동평균선 골드크로스 + Aroon 10 매수 신호 발생시 매수 매도 신호 발생시 매도
수식작성 문의 드립니다.
감사합니다.
2021-01-19
1239
글번호 145613
답변완료
종목검색
이 화살표가 뜨는 종목들을 검색해보고싶습니다.
A=ma(c,기간1,종류);
B=ma(c,기간2,종류);
D=valuewhen(1,B<B(1) and B(1)>B(2),B(1));
CrossUp(A,D)
기간1 5
기간2 20
종류 지수
2021-01-19
1128
글번호 145612
답변완료
평단가 구하기
value3 = value1+(value1-value2)/2;
value4 = value1;
}
var9 = Lowest(l,1);
var10=(var3-abs(value3-value4)*2);
if CrossDown(var9,var10) Then
Buy ("용크로스");
이런 식으로 프로그램 할경우 모든 신호 허용 하면 신호가 마마구 마구 나오는대
마구 마구 매수가 나오면 총 평단가를 구한 다음
10%에서 자동 청산 하고 싶은대 될까요 ?
2021-01-19
993
글번호 145608
숭테크 님에 의해서 삭제되었습니다.
2021-01-19
0
글번호 145607
답변완료
문의드립니다
다음의 기준선을 돌파하거나 이탈하는 종목에 대한 검색식을 부탁드립니다.
1. 매수가능종목
가. 5%이상의 양봉이고 20이평은 우상향이면서 기준선상향돌파(시가<=표시가격<=종가)
나. ((표시가격-시가) * 배수(1.5)) <= (종가-표시가격) 만족
다. 위꼬리와 아래꼬리는 몸통보다 작아야 한다
라. 시가총액이 1조이상이어야 한다(가능하면 넣어주세요)
마. 기준선과 가격
(1) DEMA선:가격(O), 기간(9)
(2) RSI(기간10)가 기준선(과매도값:25)을 상향돌파할때의 표시가격은
시가와종가(몸통)의 25%가격을 시가에서 더한 가격을 표시가격으로 설정
(3) CCI(기간20)가 기준선(과매도값: -150)을 상향돌파할때의 표시가격은
시가와종가(몸통)의 25%가격을 시가에서 더한 가격을 표시가격으로 설정
(4) 일정기간(120일)내에 최고거래량이 발생한 봉의 표시가격은 중심가격임
(5) 볼밴상한선(120일/2) 가격
(6) 5/10/20 이평을 동시돌파하는 경우에는 표시가격은 5이평가격임
<마>의 기준표시가격을 1개이상 돌파하면서 가.나.다.라.조건을 동시만족하는
매수검색식을 만들어 주세요.
2. 매도가능종목
가. 5%이상의 음봉이고 20이평은 우하향이면서 기준선하향돌파(시가>표시가격>종가)
나. (((시가-표시가격) * 배수(1.5)) <= (표시가격-종가) 만족
다. 위꼬리와 아래꼬리는 몸통보다 작아야 한다
라. 시가총액이 1조이상이어야 한다(가능하면 넣어주세요)
마. 기준선과 가격
(1) DEMA선:가격(O), 기간(9)
(2) RSI(기간10)가 기준선(과매수값:75)을 하향이탈할때의 표시가격은
시가와종가(몸통)의 25%가격을 시가에서 뺀 가격을 표시가격으로 설정
(3) CCI(기간20)가 기준선(과매수값; -150)을 하향이탈할때의 표시가격은
시가와종가(몸통)의 25%가격을 시가에서 뺀 가격을표시가격으로 설정
(4) 일정기간(120일)내에 최고거래량이 발생한 봉의 표시가격은 중심가격임
(5) 볼밴상한선(120일/2) 가격
(6) 5/10/20 이평을 동시하향이탈하는 경우에는 표시가격은 5이평가격임
<마>의 기준표시가격을 1개이상 하향이탈하면서 가.나.다.라.조건을 동시만족하는
매도검색식을 만들어 주세요.
항상 감사합니다.
2021-01-19
1352
글번호 145604
답변완료
문의 드립니다.
최근 발생한 상한가를 돌파하면 매수, 매도하는 시스템식인데요, 최근 상한가 이전의 봉을 돌파하면 매수가 되는데 변경 부탁합니다.
#시스템식
var : 상한가(0), UpLimit(0),cnt(0),count(0);
var : up1(0), up2(0), up3(0), up4(0), up5(0),up6(0),Up7(0),TL(0);
Array : upv[100](0),TX[100](0);
if date >= 19981207 then {
if date < 20050328 && CodeCategory() == 2 then
UpLimit = (BP[0] * 1.12);
Else if date >= 20050328 and date < 20150615 Then
UpLimit = (BP[0] * 1.15);
Else
UpLimit = (BP[0] * 1.30);
if CodeCategory() == 2 then
{
if date >= 20030721 then
{
up1 = int(UpLimit/100+0.00001)*100;
up2 = int(UpLimit/100+0.00001)*100;
up3 = int(UpLimit/100+0.00001)*100;
up4 = int(UpLimit/50+0.00001)*50;
up5 = int(UpLimit/10+0.00001)*10;
up6 = int(UpLimit/5+0.00001)*5;
up7 = int(UpLimit/1+0.00001)*1;
}
else
{
up1 = int(UpLimit/1000+0.00001)*1000;
up2 = int(UpLimit/500+0.00001)*500;
up3 = int(UpLimit/100+0.00001)*100;
up4 = int(UpLimit/50+0.00001)*50;
up5 = int(UpLimit/10+0.00001)*10;
up6 = int(UpLimit/10+0.00001)*10;
up7 = int(UpLimit/1+0.00001)*1;
}
}
Else
{
up1 = int(UpLimit/1000+0.00001)*1000;
up2 = int(UpLimit/500+0.00001)*500;
up3 = int(UpLimit/100+0.00001)*100;
up4 = int(UpLimit/50+0.00001)*50;
up5 = int(UpLimit/10+0.00001)*10;
up6 = int(UpLimit/5+0.00001)*5;
up7 = int(UpLimit/1+0.00001)*1;
}
if CodeCategory() == 1 || CodeCategory() == 2 then
{
if sdate < 20101004 Then
{
If BP >= 500000 Then
상한가 = up1;
Else If BP >= 100000 Then
상한가 = iff(up2>=500000, up1, up2);
Else If BP >= 50000 Then
상한가 = iff(up3>=100000, up2, up3);
Else If BP >= 10000 Then
상한가 = iff(up4>=50000, up3, up4);
Else If BP >= 5000 Then
상한가 = iff(up5>=10000, up4, up5);
Else If BP >= 1000 Then
상한가 = iff(up5>=5000, up5, up6);
Else
상한가 = iff(up6>=1000, up6, up6);
}
Else
{
If BP >= 500000 Then
상한가 = up1;
Else If BP >= 100000 Then
상한가 = iff(up2>=500000, up1, up2);
Else If BP >= 50000 Then
상한가 = iff(up3>=100000, up2, up3);
Else If BP >= 10000 Then
상한가 = iff(up4>=50000, up3, up4);
Else If BP >= 5000 Then
상한가 = iff(up5>=10000, up4, up5);
Else If BP >= 1000 Then
상한가 = iff(up5>=5000, up5, up6);
Else
상한가 = iff(up6>=1000, up6, up7);
}
}
else if CodeCategory() == 8 || CodeCategory() == 9 then { // ETF
상한가 = up6;
}
}
if H >= 상한가 Then
{
upv[0] = H[0];
count = count+1;
TL = TL_New(sdate[1],stime[1],upv[0],sdate,stime,upv[0]);
//TL_SetExtRight(TL,true);
tx[0] = Text_New(sdate,stime,upv[0],NumToStr(upv[0],0));
for cnt = 1 to 99
{
upv[cnt] = upv[cnt-1][1];
tx[cnt] = tx[cnt-1][1];
}
}
for cnt = 0 to count-1
{
if upv[cnt] > 0 then
{
Text_SetLocation(TX[cnt],sdate,stime,upv[cnt]);
if C > upv[cnt] and C[1] < upv[cnt] Then
buy();
if C < upv[cnt] and C[1] > upv[cnt] Then
sell();
}
}
2021-01-19
1067
글번호 145595
답변완료
수식
안녕하세요.
하기와 같은 조건이 동시에 만족시 청산 수식 부탁드립니다.
# 매수 청산
진입 봉 저가 이탈
진입 전봉 저가 이탈
진입가 대비 -20틱 이상
# 매도 청산
진입 봉 고가 돌파
진입 전봉 고가 돌파
진입가 대비 -20틱 이상
감사합니다.
2021-01-19
1028
글번호 145594
답변완료
문의드립니다!
안녕하세요!!
1, 아래 수식은 원래 data6 까지만 작성되었던것을 제가 임의로 data11 과 12를 추가한것입니다
이 수정된 수식에서 혹 잘못된부분이 없는지 검토바랍니다
챠트에 적용해보니 장중에 챠트가 일시적으로 쪼그라드는등 뭔가 문제점이 있는듯해서요
2, 원래수식(data6 까지만있는 수식)을 적용시에도 아래와같은 문제점이 발생되네요
즉, 이 가로선이 아침장 시작 직후에 보면 모두 나타나지를않고 일부만 챠트상에 표시가됩니다
그래서 참조챠트에 있는 이수식의 지표속성창을 다시한번 열었다가 확인버튼을 눌러주면 그때서야 모든선이 나타납니다
장 시작과 동시에 모든선이 다 나타날수있도록 자세한 검토 부탁드리겠습니다
감사합니다!!
===================================================================================
#Data1
input : D1고점색상(REd),D1고점굵기(1),D1저점색상(red),D1저점굵기(1);
input : D2고점색상(BLUe),D2고점굵기(1),D2저점색상(blue),D2저점굵기(1);
input : D3고점색상(WHITe),D3고점굵기(1),D3저점색상(white),D3저점굵기(1);
input : D4고점색상(white),D4고점굵기(1),D4저점색상(white),D4저점굵기(1);
input : D5고점색상(MAGENTA),D5고점굵기(1),D5저점색상(MAGENTA),D5저점굵기(1);
input : D6고점색상(CYAn),D6고점굵기(1),D6저점색상(cyan),D6저점굵기(1);
input : D11고점색상(MAGENTA),D11고점굵기(1),D11저점색상(MAGENTA),D11저점굵기(1);
input : D12고점색상(CYAn),D12고점굵기(1),D12저점색상(cyan),D12저점굵기(1);
var : D1(0,Data1),T1(0,Data1),H1(0,data1),L1(0,data1),HTL1(0,Data1),LTL1(0,Data1);
if data1(Bdate != Bdate[1]) Then
{
D1 = data1(sDate);
T1 = data1(sTime);
H1 = data1(H);
L1 = data1(L);
HTL1 = TL_New(D1,T1,h1,NextBarSdate,NextBarStime,h1);
LTL1 = TL_New(D1,T1,l1,NextBarSdate,NextBarStime,l1);
TL_SetColor(HTL1,D1고점색상);
TL_SetColor(LTL1,D1저점색상);
TL_SetSize(HTL1,D1고점굵기);
TL_SetSize(LTL1,D1저점굵기);
}
Else
{
if Data1(H) > H1 Then
{
H1 = Data1(H);
TL_SetBegin(HTL1,D1,T1,H1);
}
if Data1(L) < L1 Then
{
L1 = Data1(L);
TL_SetBegin(LTL1,D1,T1,L1);
}
TL_SetEnd(HTL1,sDate,sTime,H1);
TL_SetEnd(LTL1,sDate,sTime,L1);
}
#Data2
var : D2(0,Data2),T2(0,Data2),H2(0,data2),L2(0,data2),HTL2(0,Data2),LTL2(0,Data2);
if data2(Bdate != Bdate[1]) Then
{
D2 = data2(sDate);
T2 = data2(sTime);
H2 = data2(H);
L2 = data2(L);
HTL2 = TL_New(D2,T2,h2,NextBarSdate,NextBarStime,h2);
LTL2 = TL_New(D2,T2,l2,NextBarSdate,NextBarStime,l2);
TL_SetColor(HTL2,BLUe);
TL_SetColor(LTL2,BLUe);
TL_SetSize(HTL2,D2고점굵기);
TL_SetSize(LTL2,D2저점굵기);
}
Else
{
if Data2(H) > H2 Then
{
H2 = Data2(H);
TL_SetBegin(HTL2,D2,T2,H2);
}
if Data2(L) < L2 Then
{
L2 = Data2(L);
TL_SetBegin(LTL2,D2,T2,L2);
}
TL_SetEnd(HTL2,sDate,sTime,H2);
TL_SetEnd(LTL2,sDate,sTime,L2);
}
#Data3
var : D3(0,Data3),T3(0,Data3),H3(0,data3),L3(0,data3),HTL3(0,Data3),LTL3(0,Data3);
if data3(Bdate != Bdate[1]) Then
{
D3 = data3(sDate);
T3 = data3(sTime);
H3 = data3(H);
L3 = data3(L);
HTL3 = TL_New(D3,T3,h3,NextBarSdate,NextBarStime,h3);
LTL3 = TL_New(D3,T3,l3,NextBarSdate,NextBarStime,l3);
TL_SetColor(HTL3,MAGENTa);
TL_SetColor(LTL3,MAGENTa);
TL_SetSize(HTL3,D3고점굵기);
TL_SetSize(LTL3,D3저점굵기);
}
Else
{
if Data3(H) > H3 Then
{
H3 = Data3(H);
TL_SetBegin(HTL3,D3,T3,H3);
}
if Data3(L) < L3 Then
{
L3 = Data3(L);
TL_SetBegin(LTL3,D3,T3,L3);
}
TL_SetEnd(HTL3,sDate,sTime,H3);
TL_SetEnd(LTL3,sDate,sTime,L3);
}
#Data4
var : D4(0,Data4),T4(0,Data4),H4(0,data4),L4(0,data4),HTL4(0,Data4),LTL4(0,Data4);
if data4(Bdate != Bdate[1]) Then
{
D4 = data4(sDate);
T4 = data4(sTime);
H4 = data4(H);
L4 = data4(L);
HTL4 = TL_New(D4,T4,h4,NextBarSdate,NextBarStime,h4);
LTL4 = TL_New(D4,T4,l4,NextBarSdate,NextBarStime,l4);
TL_SetColor(HTL4,BLUe);
TL_SetColor(LTL4,BLUe);
TL_SetSize(HTL4,D4고점굵기);
TL_SetSize(LTL4,D4저점굵기);
}
Else
{
if Data4(H) > H4 Then
{
H4 = Data4(H);
TL_SetBegin(HTL4,D4,T4,H4);
}
if Data4(L) < L4 Then
{
L4 = Data4(L);
TL_SetBegin(LTL4,D4,T4,L4);
}
TL_SetEnd(HTL4,sDate,sTime,H4);
TL_SetEnd(LTL4,sDate,sTime,L4);
}
#Data5
var : D5(0,Data5),T5(0,Data5),H5(0,data5),L5(0,data5),HTL5(0,Data5),LTL5(0,Data5);
if data5(Bdate != Bdate[1]) Then
{
D5 = data5(sDate);
T5 = data5(sTime);
H5 = data5(H);
L5 = data5(L);
HTL5 = TL_New(D5,T5,h5,NextBarSdate,NextBarStime,h5);
LTL5 = TL_New(D5,T5,l5,NextBarSdate,NextBarStime,l5);
TL_SetColor(HTL5,MAGENTA);
TL_SetColor(LTL5,MAGENTA);
TL_SetSize(HTL5,D5고점굵기);
TL_SetSize(LTL5,D5저점굵기);
}
Else
{
if Data5(H) > H5 Then
{
H5 = Data5(H);
TL_SetBegin(HTL5,D5,T5,H5);
}
if Data5(L) < L5 Then
{
L5 = Data5(L);
TL_SetBegin(LTL5,D5,T5,L5);
}
TL_SetEnd(HTL5,sDate,sTime,H5);
TL_SetEnd(LTL5,sDate,sTime,L5);
}
#Data6
var : D6(0,Data6),T6(0,Data6),H6(0,data6),L6(0,data6),HTL6(0,Data6),LTL6(0,Data6);
if data6(Bdate != Bdate[1]) Then
{
D6 = data6(sDate);
T6 = data6(sTime);
H6 = data6(H);
L6 = data6(L);
HTL6 = TL_New(D6,T6,h6,NextBarSdate,NextBarStime,h6);
LTL6 = TL_New(D6,T6,l6,NextBarSdate,NextBarStime,l6);
TL_SetColor(HTL6,BLUe);
TL_SetColor(LTL6,BLUe);
TL_SetSize(HTL6,D6고점굵기);
TL_SetSize(LTL6,D6저점굵기);
}
Else
{
if Data6(H) > H6 Then
{
H6 = Data6(H);
TL_SetBegin(HTL6,D6,T6,H6);
}
if Data6(L) < L6 Then
{
L6 = Data6(L);
TL_SetBegin(LTL6,D6,T6,L6);
}
TL_SetEnd(HTL6,sDate,sTime,H6);
TL_SetEnd(LTL6,sDate,sTime,L6);
}
#Data11
var : D11(0,Data11),T11(0,Data11),H11(0,data11),L11(0,data11),HTL11(0,Data11),LTL11(0,Data11);
if data11(Bdate != Bdate[1]) Then
{
D11 = data11(sDate);
T11 = data11(sTime);
H11 = data11(H);
L11 = data11(L);
HTL11 = TL_New(D11,T11,h11,NextBarSdate,NextBarStime,h11);
LTL11 = TL_New(D11,T11,l11,NextBarSdate,NextBarStime,l11);
TL_SetColor(HTL11,MAGENTA);
TL_SetColor(LTL11,MAGENTA);
TL_SetSize(HTL11,D11고점굵기);
TL_SetSize(LTL11,D11저점굵기);
}
Else
{
if Data11(H) > H11 Then
{
H11 = Data11(H);
TL_SetBegin(HTL11,D11,T11,H11);
}
if Data11(L) < L11 Then
{
L11 = Data11(L);
TL_SetBegin(LTL11,D11,T11,L11);
}
TL_SetEnd(HTL11,sDate,sTime,H11);
TL_SetEnd(LTL11,sDate,sTime,L11);
}
#Data12
var : D12(0,Data12),T12(0,Data12),H12(0,data12),L12(0,data12),HTL12(0,Data12),LTL12(0,Data12);
if data12(Bdate != Bdate[1]) Then
{
D12 = data12(sDate);
T12 = data12(sTime);
H12 = data12(H);
L12 = data12(L);
HTL12 = TL_New(D12,T12,h12,NextBarSdate,NextBarStime,h12);
LTL12 = TL_New(D12,T12,l12,NextBarSdate,NextBarStime,l12);
TL_SetColor(HTL12,BLUe);
TL_SetColor(LTL12,BLUe);
TL_SetSize(HTL12,D12고점굵기);
TL_SetSize(LTL12,D12저점굵기);
}
Else
{
if Data12(H) > H12 Then
{
H12 = Data12(H);
TL_SetBegin(HTL12,D12,T12,H12);
}
if Data12(L) < L12 Then
{
L12 = Data12(L);
TL_SetBegin(LTL12,D12,T12,L12);
}
TL_SetEnd(HTL12,sDate,sTime,H12);
TL_SetEnd(LTL12,sDate,sTime,L12);
}
2021-01-19
920
글번호 145592
답변완료
수식 문의드립니다.
1. 나무 투자증권의 조건검색식을 예스트레이더 수식으로 변경 부탁드립니다.
2. 특정일(N)의 상한가(고가가 상한가)에서 현재가가 그 특정일의 시가와 고가중 높은값을 (MaxOC)를 돌파하는 검색식과 시스템식
예를들면) 5일전 고가가 상한가인 종목중에서 현재가가 MaxOC를 돌파한 종목
3. 현재부터 특정일까지의 상한가(고가가 상한가)를 현재가가 시가와 고가중 높은값(MaxOC)를 돌파하는 검색식과 시스템식을 부탁합니다.
수식을 만들어 비교를 해봤는데 종목이 다르게 검색되어 부탁드립니다^^ 그럼 감사드립니다~
2021-01-19
1182
글번호 145590