안녕하십니까?
아래 자동매매수식은 예스트레이더에서 구동되게끔 만들어주신 건데요.
직접 자동매매를 해보니깐 예스트레이더는 불편한점이 있어서 개선하고싶은데
주위 사람들의 의견을 들어보니
예스스팟이면 가능할거라고 해서 도움을 청하고자 합니다.
예스스팟은 생소해서 어떻게 사용하는지 조차 아직 잘 모르지만,
우선 아래 수식으로 자동매매를 돌리고 싶습니다.
다만, 아래 수식에서 기능을 약간 더 추가하고 싶은데요
"실시간 계좌잔고" 와 연동되어 주식매수가 이루어지게 하되
세금과 슬리피지를 고려해서 수식을 만들어주시면 감사하겠습니다.
이에 관해 한가지 아이디어가 생각나서 말씀드리고 싶은데
(실시간 계좌잔고/C(현재가) - 1) 이렇게 하면 어떨까 싶네요.^^
수식 부탁드리며,
만들어주신 수식을 예스스팟에서 어떻게 구동시켜야 하는지에 대해서도
말씀 좀 해주시면 감사하겠습니다.
-------------------------------------------------
안녕하세요
예스스탁입니다.
코스피지수를 참조데이터(data2)로 추가하고
수식 적용하셔야 합니다.
var : V1(0,data1),v2(0,data2);
v2 = data2((C-lowD(0))/(highd(0)-lowD(0))*100);
if data1(stime < 93000) Then
v1 = data1(c);
if data1((sdate != sdate[1] and stime >= 143000) or
(sdate == sdate[1] and stime >= 143000 and stime[1] < 143000)) and
v1 > dayopen and v2 > 50 then
buy("b");
if MarketPosition == 1 and NextBarSdate > sdate Then
exitlong("bx",AtMarket);
즐거운 하루되세요
> 야구르트 님이 쓴 글입니다.
> 제목 : o 수식 작성부탁드립니다
> 부탁드립니다.
매수조건:
해당 종목(A종목)의 9시~9시30분까지 30분봉 완성시 첫 양봉이고
코스피 지수가 14시 30분에
p = (당일종가-당일저가) / (당일고가 - 당일저가) x 100 (%)
p 값 > 50% 이상일때
14시 30분에 시장가 매수
매도조건:
익일 시초가 매도
답변 1
예스스탁
예스스탁 답변
2018-04-18 15:11:17
안녕하세요
예스스탁입니다.
1
스팟에 대한 수식은 단순 가이드입니다.
아래 내용 참고하셔서 수정보완해 사용하시기 바랍니다.
올려주신 내용은 차트에서 신호가 발생하면
스팟에서 주문나가게 처리하시면 됩니다.
2
계좌객체의 GetBalanceETCinfo함수가
예수금 필드의 값을 인덱스를 지정해 호출하는 함수입니다.
증권사별로 인덱스별 항목이 다르므로 스팟 도움말에서 내용 참고하셔서 수정하셔야 합니다.
아래식은 하이투자증권 기준으로 주문가능현금의 99%로 매수수량 산정하게 작성되었습니다.
3
스크립트객체설정
차트객체 --> 속성에서 아이디는 Chart1로 지정하고 시스템적용된 차트와 아이디 연결
계좌객체 --> 주문낼 계좌를 지정
var reqMD,BID,BNUM;
function Main_OnStart()
{
Main.MessageList("Spot Start");
reqMD = false;
//차트 종목으로 종목객체생성 요청
Main.ReqMarketData(Main.GetOrderCode(Chart1.GetCode(1)));
}
function Chart1_OnRiseSignal(Signal)
{
//차트 종목 잔고셋팅
Account1.SetBalance(Main.GetOrderCode(Chart1.GetCode(1)), 0);
//차트에서 Buy신호 발생하고 해당종목에 대한 보유수량이 없을떄만 매수주문
if (Signal.signalKind == 1 && Account1.Balance.count == 0 && reqMD == true)
{
//하이투자증권 주문가능현금
//NH투자증권은 주문가능현금이 제공되지 않아 D 100% 주문가능금액 정도를 사용하셔야 합니다.
//var MM = Account1.GetBalanceETCinfo(16);//
var MM = Account1.GetBalanceETCinfo(18);
var VV = Math.floor((MM*0.99)/MD.Ask(3));
BID = Account1.OrderBuy(MD.code, VV, MD.Ask(3), 0);
}
//차트에서 exitlong신호 발생하면
if (Signal.signalKind == 2 && reqMD == true)
{
//해당 종목에 대한 미체결이 있으면 취소
Account1.SetUnfill(BNUM);
if (Account1.Unfill.count > 0)
{
Account1.OrderCancel(BNUM);
}
//해당 종목에 대한 보유수량이 있으면 보유한 수량만큼만 청산
Account1.SetBalance(Main.GetOrderCode(Chart1.GetCode(1)), 0);
if (Account1.Balance.count > 0 && Account1.Balance.position == 2)
{
BXID = Account1.OrderSell(MD.code, Account1.Balance.count, MD.Bid(3), 0);
}
}
}
function Main_OnRcvMarketData(MarketData)
{
//종목객체생성완료
if (MarketData.code == Main.ReqMarketData(Main.GetOrderCode(Chart1.GetCode(1))))
{
reqMD = true;
MD = MarketData;
}
}
//주문접수응답 발생
function Main_OnOrderResponse(OrderResponse)
{
//매수주문에서 발생한 주문에 대한 접수응답이면
if (OrderResponse.orderID == BID)
{
//주문번호 저장
BNUM = OrderResponse.orderNum;
}
}
즐거운 하루되세요
> 야구르트 님이 쓴 글입니다.
> 제목 : o 예스스팟으로 자동매매 하고 싶어요
>
안녕하십니까?
아래 자동매매수식은 예스트레이더에서 구동되게끔 만들어주신 건데요.
직접 자동매매를 해보니깐 예스트레이더는 불편한점이 있어서 개선하고싶은데
주위 사람들의 의견을 들어보니
예스스팟이면 가능할거라고 해서 도움을 청하고자 합니다.
예스스팟은 생소해서 어떻게 사용하는지 조차 아직 잘 모르지만,
우선 아래 수식으로 자동매매를 돌리고 싶습니다.
다만, 아래 수식에서 기능을 약간 더 추가하고 싶은데요
"실시간 계좌잔고" 와 연동되어 주식매수가 이루어지게 하되
세금과 슬리피지를 고려해서 수식을 만들어주시면 감사하겠습니다.
이에 관해 한가지 아이디어가 생각나서 말씀드리고 싶은데
(실시간 계좌잔고/C(현재가) - 1) 이렇게 하면 어떨까 싶네요.^^
수식 부탁드리며,
만들어주신 수식을 예스스팟에서 어떻게 구동시켜야 하는지에 대해서도
말씀 좀 해주시면 감사하겠습니다.
-------------------------------------------------
안녕하세요
예스스탁입니다.
코스피지수를 참조데이터(data2)로 추가하고
수식 적용하셔야 합니다.
var : V1(0,data1),v2(0,data2);
v2 = data2((C-lowD(0))/(highd(0)-lowD(0))*100);
if data1(stime < 93000) Then
v1 = data1(c);
if data1((sdate != sdate[1] and stime >= 143000) or
(sdate == sdate[1] and stime >= 143000 and stime[1] < 143000)) and
v1 > dayopen and v2 > 50 then
buy("b");
if MarketPosition == 1 and NextBarSdate > sdate Then
exitlong("bx",AtMarket);
즐거운 하루되세요
> 야구르트 님이 쓴 글입니다.
> 제목 : o 수식 작성부탁드립니다
> 부탁드립니다.
매수조건:
해당 종목(A종목)의 9시~9시30분까지 30분봉 완성시 첫 양봉이고
코스피 지수가 14시 30분에
p = (당일종가-당일저가) / (당일고가 - 당일저가) x 100 (%)
p 값 > 50% 이상일때
14시 30분에 시장가 매수
매도조건:
익일 시초가 매도