커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6441
글번호 230811
답변완료
수식 문의 드립니다.
안녕하세요.
먼저 답변 감사드립니다.
아래 주신 답변 중, 몇가지 의문 나는 것이 있어 재문의 드립니다.
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
198
글번호 96081
답변완료
46727번 문의에 대한 재문의
46727 질문 아래 리플로 재문의 드렷습니다 수식 부탁드립니다
2016-03-08
129
글번호 96080
답변완료
문의 드립니다.
안녕하세요.
시스템 모니터의 총계의 숫자의
값을 예스랭귀지에서
가져올수 있는지 궁금 합니다.
그리고
포트폴리오의
당일 현재 손익을
예스랭귀지에서 가져올수
있는지 궁금합니다.
2016-03-08
150
글번호 96073
답변완료
문의드립니다.
ma60선과 ma120선이 밀집하여 옆으로 횡보시 매매중지
시스템식 부탁드립니다.
* 기타 참고사항으로 해외통화선물거래, 5분챠트 사용합니다.
2016-03-08
134
글번호 96069
답변완료
반복문 질문드립니다.
언제나 친절한 답변에 감사드립니다. 반복 처리문에 대해 질문 드립니다.
1.
For abc=1 to 1 { 실행문 }
이렇게 초기값과 최종값이 1에서 1까지이면, 뒤의 실행문이 1번 실행되고 끝나게 되나요?
2.
For abc=1 to 9 {
if C=H then abc=9;
}
이런게 가능합니까? 실행문 속에서 포문의 변수를 재할당하는것 말입니다.
만약 가능하다면 2번째 실행할때 C=H가 되면 이 포문은 2번만 반복되고 끝나게 되나요?
2016-03-08
143
글번호 96068
답변완료
문의드립니다.
첨부된 이미지처럼
파라볼릭의 cross up시
하단선의 종료위치와 상단선의 시작위치의 절대값을 구해서 폭 A라고 정하고
상단선의 시작점부터 위로 4폭, 5폭 수평라인을 각각 표시하고
라인간에 하늘색상을 넣고 싶습니다.
아래로도 4폭, 5폭을 수평라인과 핑크색을 넣고 싶습니다.
또 파라볼릭의 cross down시
상단선의 종료위치와 하단선의 시작위치의 절대값을 구해서 폭 B라고 정하고
상단선의 종료지점부터 위로 4폭, 5폭 라인을 각각 표시하고 라인간에 하늘색상을,
하단선의 시작점부터 아래로 4폭, 5폭 라인을 각각 표시하고 라인간에 핑크색상을
표시하고 싶습니다.
감사합니다~!!
2016-03-08
193
글번호 96067
답변완료
문의드립니다.
data1 의 지표A 가 상승방향일때
data2의 10일 이평선의 기울기가 상승이면
data2의 10일 이평 가격에서 바로 매수 진입가능하게 부탁드립니다.
( data2 의 10이평을 터치하는봉의 종가 가격이 아닌
10 이평에서 바로 진입할수있게 부탁드립니다.)
매수 매도식 같이 부탁드립니다.
2016-03-08
135
글번호 96066
답변완료
문의드립니다
안녕하세요.
해외선물 거래에서 미체결과슬리피지와 관련하여 문의드립니다.
1.주문설정 : 현재가+-5 설정시
ex)매수주문시 현재가가 35.15 라고 할때 주문가는 35.20 에실행되면
현재가와 주문가 사이에 (35.16, 35.17, 35.18, 35.19)매도잔량이
있어도 무조건 35.20 에 주문이 실행되어 체결되나요.
2.시장가주문은 100%로 체결되나요.
시장가는 증거금이 일반주문보다 어느정도많나요.
3.시장가와 현재가+-5의 슬리피지는 어느것이 더많이 발생하나요.
4.슬리피지가 신호가격과 체결가격의 차이라고하면 예를들어 주문설정을 현재가
+-5로 할때 무조건 주문가격 +-5로 체결된다고 가정하면 매매건수*5틱으로
슬리피지을 계산하면되나요.(시스템성능보고서의 총손익에서 슬리피지차감할때)
5.예스스팟으로 전환시 미체결 문제를 보완할수있나요.
6.시스템식에 시작시간과 종료시간이 있는데 증권사 (NH,YesClobal)리셋시간으로
변경하여야 하나요.
7.미체결을 방지할수있는 예제 부탁드립니다.
감사합니다.
2016-03-07
145
글번호 96063
답변완료
문의 드립니다..
아래 일목과 + 스토케스틱 2가지 조건이
충족할 때 신호가 발생하도록 부탁드립니다.
계속 에러가 나오네요..
감사합니다...
input : P(60);
var : T(0),Bcond(false),Scond(false);
value3 = ma(C,P);
var1 = ma(c,20);
var2 = (Highest(High, 25)[5] + Lowest(Low, 25)[5]) / 2;
Input : Period(25), Period1(5), Period2(5);
value4 = StochasticsK(Period,Period1);
value5 = StochasticsD(Period,Period1,Period2);
if stime >= 090000 and stime < 145000 and crossup(C,var1) Then{
T = 1;
Bcond = false;
}
if stime >= 090000 and stime < 145000 and CrossDown(C,var1) Then{
T = -1;
Scond = false;
}
if stime < 145000 and T == 1 and CrossUP(value4, value5) Then{
if L >= var2+PriceScale*2 Then
Bcond = true;
if Bcond == true and C > value3 then
buy("b",atlimit,var1);
}
if stime < 145000 and T == -1 and CrossDown(value4, value5) Then{
if H <= var2-PriceScale*2 Then
Scond = true;
if Scond == true and C < value3 then
sell("s",atlimit,var1);
}
2016-03-07
135
글번호 96062