커뮤니티

수식 문의드립니다.

프로필 이미지
극동해
2013-09-03 09:04:46
1031
글번호 222545
답변완료
예스스팟으로 아래와 같이 수식을 짰는데요. 몇가지 질문사항이 있어서 문의드립니다. =================================================================================== (예시) 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개의 수량이 거래가 되는데, 주문가능수량으로 할려면 어떻게 해야 하나요?
답변 1
프로필 이미지

예스스탁 예스스탁 답변

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개의 수량이 거래가 되는데, 주문가능수량으로 할려면 어떻게 해야 하나요?