커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1688
글번호 230811
답변완료
지표를 부탁드립니다...
안녕하세요
1.선물 3분봉차트에
9시10분에서 15시30분까지 시간이 흘러가면서
거래량이 제일 많은 봉 순서대로 1.2.
가장거래량 적은 봉에 1개
3개봉에 표시를하고싶습니다.
점이나 가로선으로 나타냈으면합니다..감사합니다.
2022-02-13
881
글번호 156213
회원 님에 의해서 삭제되었습니다.
2022-02-12
70
글번호 156212
답변완료
문의드립니다
1) input : per1(23.6),per2(50.0),per3(76.4);
var : hh(0),ll(0),dd(0),tt(0);
var : tl1(0),tl2(0),tl3(0),v1(0),v2(0),v3(0),tl4(0),tl5(0);
if bdate > bdate[1] then
{
hh = h;
ll = l;
dd = sdate[1];
tt = stime[1];
TL_Delete(tl1);
TL_Delete(tl2);
TL_Delete(tl3);
TL_Delete(tl4);
TL_Delete(tl5);
tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100));
tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100));
tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100));
tl4 = TL_New(dd,tt,DayHigh(1),sdate,stime,DayHigh(1));
tl5 = TL_New(dd,tt,DayLow(1),sdate,stime,DayLow(1));
}
if h > hh and hh > 0 Then
{
hh = h;
TL_Delete(tl1);
TL_Delete(tl2);
TL_Delete(tl3);
tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100));
tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100));
tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100));
}
if l < ll and ll > 0 Then
{
ll = l;
TL_Delete(tl1);
TL_Delete(tl2);
TL_Delete(tl3);
tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100));
tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100));
tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100));
}
TL_SetColor(TL1,GRAY);
TL_SetSize(TL1,0);
TL_SetExtRight(TL1,true);
TL_SetColor(TL2,BLACK);
TL_SetSize(TL2,1);
TL_SetExtRight(TL2,true);
TL_SetColor(TL3,GRAY);
TL_SetSize(TL3,0);
TL_SetExtRight(TL3,true);
TL_SetColor(TL4,LMAGENTA);
TL_SetSize(TL4,0);
TL_SetExtRight(TL4,true);
TL_SetColor(TL5,LMAGENTA);
TL_SetSize(TL5,0);
TL_SetExtRight(TL5,true);
v1 = hh-(hh-ll)*(per1/100);
v2 = hh-(hh-ll)*(per2/100);
v3 = hh-(hh-ll)*(per3/100);
INPUTS: LENGTH1(5);
INPUTS: 색1(YELLOW),색2(RED), 굵기(1);
VARS : DEMA1(0),TL(0);
var1= EMA(C,LENGTH1);
value1= EMA(EMa(C,LENGTH1),LENGTH1);
DEMA1 = var1 * 2 - value1;
if C >DEMA1 Then
PLOT1(DEMA1, "DEMA1",GRAY);
Else
PLOT1(DEMA1, "DEMA1",GRAY);
if CrossUp(DEMA1,v2) or CrossUp(DEMA1,v2) or CrossUp(DEMA1,v2) or CrossUp(DEMA1,DayHigh(1)) or CrossUp(DEMA1,DayLow(1)) Then
{
TL_Delete(tl);
tl = TL_New(sDate,sTime,DEMA1-PriceScale*5,NextBarSdate,NextBarStime,DEMA1-PriceScale*5);
TL_SetColor(tl,REd);
TL_SetSize(tl,3);
TL_SetExtRight(TL,true);
}
if CrossDown(DEMA1,v2) or CrossDown(DEMA1,v2) or CrossDown(DEMA1,v2) or CrossDown(DEMA1,DayHigh(1)) or CrossDown(DEMA1,DayLow(1)) Then
{
TL_Delete(tl);
tl = TL_New(sDate,sTime,DEMA1-PriceScale*5,NextBarSdate,NextBarStime,DEMA1-PriceScale*5);
TL_SetColor(tl,GREEn);
TL_SetSize(tl,3);
TL_SetExtRight(TL,true);
}
1) 이수식을 사용하고 있는데 수평선이 나왔다 안나왔다 하는데 안나올때는 점만찍히게 됩니다 주로 틱챠트에서그런현상이자주 나옵니다,잘나오게 방법이 있는지요? 만약에 수정할부분이 없다면 현재수평선 나오는지점에서 하나더+5틱위로 나오게 부탁드립니다 (즉수평선이같은색으로 2개나오게)
2) input : 기간(10);
var1 = (H+L+C+C);
var2 = ma(var1,기간);
value1 = iff(var1>var2,1,0);
value2 = iff(var1<=var2,1,0);
plot1(value1,"수식1");
plot2(value2,"수식2");
1번수식에다 2번수식을 추가하여크로스될때에 색채우기 지표를만들려고 합니다 부탁드립니다~~항상감사드립니다
2022-02-12
638
글번호 156211
지에스한 님에 의해서 삭제되었습니다.
2022-02-15
12
글번호 156210
답변완료
문의드립니다
오후2시이후 당일 중간값을 돌파했을때 종목을 검색하고싶습니다
2022-02-11
653
글번호 156209
답변완료
수식 부탁드려요.
안녕하세요? 초보입니다.
5일선이 10일선 밑으로 있다가 바로 5일선이 10일선을 뚫은 종목을 찾고 싶습니다.
너무 초보적인 질문이라 죄송합니다.
감사합니다.
2022-02-11
831
글번호 156208
답변완료
수식수정 부탁 드립니다.
//지표식 == (slope of price)
Inputs: Length(14);
Variables: idx(0), sum(0),Avgv(0),Power(0),PowAvg(0),Mean(0),PowStd(0),PriceSlope(0);
idx = accum(1);
Sum = accumn(idx*C,Length);
Avgv = (accumn(idx,Length)*(accumn(C,Length)))/Length;
Power = (accumn(Pow(idx,2),Length));
PowAvg = Pow(accumn(idx,Length),2)/Length;
Mean = Sum - avgv;
PowStd = Power - PowAvg;
If PowStd == 0 Then
PriceSlope = 0;
Else
PriceSlope = Mean / PowStd;
기존 지표식(slope of price)을 Data2로 바꾸는 과정입니다.
잘못된 부분 수정 부탁드립니다.
Inputs: D2Length(14);
Variables: D2idx(0), D2sum(0),D2Avgv(0),D2Power(0),D2PowAvg(0),D2Mean(0),D2PowStd(0),D2PriceSlope(0);
D2idx = data2(accum(1));
D2Sum = data2(accumn(idx*C,Length));
D2Avgv = data2((accumn(idx,Length)*(accumn(C,Length))))/D2Length;
D2Power = data2((accumn(Pow(idx,2),Length)));
D2PowAvg = data2(Pow(accumn(idx,Length),2))/Length;
D2Mean = D2Sum - D2avgv;
D2PowStd = D2Power - D2PowAvg;
If D2PowStd == 0 Then
D2PriceSlope = 0;
Else
D2PriceSlope = D2Mean / D2PowStd;
2022-02-11
966
글번호 156207
답변완료
함수요청
진입한 봉에서 청산하지 않는 함수 요청드립니다.
감사합니다.
2022-02-11
754
글번호 156206
답변완료
문의
기존 s1 청산수식에 s2 청산수식을 아래처럼 추가했습니다.
s1과 별개로 청산변수가 작동되는 수식이 맞는지요.
********************************************************************************
if MarketPosition == -1 Then
{
if IsEntryName("s1",1) == true and EntryTime >= 090000 and EntryTime < 100000 then
{
SetStopLoss(loss0910,PercentStop);
SetStopTrailing(tr0910,0,PercentStop,1);
SetStopInactivity(최소가격0910,봉갯수0910,PercentStop);
}
else if IsEntryName("s1",1) == true and MarketPosition == -1 and EntryTime >= 100000 and EntryTime < 110000 then
{
SetStopLoss(loss1011,PercentStop);
SetStopTrailing(tr1011,0,PercentStop,1);
SetStopInactivity(최소가격1011,봉갯수1011,PercentStop);
}
else if IsEntryName("s1",1) == true and MarketPosition == -1 and EntryTime >= 110000 and EntryTime < 120000 then
{
SetStopLoss(loss1112,percentStop);
SetStopTrailing(tr1112,0,percentStop,1);
SetStopInactivity(최소가격1112,봉갯수1112,PercentStop);
}
else if IsEntryName("s2",1) == true and MarketPosition == -1 and EntryTime >= 100000 and EntryTime < 110000 then
{
SetStopLoss(s2loss1011,percentStop);
SetStopTrailing(s2tr1011,0,percentStop,1);
SetStopInactivity(s2최소가격1011,s2봉갯수1011,PercentStop);
}
else if IsEntryName("s2",1) == true and MarketPosition == -1 and EntryTime >= 110000 and EntryTime < 120000 then
{
SetStopLoss(s2loss1112,percentStop);
SetStopTrailing(s2tr1112,0,percentStop,1);
SetStopInactivity(s2최소가격1112,s2봉갯수1112,PercentStop);
}
Else
{
SetStopLoss(loss,PercentStop);
SetStopTrailing(tr,0,PercentStop,1);
SetStopInactivity(최소가격,봉갯수,PercentStop);
}
}
2022-02-11
976
글번호 156205