커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3202
글번호 230811
답변완료
수식 문의
아래 지표 var3 값에 대한
당일의 평균가 이평선을 구하고 또,
var3과 평균가 이평선과의 이격을
macdOSC 처럼 구하고 싶습니다.
var : color(0);
var : cnt(0);
var1 = accumn(upvol,dayindex()+1);
var2 = accumn(DownVol,dayindex()+1);
var3 = var1-var2;
항상 친절한 답변 감사드립니다.
2020-08-27
940
글번호 141842
답변완료
부탁 드립니다.
도움에 감사 드립니다.
1)타주기(분봉용_예를 들어 10분봉 차트에서 60분봉 지표),
2)타주기(일봉용_예를 들어 60분봉 차트에서 일봉 지표) 부탁 드립니다.
미리 경배로 감사 인사 올립니다.
주)참조 지표는 유사한 지표를 이전에 작성해주신것입니다.
input:fastLength(10);
input :fl(10);
var : fastma(0),slowma(0),macdv(0),stdv(0),Upper(0),Lower(0),mc(0),mc1(0);
var : src(0),sp(0),dt(0),i1(0),ji(0),jq(0),i2_(0),q2_(0),re_(0);
var : im_(0),re(0),im(0),p1(0),p2(0),p3(0),p(0),q1(0),i2(0),q2(0);
var : spp(0),phase(0),dphase_(0),dphase(0),mama(0),fama(0),alpha_(0),alpha(0);
src = (H+L)/2;
sp = (4*src + 3*src[1] + 2*src[2] + src[3]) / 10.0;
if CurrentBar >= 1 then
{
dt = (.0962*sp + .5769*(sp[2]) - .5769*(sp[4])- .0962*(sp[6]))*(.075*(p[1]) + .54);
q1 = (.0962*dt + .5769*(dt[2]) - .5769*(dt[4])- .0962*(dt[6]))*(.075*(p[1]) + .54);
i1 = (dt[3]);
jI = (.0962*i1 + .5769*(i1[2]) - .5769*(i1[4])- .0962*(i1[6]))*(.075*(p[1]) + .54);
jq = (.0962*q1 + .5769*(q1[2]) - .5769*(q1[4])- .0962*(q1[6]))*(.075*(p[1]) + .54);
i2_ = i1 - jq;
q2_ = q1 + jI;
i2 = .2*i2_ + .8*(i2[1]);
q2 = .2*q2_ + .8*(q2[1]);
re_ = i2*(i2[1]) + q2*(q2[1]);
im_ = i2*(q2[1]) - q2*(i2[1]);
re = .2*re_ + .8*(re[1]);
im = .2*im_ + .8*(im[1]);
p1 = iff(im!=0 and re!=0, 360/atan(im/re), (p[1]));
p2 = iff(p1 > 1.5*(p1[1]), 1.5*(p1[1]), iff(p1 < 0.67*(p1[1]), 0.67*(p1[1]), p1));
p3 = iff(p2<6, 6, iff (p2 > 50, 50, p2));
p = .2*p3 + .8*(p3[1]);
spp = .33*p + .67*(spp[1]);
phase = atan(q1 / i1);
dphase_ = (phase[1]) - phase;
dphase = iff(dphase_< 1, 1, dphase_);
alpha_ = fl / dphase;
alpha = iff(alpha_ < fl, fl, iff(alpha_ > fl, fl, alpha_));
mama = alpha*src + (1 - alpha)*(mama[1]);
fastMA = ema(mama, fastLength);
slowMA = ema(mama, fastLength*2);
macdv = fastMA - slowMA;
Stdv = std(macdv, fastLength*2);
Upper = (Stdv * 2 + (ma(macdv, fastLength*2)));
Lower = ((ma(macdv, fastLength*2)) - (Stdv * 2));
var1=(upper+lower)/2;
var33=macdv-var1;
}
참조지표)
var : src(0),sp(0),dt(0);
src = (H+L)/2;
sp = (4*src + 3*src[1] + 2*src[2] + src[3]) / 10.0;
if CurrentBar >= 1 then
{
dt = (.0962*sp + .5769*(sp[2]));
}
1.타주기(분)
input : ntime(10),P(4);
var : S1(0),D1(0),TM(0),TF(0),cnt(0);
var : sum1(0),Csum1(0),dt(0);
Array : HH[50](0),LL[50](0),SP[50](0);
if Bdate != Bdate[1] Then{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or
(Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then
{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 49
{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
SP[cnt] = SP[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
if LL[P-1] > 0 Then
{
Sum1 = 0;
CSum1 = 0;
For cnt = 0 To P - 1
{
Sum1 = Sum1 + ((HH[cnt]+LL[cnt])/2) * (P - cnt);
CSum1 = CSum1 + P - cnt;
}
If CSum1 > 0 Then
SP[0] = Sum1/CSum1;
Else
SP[0] = 0;
}
if SP[2] > 0 Then
{
dt = (.0962*SP[0] + .5769*(SP[2]));
Plot1(dt);
}
}
2.타주기(일)
input : P(4);
var : cnt(0),sum(0),Csum(0),SP(0);
var : sum2(0),Csum2(0),SP2(0),dt(0);
Sum = 0;
CSum = 0;
Sum2 = 0;
CSum2 = 0;
For cnt = 0 To P - 1
{
Sum = Sum + ((DayHigh(cnt)+DayLow(cnt))/2) * (P - cnt);
CSum = CSum + P - cnt;
Sum2 = Sum2 + ((DayHigh(cnt+2)+DayLow(cnt+2))/2) * (P - cnt);
CSum2 = CSum2 + P - cnt;
}
SP = Sum/CSum;
SP2 = Sum2/CSum2;
if SP2 > 0 Then
{
dt = (.0962*SP + .5769*(SP2));
Plot1(dt);
}
2020-08-27
769
글번호 141841
답변완료
수식 문의
아래의 수식에 대해 주석을 달고 싶은데
실력의 부족으로 잘 되고 있지 않습니다.
완전 초보임을 감안해 주시어
한줄한줄 해석(주석)을 부탁드립니다.
감사합니다.
var : cnt(0);
#???
if date != date[1] Then{
value1 = 0;
value2 = 0;
value3 = 0;
value4 = 0;
var2 = index;
var3 = index;
}
#현재가
var1 = C[0];
#???
if H == DayHigh Then{
value1 = 0;
var2 = index;
value3 = 0;
for cnt = 0 to var2-var3{
value3 = value3+var1[cnt];
}
}
value1 = value1+var1;
2020-08-27
931
글번호 141840
답변완료
문의드립니다
거래량 지표를 첨부된 그림과 같이 나타내고 싶습니다
봉하나에 매수.매도 비율을 첨부와같이 예를들어 노랑색이 매수세이고 녹색이 매도세 입니다
수고 하세요
2020-08-27
827
글번호 141839
답변완료
특정 금액이상 매수 체결건 누적 표시 지표가 필요합니다.
안녕하세요?
주식 차트 1분봉을 사용시 보조지표로서
특정 체결금액이상의 건수를 표시하고 싶습니다.
예를들어
매도1호가 가격이 10,000원 이고 누군가 3,000주를 한번에 매수체결한다면
매수체결금액은 (10,000원 * 3,000주) = 30,000,000 원입니다.
이렇게 매수로서 한번 체결될때 3천만원이상 또는 4천만원 이상등
내가 설정한 금액이상으로 체결되는 매수체결건을 1건으로 1분봉상 1봉당 누적횟수를 보여주는것이죠.
그렇게 당일의 1분봉상 1분간 누적횟수 카운팅 후 다음 1분봉에서는 초기화되어 또 그 1분간의 누적회수를 표시하구요.
또 1봉당 누적체결건과 함께 당일전체 누적횟수건을 보여주는 지표 수식을 만들어 주시면 감사하겠습니다.
2020-08-27
810
글번호 141838
답변완료
분봉 시스템에서 일봉의 이평선..
안녕하세요?
분봉으로 시스템 적용시..
일봉의 이평선을 data2로 받아오고 싶은데요.
만약에 일봉의 20선을 적용한다고 한다면..
data2(ma(c,20)) 이렇게 적용해보니 일봉의 이평값을 제대로 못가져오는듯 합니다.
혹시 어떻게 참조하면될까요?
2020-08-27
758
글번호 141837
답변완료
청산후 매입시
안녕하세요?
매도포지션 유지시 청산후 바로 매수 주문이 나갈때요.
바로 청산이 안되고 조금 시간이 걸려서 체결될 수 있는데요.
이때 매수주문이 바로 나가기때문에 증거금이 부족해서 매수주문이 체결이 안될 수 있더라고요.
이런걸 방어할 수 있는 로직이 있을까요?
2020-08-27
847
글번호 141836
미우 님에 의해서 삭제되었습니다.
2020-08-27
3
글번호 141834
답변완료
문의드립니다
1
단기5,중기20,장기60
전고점과 전저점 찾는 수식을 문의드립니다
2
기간은 기본으로하고 투자심리선,mfi,rsi,macd, 스톡캐스틱 이 모두 20이하일때 현재값에
표시하고 싶습니다
2020-08-27
767
글번호 141833