예스스탁
예스스탁 답변
2013-09-04 17:43:49
안녕하세요
예스스탁입니다.
1.
var S1;
var MP;
var Callcode;
function Main_OnStart()
{
S1 = 0;
MP = 0;
}
function Chart1_OnRiseSignal(Signal)
{
S1 = Signal.signalKind;
var d = new Date();
var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
if (S1 == 1 && HHMMSS < 140000)
{
Callcode = Option.GetATMCallRecent(1);
Account1.OrderBuy(Callcode, 5, Option.GetAskByCode(Callcode, 3), 0);
MP = 1;
}
}
위와 같이 날짜시간객체를 이용해 시간제한조건을 주시면 됩니다.
날짜시간객체는 자바스크립트에서 기본으로 제공되는 객체로 컴퓨터의 시간과 날짜를 사용합니다.
2.
var S1;
var MP;
var Callcode;
function Main_OnStart()
{
S1 = 0;
MP = 0;
}
function Chart1_OnRiseSignal(Signal)
{
S1 = Signal.signalKind;
var d = new Date();
var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
if (S1 == 1 && HHMMSS < 140000)
{
Callcode = Option.GetATMCallRecent(1,1);
Account1.OrderBuy(Callcode, 5, Option.GetAskByCode(Callcode, 3), 0);
MP = 1;
}
}
Option.GetATMCallRecent(nLevel, nNext)
Option.GetATMPutRecent(nLevel, nNext)
함수의 두번째 매개변수 nNext)가 차근월물을 설정하는 매개변수입니다.
nNext를 0으로 설정하시면 근월물, 1이 차월물입니다. 0은 생략가능합니다.
차월물까지만 제공이 됩니다.
Option.GetATMCallRecent(1,1) --> 차월물 ATM+1단계 콜종목의 종목코드를 리턴
Option.GetATMPutRecent(1,1) --> 차월물 ATM+1단계 풋종목의 종목코드를 리턴
3
주문가능수량을 리턴해 주는 함수는 없습니다.
작성자분께서 계좌의 Account1.GetBalanceETCinfo(nKind)에서 예약총액이나 주문가능총액이나
주문가능현금등을 리턴받으실수 있습니다.
해당 함수를 통해 필요한 값을 리턴받아 계산하셔야 합니다.
아래식에서는 주문가능현금을 매도3호가*50만원으로 나눈후에
정수값만 취해서 수량으로 산정했습니다.
var S1;
var MP;
var Callcode;
function Main_OnStart()
{
S1 = 0;
MP = 0;
}
function Chart1_OnRiseSignal(Signal)
{
S1 = Signal.signalKind;
var d = new Date();
var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
if (S1 == 1 && HHMMSS < 140000)
{
Callcode = Option.GetATMCallRecent(1,1);
var Entryvol = Math.floor(Account1.GetBalanceETCinfo(30)/(Option.GetAskByCode(Callcode, 3)*500000));
Account1.OrderBuy(Callcode, Entryvol, Option.GetAskByCode(Callcode, 3), 0);
MP = 1;
}
}
즐거운 하루되세요
> 극동해 님이 쓴 글입니다.
> 제목 : 수식 문의드립니다.
> 예스스팟으로 아래와 같이 수식을 짰는데요.
몇가지 질문사항이 있어서 문의드립니다.
===================================================================================
(예시)
var S1;
var MP;
var Callcode;
function Main_OnStart()
{
S1 = 0;
MP = 0;
}
function Chart1_OnRiseSignal(Signal)
{
S1 = Signal.signalKind;
if (S1 == 1)
{
Callcode = Option.GetATMCallRecent(1);
Account1.OrderBuy(Callcode, 5, Option.GetAskByCode(Callcode, 3), 0);
MP = 1;
==================================================================================
질문사항 1: "당일 오후 2시 이후부터 챠트에서 발생하는 신호는 진입하지 않는다.(당일 오후 2시에 청산한다는 것이 아니라 새로운 진입을 금지하는 것임)" 를 식으로 추가하고 싶은데요. 어떻게 해야 하나요?
질문사항 2: 예스스탓에서 저렇게 식을 작성해서 돌리면 당월물 옵션을 거래하게 되는데요. 혹시 차월물 옵션을 거래할려면 어떻게 해야 하나요?
질문사항 3: 상기 수식에 따르면 5개의 수량이 거래가 되는데, 주문가능수량으로 할려면 어떻게 해야 하나요?