YesLanguage 편집기에서 만든 만기일 사용자 함수를 불러 와서
만기일의 청산시간을 따로 설정할 수 있는지요?
예스랭귀지에서는 간단하게
if MANGI Then setstopendofday(143000);
Else setstopendofday(150000);
이라고 쉽게 사용자함수를 읽어서 처리했는데 스팟에서는 어떻게
응용해야 할지 모르겠네요.
아래는 만기일 사용자함수 입니다.
If Date == 20151210
|| Date == 20150910
|| Date == 20150611
|| Date == 20150312
Then
MANGI = TRUE;Else MANGI = FALSE;
답변 1
예스스탁
예스스탁 답변
2016-01-07 17:47:33
안녕하세요
예스스탁입니다.
예스랭귀지와 예스스팟의 랭귀지는 다른언어입니다.
함수가 호환되지는 않습니다.
아래와 같이 작성하셔야 합니다.
만기일은 ||로 계속 연달아 지정하시면 됩니다.
스크립트 객체화면 설정
종목객체 추가, 속성에서 객체명은 MarketData1, 주문종목으로 지정
계좌객체 추가, 속성에서 객체명은 Account1, 계좌번호 지정
function Main_OnStart()
{
var d = new Date();
var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
var YYYYMMDD = d.getFullYear()*10000+(d.getMonth()+1)*100+d.getDate();
//오늘이 지정한 날이면 14시30분 , 아니면 15시
if (YYYYMMDD == 20151210 ||YYYYMMDD == 20150910 || YYYYMMDD == 20150611 || YYYYMMDD == 20150312)
Xtime = 143000;
else
Xtime = 150000;
//5초 타이머 셋팅
Main.SetTimer(1, 5000);
}
function Main_OnTimer(nEventID)
{
if (nEventID == 1)
{
var d = new Date();
var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
var YYYYMMDD = d.getFullYear()*10000+(d.getMonth()+1)*100+d.getDate();
//Xtime으로 지정한 시간이 넘으면
if (HHMMSS >= Xtime)
{
//타이머 종료
Main.KillTimer(1);
//지정한 종목 잔고셋팅
Account1.SetBalanceItem(Main.GetOrderCode(MarketData1.code), 0)
//지정종목의 잔고수량이 1개이상이고 매도포지션이면
//청산하기 위해 잔고수량 전체로 매도5호가 매수주문
if (Account1.Balance.count >= 1 && Account1.Balance.position == 1)
{
Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,MarketData1.Ask(5),0);
}
//지정종목의 잔고수량이 1개이상이고 매수포지션이면
////청산하기 위해 잔고수량 전체로 매수5호가 매도주문
if (Account1.Balance.count >= 1 && Account1.Balance.position == 1)
{
Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,MarketData1.Bid(5),0);
}
}
}
}
즐거운 하루되세요
> 풍경 님이 쓴 글입니다.
> 제목 : 사용자함수를 읽어 올수 있는지요?
> YesLanguage 편집기에서 만든 만기일 사용자 함수를 불러 와서
만기일의 청산시간을 따로 설정할 수 있는지요?
예스랭귀지에서는 간단하게
if MANGI Then setstopendofday(143000);
Else setstopendofday(150000);
이라고 쉽게 사용자함수를 읽어서 처리했는데 스팟에서는 어떻게
응용해야 할지 모르겠네요.
아래는 만기일 사용자함수 입니다.
If Date == 20151210
|| Date == 20150910
|| Date == 20150611
|| Date == 20150312
Then
MANGI = TRUE;Else MANGI = FALSE;