커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4457
글번호 230811
답변완료
예수금잔액 조회 및 매수관련 문의
프로그램을 돌리면서 "예수금잔액"을 조회하여보면 안되는것은 아니지만 무엇인가 조금 이상하게 예수금잔액이 잘 조회되지 않는것 같아서 문의드리게 되었습니다. - 장중 매수매도의 결과에 대한 예수금잔액이 초단위는 아니더라도 분단위로도 반영되지 않는것 같습니다.
도움말 및 Q&A에서 제가 명확하게 이해하지 못해서 문의드림니다.
시스템중에 예수금 잔액을 조회해서 예수금 잔액이 1000000원 보다 크면 매수하는 시스템식을 작성한다고 할때....(가원장 생성항목은 이미 체크하여 놓았습니다)
아래와 같이 프로그램 내부에 "예수금잔액"을 조회해서 잔액만큼 매수한다고 하면 아래와 같이 작성하면 되는것인지??? 아니면 틀렸는지 궁금해서 문의드립니다.
아니면 정확하게 예수금잔액조회를 하기 위해서는 시간 인터벌을 일부러 삽입하여 두고 잔액조회를 해야 하는지요.
다른분의 질문에 대한 답변에서 시스템 부하를 줄이기 위하여 예수금잔액조회를 무한루프로 돌리지 말고 조회시간 간격을 두라는 말씀이 있던데, 무슨말씀인지? 프로그램 내부에 어떻게 시간 루프를 돌리라는 말씀인지 잘 모르겠습니다.
아래와 같이 예수금잔액을 조회해서 매수량을 결정하여 매수하는 방법을 정확하게 알려주셨으면 감사하겠습니다.
.
.
.
예수금잔액 = GetUnclearedDeposits("1111-1111-11");
If
예수금잔액 >= 1000000
and
CrossUp(단기평균값, 중기평균값)
Then
Buy("잔액매수", OnClose, DEF, Ceiling(예수금잔액 / C));
2017-01-10
129
글번호 105734
답변완료
시스템 수식 부탁합니다
input : 기간(120);
var : T(0);
var1 = Highest(h,기간);
var2 = Lowest(L,기간);
var3 = var1-var2;
value1 = var1-var3*0.382;
value2 = var1-var3*0.500;
value3 = var1-var3*0.618;
if value2 > value2[1] Then
T = 1;
if value2 < value2[1] Then
T = -1;
if T == 1 then{
plot1(value1,"1");
plot2(value2,"2");
}
else{
plot1(value3,"1");
plot2(value2,"2");
}
위수식으로시스템수식부탁합니다
2017-01-09
132
글번호 105733
답변완료
문의드립니다
안녕하세요.
시스템식에 참조데이터를 접목시키는 방법에 대한 질문입니다.
첨부된 챠트는 1월6일 국내선물 500틱 챠트이고 진입신호는 MACD[12,26,9] 데드크로스입니다.
첫번째 보조챠트 "외국인 선물 순매수 금액"은 '참조데이터'로서 500틱 주기로 설정한 것인데,
챠트에 데이터가 제대로 나타나지 않고 있습니다.
두번째 보조챠트는 같은 "외국인 선물 순매수 금액"이지만 10분 주기로 설정해서 데이터가 잘 나타나고 있습니다.
1) 틱챠트에서는 이러한 참조데이터는 정상적으로 나타나지 않는지요?
2) 시스템식으로 참조데이터 "외국인 선물 순매수 금액" 수치가 1,500을 초과하면 위의 MACD 데드크로스 매도신호가 발생하지 않게 하는 방법이 있는지요?
매번 감사드립니다.
2017-01-09
152
글번호 105732
답변완료
분할 매수 수식 작성 부탁드립니다
아직 프로그래밍이 익숙치 않아 이렇게 도움 요청드립니다.
아래처럼 시스템 수식 작성이 되나요?
가능하다면 부탁드립니다.
1. 분할로 최대 3차 매수까지 가능하도록
1) 전일 종가에 1차매수
2) 1차 매수 후 주가가 상승하면 5% 수익 매도
3) 1차 매수 후 목표가(5%) 달성하지 못하고 주가가 밀리면 전일 종가의 -3%에서 2차매수
4) 2차 매수 후 평단가의 5% 수익 매도
5) 2차 매수 후 목표가(평단가의 5%) 달성하지 못하고 주가가 밀리면 전일 종가의 -6%에서 3차 매수
6) 3차 매수 후 평단가의 5% 수익 매도
7) 3차 매수 후 목표가(평단가의 5%) 달성하지 못하고 주가가 밀리면 평단가의 -3%에서 손절
2017-01-09
115
글번호 105731
답변완료
질문입니다.
선물에서 시스템을 적용하려고 합니다.
질문1.
시스템A와 시스템B가 있다고 가정해봅니다.
선물계좌도 1과 2가 있다고 가정해봅니다.
차트하나에서 시스템A를 걸고, 이 시스템을 계좌1과 연동시키고,
다른 차트에 시스템B를 걸고, 이 시스템을 계좌2에 연동시키면,
서로 독립적으로 진입과 청산을 하는지 궁금합니다.
여기서 독립적이라는 말뜻은,
시스템A의 진입과 청산은 계좌1에서만 적용되고,
시스템B의 진입과 청산은 계좌2에만 적용됨을 의미합니다.
즉, 예를들어 시스템A에서 매수진입 후 매도로 진입전인데,
시스템B에서 매도진입이 나왔다면,
계좌1이 시스템A에 따라 계속 매수를 유지하는지 궁금합니다.
질문2.
시스템A와 시스템B를 질문1과 같이 각각의 차트에 적용시키고,
이 두 시스템을 계좌1과 연동시키면,
이또한 독립적으로 진입과 청산을 하는지 궁금합니다.
예를들어 시스템A가 매수유지이고, 시스템B에서 매도 신호가 발생했다면,
실제로 계좌는 어떻게 움직이는지 궁급합니다.
둘 이상의 시스템을 적용하여 거래를 하고자 할때,
서로 독립적으로 작동시키기 위해서는 어떤 방식이 효과적인지 궁금해 질문드립니다.
언제나 답변 감사합니다.
2017-01-09
96
글번호 105730
답변완료
질문드립니다.
국선기준입니다.
현재시간으로부터 1시간동안 위아래로 50포인트의 변동이없었으면
false값을줍니다. 어떻게해야하나요?
if ~ then
~~
~~
~~else
시그널 = false
2017-01-09
105
글번호 105726
답변완료
일정시간 안에서
주야간 복합차트에서 아래의 수식이
090000 부터 093000 내에서는 신호발생이 없도록 하기위한 수식을 부탁합니다.
var1 = ma(c,20);
if crossup(c,var1) then
buy();
if crossdown(c,var1) then
sell();
2017-01-09
106
글번호 105718
답변완료
분할청산 및 매매 시간 설정
아래 수식에서 매매 시간을 설정하고 3계약 진입 후 분할 청산을 하고 싶습니다..
매매 시간 : 오전 10시 15분 ~ 12시 50분
(항생 오전 시간 틱차트 매매로 12시 50분에 생성되는 봉 완성 시 일괄청산 )
진입 수량 : 3계약
분할 청산 : 1계약 10틱, 1계약 30틱, 1계약 반대 신호 스위칭
(반대신호 스위칭 시 3계약 진입이 되어야 합니다.)
손절 : -30틱 (반대 신호 발생 전에 -30틱 도달 시 일괄 손절)
매번 성심 성의것 작성해 주셔서 감사 합니다.
input : P(5);
var : rr(0),tx(0);
var1 = ma(C,P);
if MarketPosition <= 0 and #현재 무포지션이거나 매도포지션
C[1] > O[1] and #전봉 양봉
var1[1] <= max(C[1],O[1]) and #전봉 몸통상단(종가)는 이평보다 같거나 큼
C > O Then{ #현재봉 양봉
buy();
if MarketPosition == -1 Then{
tx = Text_New(sdate,stime,H,"S:"+NumToStr((EntryPrice-C)/PriceScale,0));
Text_SetStyle(tx,1,1);
}
}
if MarketPosition >= 0 and #현재 무포지션이거나 매수포지션
C[1] < O[1] and #전봉 음봉
var1[1] >= min(c[1],o[1]) and #전봉 몸통하단(종가)은 이평보다 같거나 작음
C < O Then{ #현재봉 음봉
sell();
if MarketPosition == 1 Then{
tx = Text_New(sdate,stime,H,"S:"+NumToStr((c-EntryPrice)/PriceScale,0));
Text_SetStyle(tx,1,1);
}
}
if MarketPosition == 1 Then{
rr = Floor((highest(H,BarsSinceEntry)-EntryPrice)/(PriceScale*10));
if rr > rr[1] Then{
tx = Text_New(sdate,stime,H,NumToStr(RR*10,0)+"틱");
Text_SetStyle(tx,1,1);
}
}
if MarketPosition == -1 Then{
rr = Floor((EntryPrice-lowest(L,BarsSinceEntry))/(PriceScale*10));
if rr > rr[1] Then{
tx = Text_New(sdate,stime,H,NumToStr(RR*10,0)+"틱");
Text_SetStyle(tx,1,1);
}
}
2017-01-09
114
글번호 105709
답변완료
정말 수고 많으십니다...자꾸 궁금하네요.
주봉을 일간챠트에 플로팅 해보고자 가르쳐주시는데로 적어봤는데요...
아직 데이오브위크가 어렵네요.
한주가 바뀌는 것을 나타낸다고 하는데,
저렇게 되면 월요일 종가로 주봉이 기록되지 않나요.
조건식에서 월요일이 되면 변수에 현재가를 할당한다.
그리고 포문을 돌려서 한칸씩 과거값으로 밀려나가는 것으로 이해되는데요
변수에 들어올 현재가가 금요일 종가로 들어와야 주봉이 되는건데,
식으로 보면 현재가에 월요일 기준 종가가 계속 할당되는 식으로 이해되서...
근데 플로팅해서 맞춰보면 또 금요일 종가로 기록되더라고요...
도움좀 설명좀 부탁드립니다...ㅠㅠ
Var : cnt(0);
Array : WeekC[100](0);
if DayOfWeek(sdate) <= DayOfWeek(sdate[1]) and sdate > sdate[1] Then{
WeekC[0]=C;
for cnt = 1 to 99;
WeekC[cnt] = WeekC[cnt-1][1];
plot1(WeekC[0]);
}
2017-01-09
109
글번호 105708