커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1659
글번호 230811
답변완료
문의드립니다
1)INPUTS: LENGTH1(13);
VARS : DEMA1(0);
var1= EMA(C,LENGTH1);
value1= EMA(EMa(C,LENGTH1),LENGTH1);
DEMA1 = var1 * 2 - value1;
if C >DEMA1 Then
PLOT1(DEMA1, "DEMA1",WHITE);
Else
PLOT1(DEMA1, "DEMA1",WHITE);
2)Input : Period1(20);
var1 = wma(C,Period1);
Plot1(var1, "가중이동평균1");
1번dema120 이평선을 2번 가중이평선(20)이 상향크로스하면 레드색
가중이평선(20)이 하향크로스하면 블루색으로 나오게부탁드립니다색상과크기도 조정할수있도록부탁드립니다~~미리감사드립니다
2022-08-20
1469
글번호 161638
답변완료
문의드립니다.
직전구간의 고점이나 저점과 현재진행구간의 저점이나 고점 사이의 중간가격을 나타내는 선을 현재진행구간에서 추가했으면 좋겠습니다. 현재구간은 진행중이기 때문에 고점이나 저점이 높아지거나 낮아짐으로 인해 중간가격도 위치가 진행과정에서 새롭게 변할텐데요. 이렇게 변할 경우 다시 변경된 가격위치부터 새롭게 옆으로 그려지는 선으로 현재진행구간이 끝날때까지 그려지고 가격도 선위에 TEXT로 표시되도록 부탁드리겠습니다.
var : a(0),b(0);
var : HH(0),HD(0),HT(0);
var : HH1(0),HD1(0),HT1(0);
var : LL(0),LD(0),LT(0);
var : LL1(0),LD1(0),LT1(0);
var : TL(0),TL1(0),TL2(0),TL3(0),TL4(0),TL5(0);
var : T(0);
a = ma(C,5);
b = ma(c,20);
Condition1 = C > a and C > b;
Condition2 = C < a and C < b;
if T <= 0 and Condition1 == true and Condition1[1] == False Then
{
T = 1;
}
if T >= 0 and Condition2 == true and Condition2[1] == False Then
{
T = -1;
}
if T == 1 Then
{
if T != T[1] Then
{
HD = sDate;
HT = sTime;
HH = H;
HD1 = HD[1];
HT1 = HT[1];
HH1 = HH[1];
if HH1 > 0 and LL > 0 Then
{
value1 = HH1;
Value2 = LL;
TL = TL_new(HD1,HT1,value1,LD,LT,Value2);
TL1 = TL_new(sdate,sTime,value1,NextBarSdate,NextBarStime,value1);
TL2 = TL_new(sdate,sTime,value2,NextBarSdate,NextBarStime,value2);
TL3 = TL_new(sdate,sTime,value1-(value1-Value2)*0.382,NextBarSdate,NextBarStime,value1-(value1-Value2)*0.382);
TL4 = TL_new(sdate,sTime,value1-(value1-Value2)*0.500,NextBarSdate,NextBarStime,value1-(value1-Value2)*0.500);
TL5 = TL_new(sdate,sTime,value1-(value1-Value2)*0.618,NextBarSdate,NextBarStime,value1-(value1-Value2)*0.618);
TL_SetColor(TL,Red);
TL_SetColor(TL1,Magenta);
TL_SetColor(TL2,Magenta);
TL_SetColor(TL3,Magenta);
TL_SetColor(TL4,Magenta);
TL_SetColor(TL5,Magenta);
}
}
if H > HH Then
{
HD = sDate;
HT = sTime;
HH = H;
}
if HH1 > 0 and LL > 0 Then
{
TL_SetEnd(TL1,sDate,sTime,value1);
TL_SetEnd(TL2,sDate,sTime,value2);
TL_SetEnd(TL3,sDate,sTime,value1-(value1-Value2)*0.382);
TL_SetEnd(TL4,sDate,sTime,value1-(value1-Value2)*0.500);
TL_SetEnd(TL5,sDate,sTime,value1-(value1-Value2)*0.618);
}
}
if T == -1 Then
{
if T != T[1] Then
{
LD = sDate;
LT = sTime;
LL = L;
LD1 = LD[1];
LT1 = LT[1];
LL1 = LL[1];
if LL1 > 0 and HH > 0 Then
{
value1 = HH;
Value2 = LL1;
TL = TL_new(LD1,LT1,LL1,HD,HT,HH);
TL1 = TL_new(sdate,sTime,value1,NextBarSdate,NextBarStime,value1);
TL2 = TL_new(sdate,sTime,value2,NextBarSdate,NextBarStime,value2);
TL3 = TL_new(sdate,sTime,value1-(value1-Value2)*0.382,NextBarSdate,NextBarStime,value1-(value1-Value2)*0.382);
TL4 = TL_new(sdate,sTime,value1-(value1-Value2)*0.500,NextBarSdate,NextBarStime,value1-(value1-Value2)*0.500);
TL5 = TL_new(sdate,sTime,value1-(value1-Value2)*0.618,NextBarSdate,NextBarStime,value1-(value1-Value2)*0.618);
TL_SetColor(TL,Blue);
TL_SetColor(TL1,Cyan);
TL_SetColor(TL2,Cyan);
TL_SetColor(TL3,Cyan);
TL_SetColor(TL4,Cyan);
TL_SetColor(TL5,Cyan);
}
}
if L < LL Then
{
LD = sDate;
LT = sTime;
LL = L;
}
if HH1 > 0 and LL > 0 Then
{
TL_SetEnd(TL1,sDate,sTime,value1);
TL_SetEnd(TL2,sDate,sTime,value2);
TL_SetEnd(TL3,sDate,sTime,value1-(value1-Value2)*0.382);
TL_SetEnd(TL4,sDate,sTime,value1-(value1-Value2)*0.500);
TL_SetEnd(TL5,sDate,sTime,value1-(value1-Value2)*0.618);
}
}
2022-08-21
1640
글번호 161637
답변완료
수직지표
수직지표부탁드립니다.
NPUTS: 총잔량LENGTH(3),총잔량Period(14);
VARIABLES: 총잔량DPO(0),TLL22(0);
Var : 총잔량value(0);
총잔량DPO = DETREND(C, 총잔량LENGTH);
총잔량value = ma(bids,총잔량period)-ma(asks,총잔량period);
If 총잔량value > 총잔량value[1]and bids>asks and -asks>-asks[1]Then
{
Plot31(총잔량value, "매수총잔량 우위");
Plot32(0, "매도총잔량 우위");
}
If 총잔량value < 총잔량value[1]and bids<asks and -bids<-bids[1] Then {
Plot31(0, "매수총잔량 우위");
Plot32(총잔량value, "매도총잔량 우위");
}
2022-08-20
1748
글번호 161636
회원 님에 의해서 삭제되었습니다.
2022-08-20
0
글번호 161635
답변완료
당일 종가파라볼릭 저점라인 추가
Input : AF(0.02), AFMAX(0.2);
Var:Direction(0),SAR_Value(Close),AF_Value(.02),HighValue(High),LowValue(Low),EP(0),CSarv(0);
if Bdate != Bdate[1] Then
{
Direction = 0;
SAR_Value = C;
AF_Value = 0.02;
HighValue = H;
LowValue = L;
EP = 0;
}
if EP != 0 Then
{
if Direction == 1 then
{
EP = HighValue;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if High > HighValue then
{
HighValue = High;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
if Close < SAR_Value then
{
Direction = -1;
SAR_Value = EP;
AF_Value = 0;
EP = 0;
LowValue = low;
}
}
else
{
EP = LowValue;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if Low < LowValue then
{
LowValue = Low;
AF_Value = AF_Value + Af;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
if Close > SAR_Value then
{
Direction = 1;
SAR_Value = EP;
AF_Value = 0;
EP = 0;
HighValue = High;
}
}
CSarv = SAR_Value;
}
else
{
if SAR_Value != 0 && EP == 0 then
{
if Direction == 1 then
{
EP = HighValue;
AF_Value = AF;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if High > HighValue then
{
HighValue = High;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
}
else
{
EP = LowValue;
AF_Value = Af;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if Low < LowValue then
{
LowValue = Low;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
}
CSarv = SAR_Value;
}
else
{
if Direction == 0 then
{
if Close > Close[1] then Direction = 1;
else
if Close < Close[1] then Direction = -1;
}
else
{
if Direction == 1 then
{
if Close < Close[1] then
{
Direction = -1;
SAR_Value = HighValue;
CSarv = SAR_Value;
}
}
if Direction == -1 then
{
if Close > Close[1] then
{
Direction = 1;
SAR_Value = LowValue;
CSarv = SAR_Value;
}
}
}
LowValue = min(Low, LowValue);
HighValue = max(High, HighValue);
}
}
var : hh(0),LL(0),t(0);
if CrossUp(C,CSarv) Then
{
t = 1;
hh = h;
var1 = LL+0.65;
var2 = LL+1.0;
Var3 = LL+1.5;
Var4 = LL+2;
Var5 = LL+2.5;
Var6 = LL+3;
Var7 = LL+3.5;
Var8 = LL+4;
Var9 = LL+4.5;
}
if CrossDown(C,CSarv) Then
{
t = -1;
LL = l;
var1 = hh-0.65;
var2 = hh-1.0;
Var3 = hh-1.5;
Var4 = hh-2.0;
Var5 = hh-2.5;
Var6 = hh-3.0;
Var7 = hh-3.5;
Var8 = hh-4.0;
Var9 = hh-4.5;
}
if t == 1 Then
{
if hh > 0 and h > hh Then
hh = h;
}
if t == -1 Then
{
if LL > 0 and l < LL Then
LL = l;
}
if var1 > 0 Then
{
plot1(var1,"HL1");
plot2(var2,"HL2");
plot3(var3,"HL3");
plot4(var4,"HL4");
Plot5(Var5,"HL5");
Plot6(Var6,"HL6");
Plot7(Var7,"HL7");
Plot8(Var8,"HL8");
Plot9(Var9,"HL9");
}
위 수식에 상승은 무시하고,당일 하락 종가파라볼릭이 끝나면 최저점에서 -0.35P에 라인 추가. 이 라인은 최저점을 붕괴하는 새로운 하락파라가 나와 끝날 때까지 표시해주고, 새로운 하락파라가 끝나면 새 최저점으로부터 -0.35P에 새로운 라인 생성.
곧 종가파라볼릭의 당일 저점라인 밑 -0.35P에 새로운 저점라인.색상은 Pink.감사합니다.
2022-08-20
1803
글번호 161634
답변완료
강조식 부탁합니다
당일 캔들이 5%이상 양봉이면서 매수체결강도가 200%이상이고 거래량이 전일대비 500% 증가한 캔들에 대해서 강조식 부탁합니다
2022-08-21
1778
글번호 161633
파워 님에 의해서 삭제되었습니다.
2022-08-20
1269
글번호 161632
답변완료
문의드립니다.
분봉에서 당일 고점 달성이전 당일 최저가를 구하는 수식 부탁드립니다.
2022-08-19
1932
글번호 161631
답변완료
문의드립니다.
수고많으십니다.
1. 최소가격변화에 대해 문의드립니다.
30봉동안 10틱이내일때 청산과 50봉동안 15틱이내일때 청산을 동시에 적용하고 싶습니다.
2. 강제청산 설정에서 최대수익대비 하락이 수식안에서 트레일링스탑보다 더 성과가 좋은듯한데 어떤 차이가 있으며 수식내에서도 동일하게 쓸 수 있는 수식은 없을지 궁금합니다.
감사합니다.
2022-08-19
1614
글번호 161628