커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8128
글번호 230811
답변완료
3분봉에서
주식 3분봉(혹은 일봉에서)에서 거래량20이평을 0으로 기준하고 거래량20이평 대비 0봉전 거래량값을 해당 체결강도에 곱했을때 지표에 오실레이터 형태로 보고싶습니다.
가능한지요?
도움 부탁드립니다.
2017-01-02
207
글번호 105484
답변완료
다시 부탁드립니다.
안녕하세요
예스스탁입니다.
잔량의 차이가 아니고
(매도잔량/매수잔량)x100%로 해주시면 고맙겠습니다.
첨부된 그림은 나누기 입니다.
첨부하신 그림으로 보아
해당 그림은 잔량의 차이값인것 같습니다.
아래식 적용해 보시기 바랍니다.
속성에서 막대그래프로 지정하시면 됩니다.
var1 = Bids-asks;
if var1 >= 0 then
plot1(var1,"총잔량비",RED);
Else
plot1(var1,"총잔량비",blue);
PlotBaseLine1(0);
즐거운 하루되세요
> 햇살가득 님이 쓴 글입니다.
> 제목 : 호가잔량
> 컴퓨터를 포맷하면서 기존에 사용하던 지표자료를 백업을 하지않고 날렸어요.
주식 3분봉에서 첨부화일처럼 총잔량비를 오실레이터 형태로 만들어서 보고싶습니다.
아래와 같이 해보니 오실레이터 모양이 안나옵니다.
도와주세요.
감사합니다.
var1 = Bids/asks*100;
if var1 >= 100 then
plot1(var1,"총잔량비",RED);
Else
plot1(var1,"총잔량비",blue);
PlotBaseLine1(0);
2017-01-02
271
글번호 105480
답변완료
부탁드립니다
if NextBarSdate > sdate Then
buy("b",AtMarket);
SetStopProfittarget(1,PointStop);
여기서 매수후 반대로가서 손절 1P 청산식 추가 부탁 드립니다.
2017-01-02
186
글번호 105477
답변완료
분봉에서...
분봉차트에서 5%이상 상승한 일봉의 저가를 기억하고 그 일봉이 7일이내발생했고
30분봉차트에서 봉의 H와 L사이에 그일봉의 저가가 있을때를 아래와 같이
답변해 주셨는데 잘 않됩니다
검토 부탁드립니다
var : cnt(0);
Condition1 = false;
for cnt = 1 to 7{
if Condition1 == false and DayLow(cnt) > DayClose(cnt+1) Then{
var1 = daylow(1);
Condition1 = true;
}
}
if Condition1 == true and
H >= var1 and var1 >= L Then
find(1);
2017-01-02
176
글번호 105474
답변완료
문의드립니다.
선물차트 기준으로 문의드립니다.
일목균형표의 선행스팬1선을 기준으로 선행스팬1선 위는 붉은색으로 선행스팬1선 아래는
파란색으로 색채우기를 하고 싶습니다.
수식을 어떻게 작성해야 하는지요?
부탁드립니다.
감사합니다. !!!
2017-01-02
192
글번호 105468
답변완료
수식 부탁합니다.
안녕하세요.
3분차트에서 60분타주기분봉 직전봉 고가 종가상돌파시 매수
직전봉 저가 종가상 돌파시 매도 해선용이구요 매매시간은
17시--새벽02시 까지입니다.
수고하십시요.
2017-01-01
234
글번호 105467
바닥차기 님에 의해서 삭제되었습니다.
2017-01-01
2
글번호 105466
답변완료
수식부탁드립니다-------------
지수 와 GapVa77의 변동율에 일정값을 곱한것인데 이렇게하니까 첨부의 차트중간처럼 둘의 변동폭이 일정범위에서 같이 움직입니다 이를다시
일정범위를 기준으로변동율을 누적해서 첨부의 맨아래차트처럼 지수형태로 부탁드림니다 va90과 va91을 겹쳐보고싶어서 그럽니다
부탁드립니다
Input : Period1(1),Period5(3),단기급증(6),단기급감(3),단기급등락(30),
장기급증(0.8),장기급감(0.8),장기급등락(5),돌파(15),급변(100),단기급변(50),순매수급증보정(0.6),
순매수급감보정(0.6),순매수보정한계(50)/*,고저기간(0)*/
,LENGTH1(2) ,LENGTH2(20),과열(10),되돌림(0),tsfPeriod(14);
Var : va(0);
Var : va1(0);
Var : va2(0);
Var : va3(0);
Var : va4(0);
Var : va11(0);
Var : va12(0);
Var : va15(0);
Var : va33(0);
Var : va20(0);
Var : va38(0);
Var : va77(0);
Var : va87(0);
Var : va88(0);
Var : va90(0);
Var : va91(0);
var : va94(0);
var : va95(0);
Var : value(0);
Var : vp(0),II(0),AA(0),BB(0);
var : N(0),T(0),EP1(0),EP2(0);
var : ema11(0),ema12(0),ema13(0);
var : ema21(0),ema22(0),ema23(0),cnt1(0),cnt2(0);
var : vmin(0),vmax(0);
var : TSF(0);
EP1 = 2/(LENGTH1+1);
EP2 = 2/(LENGTH2+1);
if Bdate != Bdate[1] Then{
II = 0;
BB = 0;
AA = 0;
}
II = II+1;
BB = BB+Bids;
AA = AA+Asks;
if II < Period5 Then{
va = (BB/II)-(AA/II)+8000;
}
else{
va = ma(bids,period5)-ma(asks,period5)+8000;
}
if II < Period1 Then{
va1 = (BB/II)-(AA/II)+8000;
va2 = (BB/II)-(AA/II)+8000;
va3 = (BB/II)-(AA/II)+8000;
va4 = (BB/II)-(AA/II)+8000;
}
//순매수에 8000 더해 양의값만들기----------------------------
else{
va1 = ma(bids,period1)-ma(asks,period1)+8000;
va2 = ma(bids,period1)-ma(asks,period1)+8000;
va3 = ma(bids,period1)-ma(asks,period1)+8000;
va4 = ma(bids,period5)-ma(asks,period5)+8000;
}
//순매수5이평의 급등락축소시작----------------------------
if ii > 1 and va >va[1]+장기급등락 then va = ((va -va[1])/장기급증)+va[1];
if ii > 1 and va <va[1]-장기급등락 then va = va[1]-((va[1] -va)/장기급감);
If ii >= 2
Then
{
//순매수 일정차 이상의급등락축소시작----------------------------
//if va1 >va1[1]+급등락 then va1 = va1 -급등락;
if va1 >va1[1]+단기급등락 then va1 = ((va1 -va1[1])/단기급증)+va1[1];
//if va1 >va1[1]+소등락 then va1 = va1 - 소등락;
if va1 <va1[1]-단기급등락 then va1 = va1[1]-((va1[1] -va1)/단기급감);
//if va1 <va1[1]-급등락 then va1 = va1 + 급등락;
//if va1 <va1[1]-소등락 then va1 = va1 + 소등락;
//급등락축소시작----------------------------
//순매수 일정차 이하의급등락축소시작----------------------------
if va2 >va2[1]+순매수보정한계 then va2 = ((va2 -va2[1])*순매수급증보정)+va2[1];
if va2 <va2[1]-순매수보정한계 then va2 = va2[1]-((va2[1] -va2)*순매수급감보정);
if va2 >va2[1]+20 then va2 = ((va2 -va2[1])*0.22)+va2[1];
if va2 <va2[1]-20 then va2 = va2[1]-((va2[1] -va2)*0.22);
if va2 >va2[1]+220 then va2 = ((va2 -va2[1])*0.3)+va2[1];
if va2 <va2[1]-220 then va2 = va2[1]-((va2[1] -va2)*0.3);
//1이평 막대표시 -----------------------------------------------
If va1 > va1[1] Then
{
Plot10(va1, "매수잔량 우위");
Plot11(0, "매도잔량 우위");
}
Else{
Plot10(0, "매수잔량 우위");
Plot11(va3, "매도잔량 우위");
}
//5이평 막대표시 -----------------------------------------------
If va > va[1] Then
{
Plot3(va, "5매수총잔량 우위");
Plot4(0, "5매도총잔량 우위");
}
Else{
Plot3(0, "5매수총잔량 우위");
Plot4(va, "5매도총잔량 우위");
}
PlotBaseLine1(12000,"기준선12");
PlotBaseLine2(11000,"기준선11");
//테마합 일정 수량차이상의 급등락 표시
if va4 > va4[1]+ 급변 Then{plot55(vp-100,"급등");}
if va4 < va4[1]- 급변 Then{plot46(vp-100,"급락");}
}
// if Highest(va1,고저기간 )==0 then{
// va11=Lowest(va1,고저기간 );
if ii >= 2 and va2 > va2[1]+ 단기급변 Then{plot66(va2,"단기");}
if ii >= 2 and va2 < va2[1]- 단기급변 Then{plot66(va2,"단기");}
Plot99(va2, "순매수1차보정",iff(va2>va2[1]-00,red,iff(va2<va2[1]+00,BLUE,BLACK)));
Plot9(va4, "순매수");
if va2 >va2[1]+25 then va15 = ((va2 -va2[1])*01.1)+va2[1];
if va2 <va2[1]-25 then va15 = va2[1]-((va2[1] -va2)*1.1);
if va15 >va15[1]+30 then va15 = ((va15 -va15[1])*1.1)+va15[1];
if va15 <va15[1]-30 then va15 = va15[1]-((va15[1] -va15)*1.1);
//--------------------------------------------
if va15 < va2 then {vp=((va2-va15)/2)+va15;}
if va2 < va15 then {vp=((va15-va2)/2)+va2;}
if va2 > va15 then va33 = (va2 - va15) / 2 + va15;
if va15 > va2 then va33 = (va15 - va2) / 2 + va2;
plot47(va33,"반반",iff(vp>vp[1]+00,red,iff(vp<vp[1]-00,BLUE,BLACK)));
//*********************************************************
if vp >vp[1]+570 then vp = ((vp -vp[1])*0.25)+vp[1];
if vp <vp[1]-570 then vp = vp[1]-((vp[1] -vp)*0.25);
//**********************************************************
// vp = (2 * Ema(vp,LENGTH1)) - (2 * Ema(Ema(vp,LENGTH1),LENGTH1)) +
// (Ema(Ema(Ema(vp,LENGTH1),LENGTH1),LENGTH1));
//Plot20(vp, "반");
plot20(vp+100, "반",iff(vp>vp[1]+00,red,iff(vp<vp[1]-00,BLUE,BLACK)));
/*TSF = LRL(va4,tsfPeriod)+LRS(va4,tsfPeriod);
if TSF >TSF[1]+220 then TSF = ((TSF -TSF[1])*0.6)+TSF[1];
if TSF <TSF[1]-220 then TSF = TSF[1]-((TSF[1] -TSF)*0.6);
Plot60(TSF,"TSF",iff(TSF>TSF[1]+00,red,iff(TSF<TSF[1]-00,BLUE,BLACK)));
*/
Plot60(va15, "순매수1",iff(va15>va15[1]+00,RED,iff(va15<va15[1]-00,BLUE,BLACK)));
if ii == 1 Then
ema11 = va3;
else
ema11 = va3 * EP1 +ema11 * (1-EP1);
if ii <= 2 Then
ema12 = ema11;
else
ema12 = ema11 * EP1 +ema12 * (1-EP1);
if ii <= 3 Then
ema13 = ema12;
else
ema13 = ema12 * EP1 +ema13 * (1-EP1);
//순매수를 테마로
if ii >= 3 then
va77 = (2.6 * ema11) - (2.6 * ema12) + (ema13);
Plot58(va77, "테마");
va88 = va77;
if va2 < va77 and va3 > va77 Then
{ va88 = va3;
}
if va2 > va77 and va3 < va77 Then
{ va88 = va3;
if va88 >va88[1]+220 then va88 = ((va88 -va88[1])*0.3)+va88[1];
if va88 <va88[1]-220 then va88 = va88[1]-((va88[1] -va88)*0.3);
}
Plot95(va88, "테마합");
if ii == 1 Then
ema21 = va88;
Else
ema21 = va88 * EP2 +ema21 * (1-EP2);
if ii <= 2 Then
ema22 = ema21;
Else
ema22 = ema21 * EP2 +ema22 * (1-EP2);
if ii <= 3 Then
ema23 = ema22;
else
ema23 = ema22 * EP2 +ema23 * (1-EP2);
if ii >= 3 then
va87 = (3 * ema21) - (3 * ema22) + (ema23);
//Plot78(va87, "테마합테마");
plot78(va87+000, "테마합테마",iff(va87>va87[1]+00,red,iff(va87<va87[1]-00,BLUE,BLACK)));
if ii >= 2 then{
//TSF 막대표시 -----------------------------------------------
If va87 < va77 Then
{
Plot45(vmin-100, "테마상승 우위");
Plot44(0, "테마하락 우위");
}
If va87 > va77 Then{
Plot45(0, "테마상승 우위");
Plot44(vmin-100, "테마하락 우위");
}
//매수매도신호-------------------------------------------------------
/* If va4[1]+300 < va4 Then{
Plot96(va4+200, "매/수");
}
If va4[1]-300 > va4 Then{
Plot97(va4+200, "매/도");
}
*/
//-------------------------------------------------------------------------
/* if CrossUp(va2,vp) Then
{
Plot85(va2-200, "buy");
PlaySound("C:₩예스트레이더₩data₩Sound₩bubbles");
}
if CrossDown(va2,vp) Then
{
Plot86(va2+300, "sall");
PlaySound("C:₩예스트레이더₩data₩Sound₩accept.wav");
}
*/
//---------------------------------------------------------------------------
if va4[2] > va4[1] and va4[1]+00 < va4 Then{
plot85(va4-230,"y매수");
// PlaySound("C:₩예스트레이더₩data₩Sound₩reject.wav");
}
if va4[2] < va4[1] and va4[1]-00 > va4 Then{
plot86(va4+250,"y매도");
// PlaySound("C:₩예스트레이더₩data₩Sound₩reject.wav");
}
vmin = min(va87,va77);
vmax = max(va87,va77);
if va2 > va15 then va33 = (va2 - va15) / 2 + va15;
if va15 > va2 then va33 = (va15 - va2) / 2 + va2;
plot47(va33,"반반");
va20 = (vp+va15+va2+va33)/4;
plot98(va20, "4평균",iff(va20>va20[1]+00,red,iff(va20<va20[1]-00,BLUE,BLACK)));
input: 봉완성(0);
var : SS(0),TS(0),second(0);
#봉시작
var1 = TimeToMinutes(stime)*60;
var2 = FracPortion(stime/100)*100;//시작시간 초
SS = var1+var2;
#봉끝
value1 = TimeToMinutes(time)*60;
value2 = FracPortion(time/100)*100;//긑시간 초
TS = value1+value2;
Second = TS-SS;
if second < 봉완성 Then
plot27(vmin-200,"체결단");
Else
plot28(vmin-200,"체결장");
}
var : gap1(0),gapVa77(0);
var : gap2(0),gapVa4(0);
var : gap3(0),gapVa87(0);
if Bdate != Bdate[1] Then{
gap1 = gap1+(va77-va77[1]);
gap2 = gap2+(va4-va4[1]);
gap3 = gap3+(va87-va87[1]);
}
GapVa77 = Va77-Gap1;
GapVa4 = Va4-Gap2;
GapVa87 = Va87-Gap3;
plot91(GapVa77,"테마합갭보정");
plot92(GapVa4);
plot93(GapVa87,"테마합테마갭보정",iff(GapVa87>GapVa87[1]+00,rgb(255,0,0),iff(GapVa87<GapVa87[1]-00,BLUE,BLACK)));
if GapVa87[2]>GapVa87[1] and GapVa87[1]<GapVa87 Then{
plot71(GapVa87-200,"테마매수유리");
PlaySound("C:₩예스트레이더₩data₩Sound₩Bell2.wav");
}
if GapVa87[2]<GapVa87[1] and GapVa87[1]>GapVa87 Then{
plot72(GapVa87+200,"테마매도유리");
PlaySound("C:₩예스트레이더₩data₩Sound₩Bell2.wav");
}
//====================================================================
va90=((c-c[1])/c[1]*100)*20000;
plot74(va90,"지수변폭");
va91=((GapVa77-GapVa77[1])/GapVa77[1]*100)*140;
plot75(va91,"테마변폭");
//=====================================================================
2017-01-01
374
글번호 105465
답변완료
박스권 돌파 수식 질문입니다.
1. 종가기준 30개봉 동안 최고가 최저가가 차이가 10틱 이내
2. 현재봉 종가기준 3틱이상 돌파시 다음봉 시가에 매수
3. 익절 8틱, 손절 8틱
감사합니다.
2017-01-01
241
글번호 105464