예스스탁
예스스탁 답변
2013-05-24 08:50:43
안녕하세요
예스스탁입니다.
스크립트 객체화면에
선물과 옵션의 시세를 수신받기 위해서
옵션객체와 종목객체를 추가하신 후에
종목객체는 속성에서 연결선물지수를 선택해 주시고
이용하시면 됩니다.
옵션객체 추가
종목객체 추가 --> 객체명 MarketData1 --> 종목은 연결선물지정
function Chart1_OnRiseSignal(Signal)
{
if (Start == 1 && Signal.signalKind == 4 )
{
var num = A1.GetTheNumberOfBalances();
for(var i = 0; i < num; i++)
{
A1.SetBalanceIndex(i);
//잔고의 종목코드가 종목객체(선물)와 같으면
if (A1.Balance.code == Main.GetOrderCode(sItemCodeMarketData1.code))
{
if (A1.Balance.position == 1)
{
A1.OrderBuy(A1.Balance.code,A1.Balance.count,MarketData1.Ask(1),0);
}
if (A1.Balance.position == 2)
A1.OrderSell(A1.Balance.code,A1.Balance.count,MarketData1.Bid(1),0);
}
//잔고의 종목코드가 종목객체(선물)과 다르면(옵션))
if (A1.Balance.code != Main.GetOrderCode(sItemCodeMarketData1.code))
{
if (A1.Balance.position == 1)
{
A1.OrderBuy(A1.Balance.code,A1.Balance.count,Option.GetAskByCode(A1.Balance.code, 1),0);
}
if (A1.Balance.position == 2)
A1.OrderSell(A1.Balance.code,A1.Balance.count,Option.GetBidByCode(A1.Balance.code, 1),0);
}
}
}
}
연결선물은 선물근원물을 연결한 데이터이므로
종목코드가 00000000 입니다.
그러므로 해당 종목코드를 실제 주문용 종목코드로 변경하는
Main.GetOrderCode함수안에 넣어서 사용하셔야 합니다.
종목객체의 종목으로 선물을 지정하실 경우에는 수급데이터는 사용안함으로 하셔야 합니다.
선물의 수급데이터는 따로 참조객체의 수급데이터 함수로 수급을 가져와 사용해야 합니다.
즐거운 하루되세요
> sunodin 님이 쓴 글입니다.
> 제목 : 현재 잔고를 조회해서 보유하고 있는 여러종목의 매수호가, 매도호가 지정하는 방법
> 선물시그날이 왔을때 현재 보유 중인 종목을 조회해서(보유중인 종목은 선물, 옵션 콜 풋 각각 여러 행사가, 여러 수량 입니다) 각각의 종목의 매수는 매도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);
}
}
sunodin
2013-05-24 10:24:47
var LongF_price = 연결선물.Ask(1);
이렇게 하면 연결선물의 호가를 받아올 수 있나요?
아니면 이것도 Main.GetOrderCode 로 변형해야 하나요?
그렇다면 코드가 어떻게 되나요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 현재 잔고를 조회해서 보유하고 있는 여러종목의 매수호가, 매도호가 지정하는 방법
> 안녕하세요
예스스탁입니다.
스크립트 객체화면에
선물과 옵션의 시세를 수신받기 위해서
옵션객체와 종목객체를 추가하신 후에
종목객체는 속성에서 연결선물지수를 선택해 주시고
이용하시면 됩니다.
옵션객체 추가
종목객체 추가 --> 객체명 MarketData1 --> 종목은 연결선물지정
function Chart1_OnRiseSignal(Signal)
{
if (Start == 1 && Signal.signalKind == 4 )
{
var num = A1.GetTheNumberOfBalances();
for(var i = 0; i < num; i++)
{
A1.SetBalanceIndex(i);
//잔고의 종목코드가 종목객체(선물)와 같으면
if (A1.Balance.code == Main.GetOrderCode(sItemCodeMarketData1.code))
{
if (A1.Balance.position == 1)
{
A1.OrderBuy(A1.Balance.code,A1.Balance.count,MarketData1.Ask(1),0);
}
if (A1.Balance.position == 2)
A1.OrderSell(A1.Balance.code,A1.Balance.count,MarketData1.Bid(1),0);
}
//잔고의 종목코드가 종목객체(선물)과 다르면(옵션))
if (A1.Balance.code != Main.GetOrderCode(sItemCodeMarketData1.code))
{
if (A1.Balance.position == 1)
{
A1.OrderBuy(A1.Balance.code,A1.Balance.count,Option.GetAskByCode(A1.Balance.code, 1),0);
}
if (A1.Balance.position == 2)
A1.OrderSell(A1.Balance.code,A1.Balance.count,Option.GetBidByCode(A1.Balance.code, 1),0);
}
}
}
}
연결선물은 선물근원물을 연결한 데이터이므로
종목코드가 00000000 입니다.
그러므로 해당 종목코드를 실제 주문용 종목코드로 변경하는
Main.GetOrderCode함수안에 넣어서 사용하셔야 합니다.
종목객체의 종목으로 선물을 지정하실 경우에는 수급데이터는 사용안함으로 하셔야 합니다.
선물의 수급데이터는 따로 참조객체의 수급데이터 함수로 수급을 가져와 사용해야 합니다.
즐거운 하루되세요
> sunodin 님이 쓴 글입니다.
> 제목 : 현재 잔고를 조회해서 보유하고 있는 여러종목의 매수호가, 매도호가 지정하는 방법
> 선물시그날이 왔을때 현재 보유 중인 종목을 조회해서(보유중인 종목은 선물, 옵션 콜 풋 각각 여러 행사가, 여러 수량 입니다) 각각의 종목의 매수는 매도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-24 10:49:17
안녕하세요
예스스탁입니다.
스크립트 객체화면에 종목객체를 하나 추가하신 후에
속성화면에서 종목은 연결선물로 지정하시고
var LongF_price = 연결선물.Ask(1);
와 같이 지정하시면 됩니다.
Main.GetOrderCode는 종목코드를 가져올때만 사용하시면 됩니다.
Main.GetOrderCode(연결선물.code)
즐거운 하루되세요
> sunodin 님이 쓴 글입니다.
> 제목 : Re : Re : 현재 잔고를 조회해서 보유하고 있는 여러종목의 매수호가, 매도호가 지정하는 방법
> var LongF_price = 연결선물.Ask(1);
이렇게 하면 연결선물의 호가를 받아올 수 있나요?
아니면 이것도 Main.GetOrderCode 로 변형해야 하나요?
그렇다면 코드가 어떻게 되나요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 현재 잔고를 조회해서 보유하고 있는 여러종목의 매수호가, 매도호가 지정하는 방법
> 안녕하세요
예스스탁입니다.
스크립트 객체화면에
선물과 옵션의 시세를 수신받기 위해서
옵션객체와 종목객체를 추가하신 후에
종목객체는 속성에서 연결선물지수를 선택해 주시고
이용하시면 됩니다.
옵션객체 추가
종목객체 추가 --> 객체명 MarketData1 --> 종목은 연결선물지정
function Chart1_OnRiseSignal(Signal)
{
if (Start == 1 && Signal.signalKind == 4 )
{
var num = A1.GetTheNumberOfBalances();
for(var i = 0; i < num; i++)
{
A1.SetBalanceIndex(i);
//잔고의 종목코드가 종목객체(선물)와 같으면
if (A1.Balance.code == Main.GetOrderCode(sItemCodeMarketData1.code))
{
if (A1.Balance.position == 1)
{
A1.OrderBuy(A1.Balance.code,A1.Balance.count,MarketData1.Ask(1),0);
}
if (A1.Balance.position == 2)
A1.OrderSell(A1.Balance.code,A1.Balance.count,MarketData1.Bid(1),0);
}
//잔고의 종목코드가 종목객체(선물)과 다르면(옵션))
if (A1.Balance.code != Main.GetOrderCode(sItemCodeMarketData1.code))
{
if (A1.Balance.position == 1)
{
A1.OrderBuy(A1.Balance.code,A1.Balance.count,Option.GetAskByCode(A1.Balance.code, 1),0);
}
if (A1.Balance.position == 2)
A1.OrderSell(A1.Balance.code,A1.Balance.count,Option.GetBidByCode(A1.Balance.code, 1),0);
}
}
}
}
연결선물은 선물근원물을 연결한 데이터이므로
종목코드가 00000000 입니다.
그러므로 해당 종목코드를 실제 주문용 종목코드로 변경하는
Main.GetOrderCode함수안에 넣어서 사용하셔야 합니다.
종목객체의 종목으로 선물을 지정하실 경우에는 수급데이터는 사용안함으로 하셔야 합니다.
선물의 수급데이터는 따로 참조객체의 수급데이터 함수로 수급을 가져와 사용해야 합니다.
즐거운 하루되세요
> sunodin 님이 쓴 글입니다.
> 제목 : 현재 잔고를 조회해서 보유하고 있는 여러종목의 매수호가, 매도호가 지정하는 방법
> 선물시그날이 왔을때 현재 보유 중인 종목을 조회해서(보유중인 종목은 선물, 옵션 콜 풋 각각 여러 행사가, 여러 수량 입니다) 각각의 종목의 매수는 매도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);
}
}