커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6390
글번호 230811
답변완료
문의
골드와 나스닥을 합쳐서 전일 종가를 기준으로 골드는 1틱으로 계산하고 나스닥은 0.5로 계산해서 만약에 둘이 합쳐서 1틱이 올라가면 1로 나타나고 1틱이 빠지면 -1로 표현되도록 해주세요.
만약에 골드가1틱올라가고 나스닥이 1틱 빠지면 +0.5로 나타나게 해주세요?
왜이런 말을 하느냐하면 골드는 한틱 올라가면 10달러이고 나스닥은 5달러이기 때문에
전일종가를 기준으로 골드가 한틱올라가고 나스닥이 한틱 내려가면 실제로5달러가 올라가기 때문입니다. 그래서 둘을합쳐서 전일 종가기준으로 지표로 표현하고 싶습니다
2016-09-13
140
글번호 101956
답변완료
에스 수식으로 변형 부탁드립니다
안녕하세요! 예스 식으로 수식 변형 좀 부탁드립니다
1.스토캐스틱 변형 수식입니다
키움수식은
(c-lowest(l,n))/(highest(h,n)-lowest(l,n))*100 를 쓰고,
라인설정에서 기준값 50이상을 과열, 50 이하를 침체로 설정하면
위와 같은 그림을 얻을 수 있다.
2. 트릭스와 이평
첫 번째 차트(트릭스)
수식1(수식이름 트릭스)
HighestSince(1, CrossUp(Trix(TR1),0), avg(C,EA1) )
수식2(수식이름 추세)
LowestSince(1, CrossDown(Trix(TR1),0), avg(C,EA1) )
지표설정 조건
tr1 10
ea1 30
두번째 차트(이평)
수식1(수식이름 이평)
A=avg(c, MA1);
B=avg(c, MA2);
if(A >= B,ValueWhen(1, Crossup(A ,B), A),B)
수식2(수식이름 추세)
if(A < B,ValueWhen(1, Crossdown(A ,B), A),B)
지표설정 조건
ma1 10
ma2 30
3. 오피피봇
수식1(수식이름 저점3)
전고=predayhigh();
전저=predaylow();
전종=predayclose();
중심값=(전고+전저+전종)/3
진폭=(전고-전저);
고점1=(2*중심값)-전저
저점1=(2*중심값)-전고
고점2=중심값+진폭
고점3=(고점1+고점2)/2
저점3=(저점1+저점2)/2
저점2=중심값-진폭
수식2(수식이름 저점1)
저점1
수식3(수식이름 중심값)
중심값
수식4(수식이름 고점1)
고점1
수식5(수식이름 고점3)
고점3
4. 변형 RSI
수식4(수식이름 변형)
c
수식5(수식이름 RSI)
a=valuewhen(1,crossup(rsi(기간),50),c);
b=valuewhen(1,crossdown(rsi(기간),50),c);
d=(a+b)/2
감사합니다! 추석 명절 잘 보내세요1
2016-09-13
459
글번호 101955
답변완료
수식 부탁드립니다
3캔들 연속 양봉 형성할 경우 첫번째 양봉 시가를 표시한다
3캔들 연속 음봉 형성할 경우 첫번째 음봉 시가를 표시한다
감사합니다
2016-09-13
177
글번호 101949
답변완료
수식 수정 부탁드립니다.
안녕하세요.
당일청산 연결선물 신호로 아래 당일 시가진입식을 예스스팟을 이용 미니선물로
매매시 "가격 제한폭 초과" 진입오류가 발생 합니다.
확인 수정 부탁 드립니다.
감사합니다.
연결선물 진입수식
if NextBarSdate != Sdate and NextBarOpen > C Then
Buy("BY",AtMarket);
if NextBarSdate != Sdate and NextBarOpen < C Then
Sell("SL",AtMarket);
예스스팟수식
//차트에서 신호발생
function Chart1_OnRiseSignal(Signal)
{
//매수진입신호 발생
if (Signal.signalKind == 1)
{
//MarketData1종목을 매도5호가로 1계약 매수주문
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Ask(5), 0);
}
//매수포지션 청산신호 발생
if (Signal.signalKind == 2)
{
//MarketData1종목을 매수5호가로 1계약 매도주문
Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Bid(5), 0);
}
//매도 진입신호 발생
if (Signal.signalKind == 3)
{
//MarketData1종목을 매수5호가로 1계약 매도주문
Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Bid(5), 0);
}
//매도 포지션 청산신호 발생
if (Signal.signalKind == 4)
{
//MarketData1종목을 매도5호가로 1계약 매수주문
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Ask(5), 0);
}
}
2016-09-13
174
글번호 101946
고박사122 님에 의해서 삭제되었습니다.
2016-09-13
0
글번호 101943
고박사122 님에 의해서 삭제되었습니다.
2016-09-13
0
글번호 101942
답변완료
문의드립니다.
input : Per1(23.6),Per2(38.2),Per3(50.0),Per4(61.8),Per5(76.4);
var : HH(0),LL(0);
if index == 0 or date > date[1]+30 then{
HH = H;
LL = L;
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
var1 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per1/100));
var2 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per2/100));
var3 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per3/100));
var4 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per4/100));
var5 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per5/100));
plot1(var1,"23.6");
plot2(var2,"38.2");
plot3(var3,"50.0");
plot4(var4,"61.8");
plot5(var5,"76.4");
위에 식이 월 마다 변동되는 고점 저점 에 대한 피보나치 수열 적용 된 지표인데요.
월이 아닌 주 마다 적용할 수 있게 해주시면 감사하겠습니다.
매번 감사드립니다.
2016-09-13
145
글번호 101940
답변완료
수식문의드려요
1.
정배열일때 저런식으로 바코드 표시로 하고싶습니다.
단순 5 10 20 60
2.
단순 100일 선과 30일선을 점선으로 하여 이평선 각도가 전캔들 보다 높으면 노랑색
밑으로 꺽이면 회색 이런식으로 표현하고 싶은 수식이 필요합니다.
3.
var : WeekLow(0),WeekLowDate(0);
if DayOfWeek(sdate) < DayOfWeek(sdate[1]) then{
WeekLow = L;
WeekLowDate = sdate;
}
if L < WeekLow Then{
WeekLow = L;
WeekLowDate = sdate;
}
if sdate == WeekLowDate Then
var1 = DayClose;
if date != date[1] Then
var2 = var1[1];
plot1(var2+PriceScale*20);
이수식은 월~금 요일까지인데요 저는 월화수목금월 까지 적용하고 화요일부터는 월요일 포함된
월화..이런식으로 나가고 싶습니다. 주의 저점인데 월요일은 저번6캔들의 저점을 적용하고싶습니다.
2016-09-13
267
글번호 101939
답변완료
495111 재질의
말씀하신대로 기본종목 틱주기, 참조데이터 data2 분주기로 하고 시스템 실행하려고 하면 "수식에서 참조할 첫번쨰 종목데이터가 없습니다"라는 메시지가 뜹니다.
그래서 참조데이터 data2를 틱주기, data3을 분주기로 해 보니 진입해야 할 곳에 진입이 없고 원했던 것도 아닌 것 같네요.
어떻게 해야 하나요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 시스템 질문
> 안녕하세요
예스스탁입니다.
참조데이터를 봉완성시로만 가능합니다.
5분봉 참조데이터를 이용해야 하는데 atstop등으로 구현되지 않습니다.
#기본종목 틱주기
#참조데이터 data2 분주기
input : sto1(10),sto2(5),sto3(5),P(75);
var : ema1(0,data1),stok1(0,data2),stod1(0,data2),ema2(0,data2);
var : d2c(0);
ema1 = data1(ema(C,P));
stok1 = data1(StochasticsK(sto1,sto2));
stod1 = data1(StochasticsD(sto1,sto2,sto3));
ema2 = data3(ema(C,P));
D2C = data2(c);
if data1(C > ema1) and data1(crossup(stok1,20)) and data2(C>ema2) Then
buy();
if data1(C < ema1) and data1(CrossDown(stok1,80)) and data2(C<ema2) Then
sell();
if MarketPosition == 1 Then{
if data1(CrossDown(stok1,80)) Then
exitlong("bx1");
if data2(C) <= D2C[BarsSinceEntry]-PriceScale*10 Then
ExitLong("bx2");
}
if MarketPosition == -1 Then{
if data1(Crossup(stok1,20)) Then
ExitShort("sx1");
if data2(C) >= D2C[BarsSinceEntry]+PriceScale*10 Then
ExitShort("sx2");
}
즐거운 하루되세요
> aaaaa 님이 쓴 글입니다.
> 제목 : 시스템 질문
> 참조 데이터를 이용하려고 하는데,
1. 틱차트 상 (i) 75 지수이평선 위에 있고, (ii) Slow stochastic이 20 cross-up 하면서 (iii) 5분봉 차트상 75 지수이평선 위에 있으면 매수
2. 틱차트 상 (i) 75 지수이평선 아래에 있고, (ii) Slow stochastic이 80 cross-down 하면서 (iii) 5분봉 차트상 75 지수이평선 아래에 있으면 매도
3. stochastic이 80 crossdown하면 매수 청산, 20 cross-up 하면 매도청산
4. stop은 5분봉 차트상 10틱이상 올라가거나 내려가는 경우 stop 주문
2016-09-12
114
글번호 101938