현재 yestrader 로직으로 선물 매매중인데,
자금 입출금이 빈번합니다.
현재 선물지수가격 및 현재 가용 자금을 자동으로 고려하여 매매가능 수량을
계산하여 예스트레이더에서 매매신호가 나면 자동 매매수량 계산해서 들어가는
로직을 부탁드립니다.
추가 질문) 예스트레이더의 신호를 받아 예스스팟에서 매매하게 되면 혹시 신호가
delay 되지는 않는지 궁금합니다.
답변 1
예스스탁
예스스탁 답변
2014-07-18 19:21:50
안녕하세요
예스스탁입니다.
아래내용 참고하시기 바랍니다.
차트에서 Buy나 Sell신호 발생시
계좌의 주문가능현금에서 최대로 가능한 수량으로 주문을 내게 합니다.
스크립트 객체화면에서
차트객체 추가 --> 속성에서 차트와 동일한 아이디 지정
계좌객체 추가 --> 속성에서 계좌번호 지정
종목객체 추가 --> 속성에서 차트의 종목과 동일한 종목으로 종목선택
스크립트 객체추가는 도움말 살펴보시기 바랍니다.
var vol;
var Start;
function Main_OnStart()
{
Start = 0;
}
function Chart1_OnRiseSignal(Signal)
{
//차트에서 Buy신호 발생하면 주문가능현금에서 최대수량계산해 매도5호가로 매수주문
if (Signal.signalKind == 1)
{
Start = 1;
//주문가능현금
var Cash = Account1.GetBalanceETCinfo(30);//주문가능현금;
//수량
//주문가능현금 / 1계약증거금(현재가*50만원*12%)
vol = Math.floor(Cash/MarketData1.current*500000*0.12);
if (vol > 0)
{
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), Vol,MarketData1.Ask(5), 0);
}
}
//차트에서 Exitlong신호 발생하면 매수5호가로 매도주문
if (Start == 1 && Signal.signalKind == 2)
{
Account1.OrderSell(Main.GetOrderCode(MarketData1.code), Vol,MarketData1.Bid(5), 0);
}
//차트에서 Sell신호 발생하면 주문가능현금에서 최대수량계산해 매수5호가로 매수주문
if (Signal.signalKind == 3)
{
Start = 1;
//주문가능현금
var Cash = Account1.GetBalanceETCinfo(30);//주문가능현금;
//수량
//주문가능현금 / 1계약증거금(현재가*50만원*12%)
vol = Math.floor(Cash/MarketData1.Bid(5)*500000*0.12);
if (vol > 0)
{
Account1.OrderSell(Main.GetOrderCode(MarketData1.code), Vol,MarketData1.Bid(5), 0);
}
}
//차트에서 ExitShort신호 발생하면 매도5호가로 매수주문
if (Start == 1 && Signal.signalKind == 4)
{
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), Vol,MarketData1.Ask(5), 0);
}
}
즐거운 하루되세요
> 영원한자유 님이 쓴 글입니다.
> 제목 : 예스스팟으로 자금관리가능한 로직부탁합니다.
> 현재 yestrader 로직으로 선물 매매중인데,
자금 입출금이 빈번합니다.
현재 선물지수가격 및 현재 가용 자금을 자동으로 고려하여 매매가능 수량을
계산하여 예스트레이더에서 매매신호가 나면 자동 매매수량 계산해서 들어가는
로직을 부탁드립니다.
추가 질문) 예스트레이더의 신호를 받아 예스스팟에서 매매하게 되면 혹시 신호가
delay 되지는 않는지 궁금합니다.