커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5493
글번호 230811
답변완료
수식부탁드립니다.
과열 (기간은 14)
수식1
R=RSI(기간);
if(R>=70, valuewhen(1, H>H(1), H)*1.03,
valuewhen(1, crossup(R,70) or crossdown(R,70), C))
수식2
R=RSI(기간);
valuewhen(1, crossup(R,70) or crossdown(R,70), C)
침체
수식1
R=RSI(기간);
valuewhen(1, crossup(R,30) or crossdown(R,30), C))
수식2
R=RSI(기간);
if(R<=30, valuewhen(1, L<L(1), L)*0.97,
valuewhen(1, crossup(R,30) or crossdown(R,30), C))
2019-11-26
233
글번호 133908
답변완료
수정 의뢰드립니다!
안녕하세요!
아래 수식은 지난번에 만들어주신건데 잘 사용하고 있습니다!
다름이 아니라 챠트에서 수많은 라인선을 색으로만 구분하는것 보다 좀 더 명확하게 구분을
하고저 라인 끝에 ( 예 : d1전일고가 , d1전일저가 ) 이런 식으로 텍스트가
표시 되면 매매에 좀 더 도움이 될것 같으니 수정을 좀 부탁드립니다.
항상 노고에 감사드립니다!
Var : nday1(0,data1),week1(0,data1),cond1(false,data1),daycnt1(-1,data1),val1(0,data1);
var : h1(0,data1),l1(0,data1);
Var : nday2(0,data2),week2(0,data2),cond2(false,data2),daycnt2(-1,data2),val2(0,data2);
var : h2(0,data2),l2(0,data2);
nday1 = data1(Date - Int(Date/100)*100);
week1 = data1(DayOfWeek(Date));
If nday1 >= 8 And nday1 <= 14 And week1 == 4 Then
Cond1 = true;
Else
Cond1 = false;
if data1(date != date[1] and cond1 == false and cond1[1] == true) Then
daycnt1 = 0;
if data1(date != date[1]) Then
{
daycnt1 = daycnt1+1;
if daycnt1 == 1 Then
{
H1 = data1(h);
L1 = data2(L);
}
}
if daycnt1 == 1 Then
val1 = data1(lowd(0));
if daycnt1 >= 1 then
{
if data1(H) > h1 Then
h1 = data1(h);
if data1(L) < L1 Then
L1 = data1(L);
}
nday2 = data2(Date - Int(Date/100)*100);
week2 = data2(DayOfWeek(Date));
If nday2 >= 8 And nday2 <= 14 And week2 == 4 Then
Cond2 = true;
Else
Cond2 = false;
if data2(date != date[1] and cond2 == false and cond2[1] == true) Then
daycnt2 = 0;
if data2(date != date[1]) Then
{
daycnt2 = daycnt2+1;
if daycnt2 == 1 Then
{
h2 = data2(h);
l2 = data2(l);
}
}
if daycnt2 == 1 Then
val2 = data2(lowd(0));
if daycnt2 >= 1 then
{
if data2(H) > h2 Then
h2 = data2(h);
if data2(L) < L2 Then
L2 = data2(L);
}
plot1(data1(highD(1)),"d1전일고가");
plot2(data1(LowD(1)),"d1전일저가");
plot3(val1,"d1첫날저가");
plot4(h1,"d1월고");
plot5(l1,"d1월저");
plot6(data2(highD(1)),"d2전일고가");
plot7(data2(LowD(1)),"d2전일저가");
plot8(val2,"d2첫날저가");
plot9(h2,"d2월고");
plot10(l2,"d2월저");
----------------------------------------------------------
아래 수식도 만들어 주신건데 콜풋 교차시 동일가발생하면 라인이 그어지게 되어 있는데 셀제 적용하면 아무것도 나타나지 않습니다!
제가 뭐 잘못 적용한것일까요?
var : value(0,data1);
if data1(c) == data2(c) Then
value = data1(c);
plot1(value1);
---------------------------------------------------------------------------------
임의의 가격선을 아래와 같이 직접 만들어 출력하고 싶습니다
제가 원하는 가격선에 (예: 콜월저, 콜월고.....등등 ) 텍스트를 추가 할 수 있도록 수정을 부탁드립니다!
plot1(1.20); "콜월고"
plot2(2.50); "콜월저"
plot3(3.50); "풋월고"
plot4(4.85); "풋월저"
-------------------------------------------------------------------------
아래 수식은 몸통보다 아래 꼬리가 긴 봉을 찾는 강조식입니다
이 수식을 양봉 음봉 산관 없이 몸통보다 3배이상 긴 아래 꼬리 와 윗꼬리가 긴 봉을 찾는 식으로 수정을 부탁드려요! 봉이 완성 되면 알람도 울릴 수 있도록 수정 부탁드립니다.
if min(C,O)-L > abs(C-O) then
plotpaintbar(H,L,"강조");
2019-11-26
215
글번호 133907
회원 님에 의해서 삭제되었습니다.
2019-11-26
12
글번호 133906
답변완료
수치좀 뻬주세요.
* 많은 도움에 고맙습니다.
*아래 식에서 수치(가격)좀 안나오게 부탁 드립니다. ▶가격이 두개가 나옵니다.
* 그리고 동그라미 크기는 작게 할려고 하는데 어느부분을 수정 해야 하나요?
TL_SetSize(TL2,20); 이런 부분이 없는데 어디서 추가 해야 쓸수 있지요?
Var:Period(20),선두께(1),상승색(BWHITE), 하락색(BWHITE);
Var:j(0),T(0);
Var: date11(0),date12(0),time11(0),time12(0),TL1(0),
date21(0),date22(0),time21(0),time22(0),
date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0),tl4(0);
Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0)/*,ZZ[20](0)*/;
Array:r[7](0),fr[7](0),TL2[7](0),TL3[7](0),TX2[7](0),TX3[7](0);
r[0] = 0;
r[1] = 2;
r[2] = 3.;
r[3] = -1;
r[4] = -2.;
r[5] = 1;
r[6] = 0.5;
For j = 0 To 19
{
HiBar[j] = HiBar[j] + 1;
LoBar[j] = LoBar[j] + 1;
}
if crossup(c,highest(H,Period)[1]) Then
T = 1;
if CrossDown(c,Lowest(L,Period)[1]) Then
T = -1;
If T == -1 Then
{
If T[1] != -1 Then
{
For j = 18 DownTo 0
{
LoVal[j+1] = LoVal[j];
LoBar[j+1] = LoBar[j];
//ZZ[j+1] = ZZ[j];
}
LoVal[0] = L;
LoBar[0] = 0;
//ZZ[0] = L;
date11 = date[HiBar[0]];
time11 = stime[HiBar[0]];
Value11 = HiVal[0];
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
TL1 = TL_New(date11,time11,Value11,date12,time12,Value12);
TL_SetColor(TL1,상승색);
Tx = Text_New(date11,time11,Value11,"●");
#동그라미 색상, 빨강
Text_SetColor(Tx,RED);
Text_SetStyle(Tx,2,2);
tx = Text_New(date11,time11,Value11,NumToStr(value11,2)+NewLine+NumToStr(value11,2)+NewLine);
Text_SetStyle(tx,2,1);
date21 = date[HiBar[0]];
time21 = stime[HiBar[0]];
date22 = date[0];
time22 = stime[0];
for j = 0 to 6
{
fr[j] = LoVal[1] + ((HiVal[0] - LoVal[1]) * r[j]);
}
TL2[0] = TL_New(date21,time21,fr[0],date22,time22,fr[0]);
TL_SetColor(TL2[0],RED);
#TL2[1] = TL_New(date21,time21,fr[1],date22,time22,fr[1]);
#TL_SetColor(TL2[1],RED);
#TL_SetStyle(TL2[1], 3);
#TL2[2] = TL_New(date21,time21,fr[2],date22,time22,fr[2]);
#TL_SetColor(TL2[2],RED);
#TL_SetSize(TL2[2],1);
#TX2[2] = Text_New(date22,time22,fr[2],NumToStr(fr[2],2));
#Text_SetColor(Tx2[2],BWHITE);
#Text_SetStyle(TX2[2],1,1);
#TL2[3] = TL_New(date21,time21,fr[3],date22,time22,fr[3]);
#TL_SetColor(TL2[3],RED);
#TL_SetStyle(TL2[3], 3);
#TL2[4] = TL_New(date21,time21,fr[4],date22,time22,fr[4]);
#TL_SetColor(TL2[4],RED);
#TL_SetSize(TL2[4],1);
#TX2[4] = Text_New(date22,time22,fr[4],NumToStr(fr[4],2));
#Text_SetColor(Tx2[4],BWHITE);
#Text_SetStyle(TX2[4],1,0);
TL2[5] = TL_New(date21,time21,fr[5],date22,time22,fr[5]);
TL_SetColor(TL2[5],RED);
TL2[6] = TL_New(date21,time21,fr[6],date22,time22,fr[6]);
TL_SetColor(TL2[6],MAGENTA);
}
If LoVal[0] > L Then
{
LoVal[0] = L;
LoBar[0] = 0;
//ZZ[0] = L;
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
TL_SetEnd(TL1, date12,time12,Value12);
date22 = date[0];
time22 = stime[0];
Tx = Text_New_Self(date12,time12,Value12,NumToStr(abs(value11-value12)/PriceScale,0)+" ");
#동그라미 색상, 빨강
Text_SetColor(Tx,BLUE);
Text_SetStyle(Tx,1,0);
TL_SetEnd(TL2[0],date22,time22,fr[0]);
TL_SetEnd(TL2[1],date22,time22,fr[1]);
TL_SetEnd(TL2[2],date22,time22,fr[2]);
Text_SetLocation(TX2[2],date22,time22,fr[2]);
TL_SetEnd(TL2[3],date22,time22,fr[3]);
TL_SetEnd(TL2[4],date22,time22,fr[4]);
Text_SetLocation(TX2[4],date22,time22,fr[4]);
TL_SetEnd(TL2[5],date22,time22,fr[5]);
TL_SetEnd(TL2[6],date22,time22,fr[6]);
}
}
If T == 1 Then
{
If T[1] != 1 Then
{
For j = 18 DownTo 0
{
HiVal[j+1] = HiVal[j];
HiBar[j+1] = HiBar[j];
//ZZ[j+1] = ZZ[j];
}
HiVal[0] = H;
HiBar[0] = 0;
//ZZ[0] = H;
date11 = date[LoBar[0]];
time11 = stime[LoBar[0]];
Value11 = LoVal[0];
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
TL1 = TL_New(date11,time11,Value11,date12,time12,Value12);
TL_SetColor(TL1,하락색);
Tx1 = Text_New(date11,time11,Value11,"●");
#동그라미 색상, 파랑
Text_SetColor(Tx1,BLUE);
Text_SetStyle(Tx1,2,2);
tx = Text_New(date11,time11,Value11,NewLine+NumToStr(value11,2)+NewLine+NumToStr(value11,2));
Text_SetStyle(tx,2,0);
date31 = date[LoBar[0]];
time31 = stime[LoBar[0]];
date32 = date[0];
time32 = stime[0];
for j = 0 to 5
{
fr[j] = LoVal[0] + ((HiVal[1] - LoVal[0]) * r[j]);
}
TL3[0] = TL_New(date31,time31,fr[0],date32,time32,fr[0]);
TL_SetColor(TL3[0],BLUE);
#TL3[1] = TL_New(date31,time31,fr[1],date32,time32,fr[1]);
#TL_SetColor(TL3[1],BLUE);
#TL_SetStyle(TL3[1], 3);
#TL3[2] = TL_New(date31,time31,fr[2],date32,time32,fr[2]);
#TL_SetColor(TL3[2],BLUE);
#TL_SetSize(TL3[2],1);
#TX3[2] = Text_New(date32,time32,fr[2],NumToStr(fr[2],2));
#Text_SetColor(Tx3[2],BWHITE);
#Text_SetStyle(TX3[2],1,1);
#TL3[3] = TL_New(date31,time31,fr[3],date32,time32,fr[3]);
#TL_SetColor(TL3[3],BLUE);
#TL_SetStyle(TL3[3], 3);
#TL3[4] = TL_New(date31,time31,fr[4],date32,time32,fr[4]);
#TL_SetColor(TL3[4],BLUE);
#TL_SetSize(TL3[4],1);
#TX3[4] = Text_New(date32,time32,fr[4],NumToStr(fr[4],2));
#Text_SetColor(Tx3[4],BWHITE);
#Text_SetStyle(TX3[4],1,0);
TL3[5] = TL_New(date31,time31,fr[5],date32,time32,fr[5]);
TL_SetColor(TL3[5],BLUE);
TL3[6] = TL_New(date31,time31,fr[6],date32,time32,fr[6]);
TL_SetColor(TL3[6],cyan);
}
If HiVal[0] < H Then
{
HiVal[0] = H;
HiBar[0] = 0;
//ZZ[0] = H;
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
TL_SetEnd(TL1, date12,time12,Value12);
date32 = date[0];
time32 = stime[0];
Tx = Text_New_Self(date12,time12,Value12,NumToStr(abs(value11-value12)/PriceScale,0)+" ");
#동그라미 색상, 빨강
Text_SetColor(Tx,RED);
Text_SetStyle(Tx,1,1);
TL_SetEnd(TL3[0],date32,time32,fr[0]);
TL_SetEnd(TL3[1],date32,time32,fr[1]);
TL_SetEnd(TL3[2],date32,time32,fr[2]);
Text_SetLocation(TX3[2],date32,time32,fr[2]);
TL_SetEnd(TL3[3],date32,time32,fr[3]);
TL_SetEnd(TL3[4],date32,time32,fr[4]);
Text_SetLocation(TX3[4],date32,time32,fr[4]);
TL_SetEnd(TL3[5],date32,time32,fr[5]);
TL_SetEnd(TL3[6],date32,time32,fr[6]);
}
}
TL_SetSize(TL1,선두께);
* 고맙습니다.
2019-11-25
159
글번호 133905
미스타as1 님에 의해서 삭제되었습니다.
2019-11-25
18
글번호 133904
천년대로 님에 의해서 삭제되었습니다.
2019-11-25
0
글번호 133903
답변완료
수식부탁드립니다.
안녕하세요?
매번 수고에 감사를 드립니다.
아래의 검색수식 작성바랍니다.
10봉이내 고가와 저가가 15%이상 변동폭으로1회이상 2회이내 발생하고
15%이상 변동폭 발생하여 일봉을 완성후 그후 상승폭의 45%이상 하락이 전봉 또는 전전봉에 발생한 경우가있는 종목 검색식 부탁드립니다.
2019-11-25
217
글번호 133902
답변완료
추가.. 문의드립니다.
안녕하세요.
아래의 2개의 수식은 키움 차트에서 사용하던 수식입니다.
이 수식을 예스랭귀지로 변경 가능한지요?
가능하다면 수식 변경 부탁드립니다.
==================
1) 년 중 최고 거래량과 관련 차트에 직선으로 그려주는 수식입니다.
이 수식의 기간을 1년, 2년 3년 그리고 월, 주로 각각 동시에 차트에 구현할 수 있는지요. 가능하면 부탁드립니다. 그리고 각각의 기간값을 외부 변수로 조정 가능하도록 부탁드립니다.
A1 = floor(date / 100);
A2 = A1 % 100;
a3=highestSINCE(1,A2 !=A2(1), v);
B1 = valuewhen(1, A2 != A2(1), A3(1));
B2 = valuewhen(2, A2 != A2(1), A3(1));
B3 = valuewhen(3, A2 != A2(1), A3(1));
B4 = valuewhen(4, A2 != A2(1), A3(1));
B5 = valuewhen(5, A2 != A2(1), A3(1));
b6=MAX(a3,B1,B2,B3,b4,b5);
valuewhen(1,b6== V,dayhigh())
2) 이 수식 역시 기간값을 각각 외부변수로 조정 가능하도록 부탁드립니다.
수식1: a=highestsince (1,CrossUp(avg(c,5),avg(c,60)),avg(c,60));
a
수식2: b=lowestsince (1,Crossdown(avg(c,5),avg(c,60)),avg(c,60));
수식3: avg(c,60)
2019-11-25
376
글번호 133894
답변완료
이격도 문의입니다
문의내용입니다
==============
1봉전 이격도 값과 오늘 이격도 값의 차이가 지정하는 범위(%)안의 종목을 검색하고자 합니다
검토 부탁드립니다^^
input : P(20),AA(-2),BB(0.03);
var1 = Disparity(P);
var2 = (var1-var1[1])/var1*100;
var2=per1;
if var1 <= AA and var2>= BB Then
find(1);
고맙습니다
=====================================
2019-11-25
226
글번호 133890