답변완료
현재 잔고를 조회해서 보유하고 있는 여러종목의 매수호가, 매도호가 지정하는 방법
선물시그날이 왔을때 현재 보유 중인 종목을 조회해서(보유중인 종목은 선물, 옵션 콜 풋 각각 여러 행사가, 여러 수량 입니다) 각각의 종목의 매수는 매도1호가, 매도는 매수1호가로 청산하도록 주문을 내고 싶은데 어떻게 하나요?
아래는 선물시그날이 매도청산신호일때 시장가로 현재 잔고를 청산하는 주문입니다.
여기서 시장가를 지정가로 바꾸고 각 종목의 매수1호가와 매도1호가를 받아와야 하는데 방법을 모르겠네요
if (Start == 1 && Signal.signalKind == 4 )
{
num = A1.GetTheNumberOfBalances();
for(var i = 0; i < num; i++)
{
A1.SetBalanceIndex(i);
if (A1.Balance.position == 1)
A1.OrderBuy(A1.Balance.code,A1.Balance.count,0,1);
if (A1.Balance.position == 2)
A1.OrderSell(A1.Balance.code,A1.Balance.count,0,1);
}
}
2013-05-23
2314
글번호 222375
답변완료
stochastic slow 의 공식을 알고 싶습니다
시스템 수식과는 거리가 좀 있는 문의 이지만
시스템을 만드는 과정에서 보조지표의 원리를 먼저 이해하기 위해 질문 드립니다.
스톡캐스틱 보조지표가 있고 패스트와 슬로우가 있습니다.
대략, 패스트가 기본이고 이것을 다시 이동평균하여 나온 값이 슬로우라고 알고 있구요.
일단 제가 알고 싶은 것은
첫째, 스톡캐스틱 슬로우의 산출 공식 값 입니다.
예를 들면, 선물 6월물 5월14일 3분봉
09:57~10:00캔들(시257.30 고257.45 저257.15 종257.20)일때
슬로우 %K의 값이 88.81 슬로우 %D의 값이 86.26 이렇게 나왔습니다.(동양증권)
이 k값과 d값이 어떤 공식으로 나온것인지 궁금합니다.
둘째, 각 증권사마다 hts에서 공식이 다를수 있나? 하는 것 입니다.
같은 종목, 같은 분봉에서 같이 슬로 스톡캐스틱 지표를 적용하였는데 그 값이 증권사맏 조금씩 다르기 때문 입니다.
답변 부탁드립니다.
2013-05-15
2291
글번호 222365
답변완료
스팟문의드립니다.
선물신호를 받아서 옵션 매수후 2~3 일간 포지션 홀딩시, 다음날(프로그램 재시작) 스팟전략이 디폴트되어
청산식이 제대로 되지 않습니다.
계좌함수를 통해 해결할 수 있다고 들었는데요,
계좌함수를 이용해 선물에서 청산신호 발생시 포지션을 청산하고 싶습니다.
부탁드립니다.
//아래 전략은 기존 수식입니다.
var BStart;
var SStart;
var BuyCallCode;
var BuyPutCode;
var SellCallCode;
var SellPutCode;
function Main_OnStart()
{
Main.MessageLog("시작");
BStart = 0;
SStart = 0;
}
function C1_OnRiseSignal(Signal)
{
Kind = Signal.signalKind;
Main.MessageLog("신호완성/"+Kind);
//선물차트에서 매수신호발생하면 콜 매수
if (Signal.signalKind ==1)
{
BStart = 1;
BuyCallCode = Option.GetATMCallRecent(0);//ATM콜 종목코드
var BuyCallPrice = Option.GetBidByCode(BuyCallCode, 2);//ATM콜 매수2호가
A1.OrderBuy(BuyCallCode, vol, BuyCallPrice, 0);
Main.MessageLog("등가콜매수 : "+BuyCallCode);
}
//선물차트에서 매도신호발생하면 풋 매수
if (Signal.signalKind ==3)
{
SStart =1;
BuyPutCode = Option.GetATMPutRecent(0);//ATM풋 종목코드
var BuyPutPrice = Option.GetBidByCode(BuyPutCode, 2);//ATM풋 매수 2호가
A1.OrderBuy(BuyPutCode, vol, BuyPutPrice, 0);
Main.MessageLog("등가풋매수 : "+BuyPutCode);
}
if (BStart == 1 && Signal.signalKind == 2)//선물차트 매수 청산신호발생하면 콜 매수 청산
{
var BxCallPrice = Option.GetBidByCode(BuyCallCode, 2);
A1.OrderSell(BuyCallCode, vol, BxCallPrice, 0);
Main.MessageLog("등가콜청산 : "+BuyCallCode);
}
if (SStart == 1 && Signal.signalKind == 4)//선물차트 매도 청산신호발생하면 풋 매수 청산
{
var BxPutPrice = Option.GetBidByCode(BuyPutCode, 2);
A1.OrderSell(BuyPutCode, vol, BxPutPrice, 0);
Main.MessageLog("등가풋청산 : "+BuyPutCode);
}
}
2013-05-07
2197
글번호 222353