커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3566
글번호 230811
답변완료
수식부탁드립니다.
그림처럼 매도 진입 후 주가가 상승하여 손절하였으나 다시 하락하여 시가로 오면 시가에 재진입한다. 는 식을 만들 수 있는 가요?
2025-04-03
370
글번호 189816
답변완료
문의
데이트레이딩
k200선물 5분봉
금일 발생봉 기준(어제봉 제외)
아래 수식에 갭하락 발생시 진입시간을 변경하는 조건을 추가하고 싶습니다
dayclose(1)-dayopen>=7.5 갭하락이 발생한 경우 아래 수식의 진입시간을
084500에서 091500 으로 변경하는 내용을 수식에 추가해 주십시요.
갭하락에 따라 거래를 할지 말지를 판단하는 것이 아니라
갭하락에 따라 진입시간을 구분하여 적용하는 것입니다.
ex) 금일 하락갭이 7.5포인트 미만이면 진입시간은 084500
금일 하락갭이 7.5포인트 이상이면 진입시간은 091500
항상 고맙습니다.
***************************************************************************************
input : b1(60),진입눌림1(0),진입돌파1(0);
input : 진입시간(084500),진입제한시간(120000);
var : T1(0),entry(0),HH(0),LL(0),EH(0),EL(0),E1(0),H1(0),i1(0),S1(0),L1(0),V1(0);
var : Tcond(false);
if (sdate != sdate[1] and stime >= 진입시간) or
(sdate == sdate[1] and stime >= 진입시간 and stime[1] < 진입시간) Then
Tcond = true;
if (sdate != sdate[1] and stime >= 진입제한시간) or
(sdate == sdate[1] and stime >= 진입제한시간 and stime[1] < 진입제한시간) Then
Tcond = false;
if (sdate != sdate[1] and stime >= 진입시간) or
(sdate == sdate[1] and stime >= 진입시간 and stime[1] < 진입시간) Then{
T1 = TotalTrades;
E1 = 0;
HH = H;
}
if stime >= 진입시간 then{
if H > HH Then
HH = H;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 Then{
if E1 == 0 and C <= HH-PriceScale*B1 Then{
E1 = 1;
L1 = L;
i1 = index;
V1 = HH; //시작점 종가
}
if E1 == 1 and index > i1 then{
if L < L1 Then
L1 = L;
#고가가 시작봉종가보다 작을 때만 눌림체크
if H <= V1 and H >= L1+PriceScale*진입눌림1 Then{
E1 = 2;
i1 = index;
S1 = L1;
}
}
//시작점 종가보다 높은 가격이 발생하면 초기화
if E1 >= 1 and H > V1 Then{
E1 = 0;
HH = H;
}
if E1 == 2 and index > i1 and C <= S1-PriceScale*진입돌파1 and Tcond == true Then{
sell("s");
}
}
}
2025-04-03
412
글번호 189811
답변완료
종목검색식 문의합니다.
안녕하세요.
Williams Acc Dist 종목 검색식 문의 드립니다.
키움 수식은
sum(if(C>C(1),C-min(C(1),L),0))+sum(if(C<C(1),C-max(C(1),H),0))
로 알고 있습니다.
당일 종가가 전일 종가보다 클 경우
(당일 종가 - (전일 종가 와 당일 저가 중 최소 값) 이고 아니면 0
당일 종가가 전일 종가보다 작을 경우
(당일 종가) - (전일 종가와 당일 고가 중 최대 값) 고 아니면 0
이 둘 의 합 이
Williams 'A/D' 로 알고 있습니다.
이 지표가 0을 돌파할 때 종목 검색식을 구하자고 합니다.
감사합니다.
2025-04-03
479
글번호 189809
답변완료
수식 요청 좀 드림니다.
* 항상 많은 도움에 고맙습니다.
* 아래 수식에서 바탕박스 색상이 구분되는데
* 박스 색상이 맞게 4등분선 좀 요청 드림니다.
* 최고선, 최저선, 중간선, 하중간선, 상중간선, 5줄 입니다(그림참고)
## 수식
var1 = ma(c,5) ;
var2 = ma(c,20) ;
##===================================================================================================================
##===================================================================================================================
var : box(0);
var : dd1(0),cnt2(0);
var : TL11(0),TL2(0),TX1(0),TX2(0);
if CrossUp( var1 ,var2 ) Then
{
box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l);
Box_SetColor(box,Rgb(255,150,0));
Box_SetFill(box,true);
Box_SetExtFill(box,true);
Box_SetSize(box,5);
value1 = H;
Value2 = L;
// TL11 = TL_New(sDate,sTime,value1,NextBarSdate,NextBarStime,value1);
// TL2 = TL_New(sDate,sTime,value2,NextBarSdate,NextBarStime,value2);
TL_SetColor(TL11,Rgb(255,0,0));
TL_SetColor(TL2,Rgb(255,0,0));
TL_SetSize(TL11,5);
TL_SetSize(TL2,5);
// TX1 = Text_New(NextBarSdate,NextBarStime,value1,NumToStr(value1,2));
// TX2 = Text_New(NextBarSdate,NextBarStime,value2,NumToStr(Value2,2));
Text_SetStyle(TX1,0,2);
Text_SetStyle(TX2,0,2);
Text_SetSize(TX1,15);
Text_SetSize(TX2,15);
//PlaySound("C:₩CyberOrO₩Wav₩3₩last30.wav");
}
else
## 하락 음봉
if CrossDown( var1 ,var2 ) Then
{
box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l);
Box_SetColor(box,Rgb(0,255,255) );
Box_SetFill(box,true);
Box_SetExtFill(box,true);
Box_SetSize(box,5);
value1 = H;
Value2 = L;
// TL11 = TL_New(sDate,sTime,value1,NextBarSdate,NextBarStime,value1);
// TL2 = TL_New(sDate,sTime,value2,NextBarSdate,NextBarStime,value2);
TL_SetColor(TL11,Rgb(0,0,0) );
TL_SetColor(TL2,Rgb(0,0,0) );
TL_SetSize(TL11,5);
TL_SetSize(TL2,1);
// TX1 = Text_New(NextBarSdate,NextBarStime,value1,NumToStr(value1,2));
// TX2 = Text_New(NextBarSdate,NextBarStime,value2,NumToStr(Value2,2));
Text_SetStyle(TX1,0,0);
Text_SetStyle(TX2,0,0);
Text_SetSize(TX1,13);
Text_SetSize(TX2,13);
Text_SetBold(TX1,15);
Text_SetBold(TX2,15);
//PlaySound("C:₩CyberOrO₩Wav₩3₩last60.wav");
}
Else
{
Box_SetEnd(box,NextBarSdate,NextBarStime,l);
TL_SetEnd(TL11,NextBarSdate,NextBarStime,value1);
TL_SetEnd(TL2,NextBarSdate,NextBarStime,value2);
Text_SetLocation(TX1,NextBarSdate,NextBarStime,value1);
Text_SetLocation(TX2,NextBarSdate,NextBarStime,value2);
Text_SetBold(TX1,0);
Text_SetBold(TX2,0);
}
* 감사 합니다.
2025-04-03
400
글번호 189805
답변완료
검색식 부탁드립니다
아래 조건에 대한 검색식 부탁드립니다
A = (dayhigh()+daylow())/2;
B = BBandsup(20,2);
B1 = RSI(5);
B2 = RSI(21);
B3 = RSI(50);
K = Stochasticsslow(sto1,sto2);
D= eavg(Stochasticsslow(sto1,sto2),sto3);
CROSSUP(B,A) AND B1>50 AND B2>50 AND B3>50
AND K>D
2025-04-03
343
글번호 189804
대송 님에 의해서 삭제되었습니다.
2025-04-03
0
글번호 189803
답변완료
수식 부탁드립니다
다음과 같은 시스템수식을 시물레이션챠트 상단 수익챠트와 같이
손익 지표수식으로 표현가능한지요?
Input :익절(200),손절(100);
input : s(0),s1(0),b(1);
var : C1(0,Data1),C2(0,Data2);
var : R1(0,Data1),R2(0,Data2);
if Data1(Bdate!= Bdate[1]) Then
C1 = Data1(C[1]);
if Data2(Bdate!= Bdate[1]) Then
C2 = Data2(C[1]);
R1 = Data1(c)-C1;
R2 = (Data2(c)-C2)*b;
if R1 > R2 Then
Buy();
if R1 < R2 Then
Sell();
SetStopTrailing(s,s1,PointStop);
SetStopProfittarget(익절,PointStop);
SetStopLoss(손절,PointStop);
감사합니다
2025-04-03
350
글번호 189802
2wnwn 님에 의해서 삭제되었습니다.
2025-04-03
21
글번호 189801
답변완료
문의드립니다.
아래 수식은 분봉차트에 사용하는 지표입니다. 이 지표를 틱봉차트에 나타내고자 합니다.
분봉의 기간값은 수정가능하게 부탁드립니다.
항상 감사드립니다. 수고하세요!!!
======================
input : left(5),right(5);
input : left1(30),right1(30);
input : dist(2.00);
input : upcolor(White);
input : downcolor(White);
var : ph(0),currenth(0),lasth(0),pl(0),currentl(0),lastl(0);
var : ms(0),l1(0),l2(0),l3(0),l4(0);
if SwingHigh(1,H,left,right,Left+right+1) != -1 Then
{
ph = H[right];
currenth = h[right];
lasth = currenth[1];
l1 = TL_New(sDate[right],sTime[right],ph,sDate,sTime,ph);
TL_SetColor(l1,upcolor);
TL_SetStyle(l1,3);
var1 = Index;
}
Else
{
if var1 > 0 and Index <= var1+Round(Right/2,0) Then
TL_SetEnd(l1,sDate,sTime,ph);
}
if Swinglow(1,L,left,right,Left+right+1) != -1 Then
{
pl = L[right];
currentl = l[right];
lastl = currentl[1];
l2 = TL_New(sDate[right],sTime[right],pl,sDate,sTime,pl);
TL_SetColor(l2,downcolor);
TL_SetStyle(l2,3);
var2 = Index;
}
Else
{
if var2 > 0 and Index <= var2+Round(Right/2,0) Then
TL_SetEnd(l2,sDate,sTime,pl);
}
if currenth > lasth and currentl > lastl and close > ph Then
ms = 2;
else if currenth < lasth and currentl < lastl and close < pl Then
ms = -2;
else if close > ph Then
ms = 1;
else if close < pl Then
ms = -1;
var : longsig(False),shortsig(False),longsig1(False),shortsig1(False);
var : longsig2(False),shortsig2(false),longexit(False),shortexit(False);
var : ph1(0),pl1(0),mav(0),a(0),ma2(0),ma3(0);
longsig = close > ph and ms[1] < 0;
shortsig = close < pl and ms[1] > 0;
longsig1 = close > ph and ms[1] > 0;
shortsig1 = close < pl and ms[1] < 0;
longsig2 = longsig1 and longsig1[1] == false and longsig[1] == false;
shortsig2 = shortsig1 and shortsig1[1] == false and shortsig[1] == false;
longexit = high > ph and close < ph;
shortexit = low < pl and close > pl;
if SwingHigh(1,H,left1,right1,Left1+right1+1) != -1 Then
{
ph1 = H[right1];
l3 = TL_New(sDate[right1],sTime[right1],ph1,sDate,sTime,ph1);
TL_SetColor(l3,upcolor);
TL_SetDrawMode(l3,0);
var3 = Index;
}
Else
{
if var3 > 0 and Index <= var3+Round(Right1/2,0) Then
TL_SetEnd(l3,sDate,sTime,ph1);
}
if Swinglow(1,L,left1,right1,Left1+right1+1) != -1 Then
{
pl1 = L[right1];
l4 = TL_New(sDate[right1],sTime[right1],pl1,sDate,sTime,pl1);
TL_SetColor(l4,downcolor);
TL_SetDrawMode(l4,0);
var4 = Index;
}
Else
{
if var4 > 0 and Index <= var4+Round(Right1/2,0) Then
TL_SetEnd(l4,sDate,sTime,pl1);
}
// Zone
mav = ma(close, left1);
a = atr(left1);
ma2 = iff(ms > 0 and ms[1] > 0 , mav - a * dist ,IFf( ms < 0 and ms[1] < 0 , mav + a*dist , Nan));
ma3 = iff(ms > 0 and ms[1] > 0 , ma2 + a ,IFf( ms < 0 and ms[1] < 0 , ma2 - a , Nan));
var : tx1(0),tx2(0),tx3(0),tx4(0),tx5(0),tx6(0);
if longsig Then
{
tx1 = Text_New(sDate,sTime,L,"↑");
Text_SetStyle(tx1,2,0);
Text_SetColor(tx1,Blue);
}
if longsig2 Then
{
tx2 = Text_New(sDate,sTime,L,"↑");
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,Blue);
}
if shortsig Then
{
tx3 = Text_New(sDate,sTime,H,"↓");
Text_SetStyle(tx3,2,1);
Text_SetColor(tx3,Red);
}
if shortsig2 Then
{
tx4 = Text_New(sDate,sTime,H,"↓");
Text_SetStyle(tx4,2,1);
Text_SetColor(tx4,Red);
}
plot1(ma2, "External Zone", IFf(close > ma2 , upcolor, IFf(close < ma2 , downcolor, Nan)));
plot2(ma3, "Internal Zone", iff(close > ma2 , upcolor, iff(close < ma2 , downcolor, Nan)));
2025-04-03
365
글번호 189800