커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4474
글번호 230811
매일상승 님에 의해서 삭제되었습니다.
2016-12-20
13
글번호 105095
답변완료
시스템식 문의드립니다...
수고가 많으시죠...
볼린저밴드, DMI 시스템식 문의 드립니다...
bollinger bands (40 , 2) DMI(14)
문의 내용은 다음과 같읍니다...
1 볼린저밴드 상단보다 시가가 큰 봉이 20봉 이내에 있고 DIP가 DIM을 하락돌파에 매도
DIM이 DIP골든크로스에 매수
2 볼린저밴드 하단보다 시가가 적은 봉이 20봉 이내에 있고 DIP가 DIM을 하락돌파에 매도
DIM이 DIP골든크로스에 매수
이상입니다...수고하세요
2016-12-19
126
글번호 105093
답변완료
시스템식질문
1.시스템
input : N(0);
var : V1(0),V2(0),cnt(0),D1(0),D2(0);
var : idx(0),idx1(0);
if bdate != bdate[1] Then{
idx = 0;
idx1 = idx[1];
D1 = sdate;
D2 = D1[1];
}
idx = idx+1;
if D2 > 0 then{
Condition1 = false;
for cnt = idx to idx+idx1 {
if Condition1 == false and D2 == sdate[cnt] and stime[cnt] <= stime then{
Condition1 = true;
V1 = DayVolume[cnt];
V2 = V[cnt];
}
}
if DayVolume > V1 and V > V2 Then
buy();
}
요 시스템에
1.
매입한 다음날이됫을때 조건을 만족하면 매도하는 식 구현할수있을까요?
매입한 다음날 진입가격보다 N% 위면매도
이런식으로요
2. 당일 현재봉 이전 거래량중 최대거래량보다 낮을시 매수 금지 이런식도 구현할수있을까요?
2016-12-19
97
글번호 105090
답변완료
수식문의
"최근 10개봉 내에서 20일 고가를 돌파한 봉이 있다면" 을 수식으로 표현 하고자 합니다.
수식 부탁드립니다.
2016-12-19
95
글번호 105079
이주엽 님에 의해서 삭제되었습니다.
2016-12-19
8
글번호 105076
답변완료
수정부탁드립니다-------------------------
va77,va4,va87 을 일간갭보정을하고싶슴니다(전일마지막지표값이 오늘 시작지표값이되게) 지표값은 안보고 방향만 참고하려고 합니다
항상감사합니다 수고하세요
//=============================================================================
Input : Period1(1),Period5(3),단기급증(0),단기급감(0),단기급등락(30),
장기급증(0),장기급감(00),장기급등락(0),돌파(0),급변(100),단기급변(0),순매수급증보정(0.6),
순매수급감보정(0),순매수보정한계(0)/*,고저기간(0)*/
,LENGTH1(2) ,LENGTH2(20),과열(0),되돌림(0),tsfPeriod(0);
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 : 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.5 * ema11) - (2.5 * 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]+20 then va88 = ((va88 -va88[1])*0.5)+va88[1];
if va88 <va88[1]-20 then va88 = va88[1]-((va88[1] -va88)*0.5);
}
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₩alert.wav");}
if va4[2] < va4[1] and va4[1]-00 > va4 Then
{ plot86(va4+250,"y매도");
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.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)));
if CrossDown(va77,va87) Then
plot37(va87+200,"테마매도유리");{
PlaySound("C:₩예스트레이더₩data₩Sound₩accept.wav");
}
if CrossUp(va77,va87) Then{
plot38(va87-200,"테마매수유리");
PlaySound("C:₩예스트레이더₩data₩Sound₩bubbles.wav");
}
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,"체결장");
}
2016-12-19
106
글번호 105075
확실한수익 님에 의해서 삭제되었습니다.
2016-12-19
6
글번호 105074
답변완료
식1
1.일간차트로 전일종가 보다 시가크면
매수
반대 매도
2.타주가첨조 종합지수 1분이용
전일종가 대비 +1이면 매수
전일 종가 대비 -1이면 매도
검사^^
2016-12-19
100
글번호 105073
답변완료
궤적없는.....
궤적없는 중심선 답변감사드립니다.
한가지만 더 문의 드립니다.
그러면 최근 100봉내 궤적없는 중심선을 표현하려면 어떻게 해야 할까요?
제가 dayhigh와 daylow자리를 빠궈서 했는데 표현이 안되더군요~
그리고 선에 대한 두께나 컬러지정을 했더니 삭제되고 다시 만들어지는 거라서
다시 검은 실선으로 만 표현이 되는데요~ 이거 색상과 두께 지정 불가능한 한 건가ㅛ?
2016-12-19
93
글번호 105071