커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4513
글번호 230811
답변완료
문의드립니다
스토케스틱 슬로우 10/5/4 ---> a
스토케스틱 슬로우 20/10 ---> b
1. a 와 b 가 모두 기준선 20이하(k선) 일때 a의 %k선이 b의 %k선을 골든크로스 시 매수신호
2. a 와 b 가 모두 기준선 80이상(k선) 일때 a의 %k선이 b의 %k선을 데드크로스 시 매도신호
익절 20 손절 20
2019-03-31
282
글번호 127502
ddd
ddd
2019-03-31
218
글번호 127501
답변완료
수식
항상 감사드립니다.
조건에 부합하는 봉에만 우측연장 없이 표현될수 있도록 수식 부탁드립니다.
감사합니다.
안녕하세요
예스스탁입니다.
if countif(C>O,2) == 2 and H-L > H[1]-L[1] Then
{
var1 = h;
var2 = l;
var3 = O;
}
plot1(var1);
plot2(var2);
plot3(var3);
plot1(var1+(var1-var2));
plot1(var2-(var1-var2));
if countif(C<O,2) == 2 and H-L > H[1]-L[1] Then
{
var4 = h;
var5 = l;
var6 = O;
}
plot1(var4);
plot2(var5);
plot3(var6);
plot1(var4+(var4-var5));
plot1(var5-(var4-var5));
즐거운 하루되세요
> 한국사람73 님이 쓴 글입니다.
> 제목 : 수식
> 하기 조건에 따른 수식 부탁드립니다.
## 연속 양봉 발생 및 2번째 양봉 고저폭이 첫번째 양봉 고저폭보다 크다
1) 2번째 양봉 고가 & 저가 & 시가를 표시한다
2) 2번째 양봉 고가와 저가의 상방 대칭을 표시한다
3) 2번째 양봉 고가와 저가의 하방 대칭을 표시한다
## 연속 음봉 발생 및 2번째 음봉 고저폭이 첫번째 양봉 고저폭보다 크다
1) 2번째 음봉 고가 & 저가 & 시가를 표시한다
2) 2번째 음봉 고가와 저가의 상방 대칭을 표시한다
3) 2번째 음봉 고가와 저가의 하방 대칭을 표시한다
감사합니다.
2019-03-31
319
글번호 127500
샐리짱 님에 의해서 삭제되었습니다.
2019-03-30
0
글번호 127499
답변완료
지표문의
1.아래는 darvas박스 지표인데요
지표를 뛰우면 1,2,3,4,5 숫자가 나타 나는데 의미가 무엇인가요?
또 숫자 표시 안 되게 지표수정 좀 해주세요.
inputs : ShowAll(true);
var : BoxTop(0), BoxBtm(0), Ctr(0), BBD(0), BBT(0), EBD(0), EBT(0), UpBand(0), DnBand(0), CurrState(1),
TextId(-1), TopId(-1), TopIdP(-1), BtmId(-1), BtmIdP(-1), LSId(-1), LSIdP(-1), RSId(-1), RSIdP(-1),
HiFirst(true), LoFirst(false), State1(false), State2(false), State3(false), State4(false), State5(false),
DrawBox(false), ValidBox(false), HadBreak(false), NewBox(false);
if index == 1 then begin
BoxTop = high;
BoxBtm = low;
State1 = true;
BBD = date;
BBT = time;
end;
if NewBox and high > UpBand then begin
BBD = date;
BBT = time;
TL_SetEnd(TopId, BBD, BBT, UpBand);
TL_SetEnd(BtmId, BBD, BBt, DnBand);
RSIdP = RSId ;
RSId = TL_New(BBD, BBT, DnBand, BBD, BBT, UpBand);
if ShowAll == false and RSIdP <> -1 then TL_Delete( RSIdP ) ;
if HiFirst then TL_SetColor(RSId, yellow);
else TL_SetColor(RSId, magenta);
NewBox = false;
State1 = true;
LoFirst = false;
HiFirst = true;
end;
if NewBox and low < DnBand then begin
BBD = date;
BBT = time;
TL_SetEnd(TopId, BBD, BBT, UpBand);
TL_SetEnd(BtmId, BBD, BBt, DnBand);
RSIdP = RSId;
RSId = TL_New(BBD, BBT, DnBand, BBD, BBT, UpBand);
if ShowAll == false and RSIdP <> -1 then TL_Delete(RSIdP);
if HiFirst then TL_SetColor(RSId, yellow) ;
else TL_SetColor(RSId, magenta);
NewBox = false;
State1 = true;
HiFirst = false;
LoFirst = true;
end;
if HiFirst then begin
if State4 then begin
if high > BoxTop then begin
BoxTop = high;
State1 = true;
State4 = false;
CurrState = 1;
end
else begin
if low < BoxBtm then begin
State4 = false;
State3 = true;
BoxBtm = low;
CurrState = 3;
end
else begin
State4 = false;
State5 = true;
CurrState = 5;
end;
end;
end;
if State3 then begin
if high > BoxTop then begin
BoxTop = high;
State1 = true;
State3 = false;
CurrState = 1;
end
else begin
if low < BoxBtm then begin
State3 = true;
BoxBtm = low;
CurrState = 3;
end
else begin
State3 = false;
State4 = true;
CurrState = 4;
end;
end;
end;
if State2 then begin
if high > BoxTop then begin
BoxTop = high;
State1 = true;
State2 = false;
CurrState = 1;
end
else begin
State2 = false;
State3 = true;
BoxBtm = low;
CurrState = 3;
end;
end;
if State1 then begin
if high > BoxTop then begin
BoxTop = high;
State1 = true;
CurrState = 1;
end
else begin
State1 = false;
State2 = true;
CurrState = 2;
end;
end;
end
else begin #{ Using LoFirst }
if State4 then begin
if low < BoxBtm then begin
BoxBtm = low;
State1 = true;
State4 = false;
CurrState = 1;
end
else begin
if high > BoxTop then begin
State3 = true;
State4 = false;
BoxTop = high;
CurrState = 3;
end
else begin
State4 = false;
State5 = true;
CurrState = 5;
end;
end;
end;
if State3 then begin
if low < BoxBtm then begin
BoxBtm = low;
State1 = true;
State3 = false;
CurrState = 1;
end
else begin
if high > BoxTop then begin
State3 = true;
BoxTop = high;
CurrState = 3;
end
else begin
State3 = false;
State4 = true;
CurrState = 4;
end;
end;
end;
if State2 then begin
if low < BoxBtm then begin
Boxbtm = low;
State1 = true;
State2 = false;
CurrState = 1;
end
else begin
State2 = false;
State3 = true;
BoxTop = high;
CurrState = 3;
end;
end;
if State1 then begin
if low < BoxBtm then begin
BoxBtm = low;
State1 = true;
CurrState = 1;
end
else begin
State1 = false;
State2 = true;
CurrState = 2;
end;
end;
end; #{ END IF HIFIRST OR LOFIRST }
if State5 then begin
DrawBox = true;
EBD = date;
EBT = time;
end;
if DrawBox then begin
TopIdP = TopId;
BtmIdP = BtmId;
LSIdP = LSId;
TopId = TL_New(BBD, BBT, BoxTop, EBD, EBT, BoxTop);
BtmId = TL_New(BBD, BBT, BoxBtm, EBD, EBT, BoxBtm);
LSId = TL_New(BBD, BBT, BoxBtm, BBD, BBT, BoxTop);
if ShowAll == false then begin
if TopIdP <> -1 then TL_Delete(TopIdP);
if BtmIdP <> -1 then TL_Delete(BtmIdP);
if LSIdP <> -1 then TL_Delete(LSidP);
end;
if HiFirst then begin
TL_SetColor(TopId, yellow);
TL_SetColor(BtmId, yellow);
TL_SetColor(LSId, yellow);
end
else begin
TL_SetColor(TopId, magenta);
TL_SetColor(BtmId, magenta);
TL_SetColor(LSId, magenta);
end;
State1 = false;
State2 = false;
State3 = false;
State4 = false;
State5 = false;
DrawBox = false;
ValidBox = true;
end;
if ValidBox then begin
UpBand = BoxTop;
DnBand = BoxBtm;
ValidBox = false;
NewBox = true;
BoxTop = high;
BoxBtm = low;
end;
2.그럼 수고하세요
if HiFirst then TextId = Text_New(date, time, high * 1.0005, NumToStr(CurrState, 0));
else TextId = Text_New(date, time, low * 0.9995, NumToStr(CurrState, 0));
2019-03-30
349
글번호 127498
답변완료
부탁드립니다.
변환부탁드립니다.
감사드립니다.
R=sum(if(C-C(1)>0,C-C(1),0),기간)/sum(if(C-C(1)>0,C-C(1),C(1)-C),기간)*100
eavg(R, signal)
dema(R, signal)
tema(R, signal)
eavg(tema(R, signal),signal)
설정)
기간 14
signal 9
2019-03-30
318
글번호 127497
답변완료
수식 요청
개별 주식에 적용하려고 합니다.
당일 해당종목이 15:10까지 양봉이거나
음봉이라도 당일 15:10 주가가 전날 종가보다 높으면
바로 매수하고
다음날 시가에 매도하는 수식 부탁드립니다
2019-03-29
316
글번호 127496
답변완료
지표부탁드립니다.(시간)
* 많은 도움에 고맙습니다.
(요청1) 스톡 2개를 하나로 하고 싶은데 잘안되네요 하나로 합처주시면 잘 쓰겠습니다.
Input : Period(5), Period1(3), Period2(3);
var : StoK(0),StoD(0);
StoK = StochasticsK(Period,Period1);
StoD = StochasticsD(Period,Period1,Period2);
Plot1(StoK, "StochasticsK",RED,def,1);
Plot2(StoD, "StochasticsD",BLUE,def,1);
Input : Period(8), Period1(4), Period2(2);
var : StoK(0),StoD(0);
StoK = StochasticsK(Period,Period1);
StoD = StochasticsD(Period,Period1,Period2);
Plot1(StoK, "StochasticsK",RED,def,1);
Plot2(StoD, "StochasticsD",BLUE,def,1);
(요청2) 차트에 안되는데 뭐를 잘못 했나요?
즉 당일 설정시간 이후 이평선의 첫골드크로스( OR 첫데드 크로스)가 나면
그가격을 오늘 하루 기준가격 으로 잡고 시간이 지남에 따라
피보선이 상향 or 하향 으로 변화 하면서 그려지게할려고 합니다.
기준 : 기준 가격대비 현재가가 하락 하면 기준 가격이 고점이 되고
기준 가격대비 현재가가 상승 하면 기준 가격이 저점이 되는것입니다.
*기준가격: 11시 이후 첫 골든 크로스나 테드 크로스
input : 날짜(20190329),시간(110000);
var1 = ma(c,5) ;
var2 = ma(c,20) ;
if Sdate == 날짜 and
((sdate != sdate[1] and stime >= 시간) or
(sdate == sdate[1] and stime >= 시간 and stime[1] < 시간)) Then
Condition1 = true;
if Condition1 == true then {
plot1(HH,"고점");
plot2(LL,"저점");
plot3(10^(LOG10(LL)+(LOG10(HH)-LOG10(LL))*(76.4/100)),"-23.6%");
plot4(10^(LOG10(LL)+(LOG10(HH)-LOG10(LL))*(61.8/100)),"-38.2%");
plot5(10^(LOG10(LL)+(LOG10(HH)-LOG10(LL))*(50/100)),"-50%");
plot6(10^(LOG10(LL)+(LOG10(HH)-LOG10(LL))*(38.2/100)),"-61.8%");
plot7(10^(LOG10(LL)+(LOG10(HH)-LOG10(LL))*(23.6/100)),"-76.4%");
plot8(10^(LOG10(HH)+(LOG10(HH)-LOG10(LL))*(23.6/100)),"23.6%");
Plot9(10^(LOG10(HH)+(LOG10(HH)-LOG10(LL))*(38.2/100)),"38.2%");
Plot10(10^(LOG10(HH)+(LOG10(HH)-LOG10(LL))*(50/100)),"50%");
Plot11(10^(LOG10(HH)+(LOG10(HH)-LOG10(LL))*(61.8/100)),"61.8%");
plot12(10^(LOG10(HH)+(LOG10(HH)-LOG10(LL))*(76.4/100)),"76.4%");
}
* 고맙습니다. 좋은 한주 되십시요^^
2019-03-31
334
글번호 127495
답변완료
문의
빠른 답변 고맙습니다.
답변1과 답변3은 시뮬레이션이 잘 됩니다.
그런데
답변 2가 시뮬레이션이 되지 않습니다. 다시 한번 부탁드립니다.
매월 1일부터 옵션옵션만기일 전날까지 거래하는 수식
var : nday(0),week(0),Xdate(0);
nday = date - int(date/100)*100;
week = DayOfWeek(date);
if nday >= 8 and nday <= 14 and
week == 4 then
Xdate = sdate;
if nday >= 1 and sdate < Xdate Then
{
진입청산수식
}
***********************************************************************************
안녕하세요
예스스탁입니다.
1
var : nday(0),week(0),Xdate(0);
nday = date - int(date/100)*100;
week = DayOfWeek(date);
if nday >= 8 and nday <= 14 and
week == 4 then
Xdate = sdate;
if sdate == Xdate then
{
진입청산수식
}
2
var : nday(0),week(0),Xdate(0);
nday = date - int(date/100)*100;
week = DayOfWeek(date);
if nday >= 8 and nday <= 14 and
week == 4 then
Xdate = sdate;
if nday >= 1 and sdate < Xdate Then
{
진입청산수식
}
3
var : nday(0),week(0),month(0),Xdate(0),XMonth(0);
month = int(date/100)-int(date/10000)*100;
nday = date - int(date/100)*100;
week = DayOfWeek(date);
if nday >= 8 and nday <= 14 and
week == 4 then
{
Xdate = sdate;
XMonth = Month;
}
if sdate > Xdate and month == XMonth Then
{
진입청산수식
}
즐거운 하루되세요
> 목마와숙녀 님이 쓴 글입니다.
> 제목 : 문의
> 최근 3년간 시뮬레이션을 위해 기간설정 수식을 부탁드립니다.
1. 매월 옵션만기일만 거래하는 수식
2. 매월 1일부터 옵션옵션만기일 전날까지 거래하는 수식
3. 옵션만기일 다음 날부터 매월말까지 거래하는 수식
항상 고맙습니다.
2019-03-30
332
글번호 127494