커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4667
글번호 230811
답변완료
재문의 드립니다.
수식에서 데이터는 완성봉의 데이터만 이용합니다.
직전 완성봉의 특정가격대비 다음 미완성봉 현재가와 비교해
즉시 신호를 내는 타입(atstop,atlimit)도 기본차트(data1)가격으로만 가능합니다.
기본차트도 현재봉의 이평값과 현재가를 비교해서는 신호를 발생할수 없습니다.
문의하신 내용은 봉완성으로만 가능합니다.
var : 지표A(0,data1),mav2(0,data2);
지표A = data1(~~~~);
mav2 = data2(ma(C,10):
if 지표A > 지표A[1] and mav2 > mav2[1] and data2(crossup(c,mav2)) Then
buy();
if 지표A < 지표A[1] and mav2 < mav2[1] and data2(crossdown(c,mav2)) Then
buy();
즐거운 하루되세요
> as8282 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> data1 의 지표A 가 상승방향일때
data2의 10일 이평선의 기울기가 상승이면
data2의 10일 이평 가격에서 바로 매수 진입가능하게 부탁드립니다.
( data2 의 10이평을 터치하는봉의 종가 가격이 아닌
10 이평에서 바로 진입할수있게 부탁드립니다.)
매수 매도식 같이 부탁드립니다.
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
data2의 진입은 봉완성이고 data1의 10 이평가격에서는 가능하다면
data1 의 10이평가격에서 진입되는 매수매도식을 부탁드립니다.
2016-03-08
126
글번호 96094
답변완료
문의드립니다.
매번 성실한 답변에 감사드립니다.
지표식-
n봉기간동안 음봉과 양봉발생시 거래량을 각각 누적하여
기준선 상(양봉거래량)하단(음봉거래량)에 막대그래프로 표시해주시고
검색식-
음봉누적거래량대비 양봉누적거래량비율이 현재봉기준 n봉내 최고비율검색식과
n봉내 최저비율검색식 부탁드립니다.
감사합니다.
2016-03-08
130
글번호 96091
답변완료
문의드립니다
46749번 문의에 친절하고 상세한 답변 정말 감사합니다^^
보내주신대로 틱챠트에 작용해 보았는데요
1.
첨부그림처럼 폭 A,B의 대칭선을
파라볼 하단부의 시작점부터 그리고 상단부의 시작점부터 형성되었으면 합니다.
2.
그리고 이렇게 아래 위로 라인이 형성될때
측면선이 있으니 챠트가 깔끔하지 못한데
A와 B처럼 측면이 없는 선분만 생겼으면 좋겠습니다.
수고하십시오 감사합니다~!
2016-03-08
198
글번호 96090
답변완료
문의드립니다.
1- 아래 일목 신호에
2- 스토케스틱 크로스 방향과 일치하는 신호만 진입하고 싶습니다.
(일목신호)
================================================
Input : P(60);
var : T(0),Bcond(false),Scond(false);
var1 = ma(c,20);
var2 = (Highest(High, 25)[5] + Lowest(Low, 25)[5]) / 2;
if crossup(C,var1) Then{
T = 1;
Bcond = false;
}
if CrossDown(C,var1) Then{
T = -1;
Scond = false;
}
if T == 1 Then{
if L >= var2+PriceScale*2 Then
Bcond = true;
if Bcond == true and C > value3 then
buy("b",atlimit,var1);
}
if T == -1 Then{
if H <= var2-PriceScale*2 Then
Scond = true;
if Scond == true and C < value3 then
sell("s",atlimit,var1);
}
(스토케스틱 신호)
================================
Input : Period(25), Period1(5), Period2(5);
value1 = StochasticsK(Period,Period1);
value2 = StochasticsD(Period,Period1,Period2);
If stime >= 090000 and stime < 143000 and CrossUP(value1, value2) Then
{
Buy();
}
If stime >= 090000 and stime < 143000 and CrossDown(value1, value2) Then
{
sell();
}
위의 2개 조건이 맞을 때 신호가 나오도록 부탁드립니다.
감사합니다..
2016-03-08
110
글번호 96089
부양가족 님에 의해서 삭제되었습니다.
2016-03-08
0
글번호 96088
답변완료
수식 문의드립니다.
안녕하세요.
혹시 개인 콜옵션 순매수금액에서 개인 풋옵션 순매수금액의 차이를 지표로 나타낼수 있을까요?
감사합니다.
2016-03-08
120
글번호 96087
답변완료
수식 문의 드립니다.
안녕하세요.
먼저 답변 감사드립니다.
아래 주신 답변 중, 몇가지 의문 나는 것이 있어 재문의 드립니다.
1. if (C0 > C1)
T = 1;
if (C0 > C1)
T = -1;
여기서 아래식의 부등호는 "<"로 바꾸는 게 맞을 것 같은데, 어떤지요?
2.
dnvol = upvol+MarketData1.volume;
여기서 upvol 대신 dnvol 을 쓰는게 맞을 것 같은데, 맞는지요?
3.
기존에 주신 수식을 제가 좀 변경을 해봤습니다.(T 라는 변수를 이용안함)
아래와 같이 쓰는 것과 어떤 차이가 있는지요?
코드 기법상 다른 효과가 있는지 알려주시면 고맙겠습니다.
if (C0 > C1)
{
upvol = upvol+MarketData1.volume;
}
if (C0 > C1)
{
dnvol = dnvol +MarketData1.volume;
}
감사합니다.
=====================================================================================
안녕하세요
예스스탁입니다.
종목객체의 일간데이터에서는
upvol,downvol이 제공됩니다.
MarketData1.GetPrevUpVol(nIndex)
MarketData1.GetPrevDnVol(nIndex)
다만 실시간 데이터에서는 해당 값이 제공이 되지 않고
사용자분이 수식에서 계산해서 사용하셔야 합니다.
직전 체결가보다 현재 체결가가 높으면 up, 낮으면 down이고
동일값이면 이전 발생한쪽으로 집계가 되며
당일 첫시세는 up으로 간주합니다.
아래 내용 참고하시기 바랍니다.
게시판 금칙어가 있어 영문 업데이트가 up*date로 중간에 *이 있으므로
삭제하고 사용하시기 바랍니다.
var upvol, downvol, C0,C1,T;
function Main_OnStart()
{
upvol = 0;
dnvol = 0;
C1 = 0;
C0 = 0;
T = 0;
}
function Main_OnUp*dateMarket(sItemCode, lUp*dateID)//*삭제
{
if (lUp*dateID == 20001)//*삭제
{
C1 = C0;
C0 = MarketData1.current
if (C0 > C1)
T = 1;
if (C0 > C1)
T = -1;
if (T == 1)
{
upvol = upvol+MarketData1.volume;
}
if (T == -1)
{
dnvol = upvol+MarketData1.volume;
}
}
}
예스스팟은 데이터의 주기가 있지 않습니다.
실시간으로 계속 시세를 받습니다.
차트와 같이 일정 주기로 값을 확인하신 다면
해당 부분은 차트에 지표를 적용하고 확인하셔야 합니다.
plot1(upvol);
plot2(downvol);
위 지표를 "상승하락볼"이라는 이름으로 지표로 만드신후 차트에 적용요하신 후에
스팟식에서 아래와 같은 함수로 값을 리턴받아 사용하실수 있습니다.
Chart1.GetIndicatorData("상승하락볼",1,0);//상승하락볼지표의 plot1의 현재값
Chart1.GetIndicatorData("상승하락볼",2,0);//상승하락볼지표의 plot2의 현재값
즐거운 하루되세요
> ywesry 님이 쓴 글입니다.
> 제목 : 수식 문의 드립니다.
> 안녕하세요.
예스랭귀지에는 UpVol, DownVol이 있어서,
매수/매도량을 알수가 있는데,
예스스팟에서도 이를 구할 수 있었으면 해서 문의드립니다.
예스스팟 종목객체의 체결량은 volume과 volumeTotal만 있는데,
한 종목객체에 대해서 현재가를 이용하여 각각의 매수/매도 체결량을 구할 수 있을 것 같은데,
수식으로 작성이 어려워 문의 드립니다.
감사합니다.
2016-03-08
140
글번호 96081
답변완료
46727번 문의에 대한 재문의
46727 질문 아래 리플로 재문의 드렷습니다 수식 부탁드립니다
2016-03-08
114
글번호 96080
답변완료
문의 드립니다.
안녕하세요.
시스템 모니터의 총계의 숫자의
값을 예스랭귀지에서
가져올수 있는지 궁금 합니다.
그리고
포트폴리오의
당일 현재 손익을
예스랭귀지에서 가져올수
있는지 궁금합니다.
2016-03-08
123
글번호 96073