커뮤니티
예스스팟 관련 수식 문의
2012-12-17 13:15:19
243
글번호 57366
선물챠트를 이용해서 옵션거래를 하기 위해서 예스스팟으로 시스템 식을 아래와 같이 만들어서 사용해봤는데요.
1이나 3이라는 신호가 떠서 콜옵션 매수나 풋옵션 매수는 잘 되지만, 선물챠트의 익절이나 손절조건에으로 인해 2,4의 신호가 뜰 때 옵션은 거래가 없습니다.
반대매매 조건으로 뜨는 경우에는 신호가 뜨진 하는 것 같은데, 그것도 아직 확인은 못한 상황이긴 합니다.
우선 선물의 강제청산조건을 충족할 때 옵션거래도 동일하게 수행하게 하고 싶은데요.
어떤 것을 해야하는 것인지요? 아니면 아래 수식에서 제가 잘못 넣은 것이 있는건가요?
function C1_OnRiseSignal(Signal)
{
if(Signal.signalKind == 1 )
{
Main.OrderBuy(A1.number, Option.GetATMCallRecent(3), 1, 0, 1)
}
if(Signal.signalKind == 2 )
{
Main.OrderSell(A1,number, Option.GetATMCallRecent(3), 1, 0, 1)
}
if(Signal.signalKind == 3 )
{
Main.OrderBuy(A1.number, Option.GetATMPutRecent(3), 1, 0, 1)
}
if(Signal.signalKind == 4 )
{
Main.OrderSell(A1,number, Option.GetATMPutRecent(3), 1, 0, 1)
}
}
답변 1
예스스탁 예스스탁 답변
2012-12-17 15:13:32
안녕하세요
예스스탁입니다.
차트에서 진입신호 주문한 종목과 차트에서 청산신호시 주문할 종목의 코드가
같아야 합니다.
현재 식은 각 신호별로 그때의 ATM+3종목에 주문을 내므로
진입시와 청산시 같은 종목이 아닐수 있습니다.
진입신호시 주문할 종목을 변수에 저장해서
청산시 이용하셔야 합니다.
var Buycode;
var Sellcode;
function C1_OnRiseSignal(Signal)
{
if(Signal.signalKind == 1 )
{
Buycode = Option.GetATMCallRecent(3);
Main.OrderBuy(A1.number, Buycode, 1, 0, 1)
}
if(Signal.signalKind == 2 )
{
Main.OrderSell(A1,number,Buycode, 1, 0, 1)
}
if(Signal.signalKind == 3 )
{
Sellcode = Option.GetATMPutRecent(3);
Main.OrderBuy(A1.number, Option.GetATMPutRecent(3), 1, 0, 1)
}
if(Signal.signalKind == 4 )
{
Main.OrderSell(A1,number,Sellcode, 1, 0, 1)
}
}
즐거운 하루되세요
> 최강투자 님이 쓴 글입니다.
> 제목 : 예스스팟 관련 수식 문의
> 선물챠트를 이용해서 옵션거래를 하기 위해서 예스스팟으로 시스템 식을 아래와 같이 만들어서 사용해봤는데요.
1이나 3이라는 신호가 떠서 콜옵션 매수나 풋옵션 매수는 잘 되지만, 선물챠트의 익절이나 손절조건에으로 인해 2,4의 신호가 뜰 때 옵션은 거래가 없습니다.
반대매매 조건으로 뜨는 경우에는 신호가 뜨진 하는 것 같은데, 그것도 아직 확인은 못한 상황이긴 합니다.
우선 선물의 강제청산조건을 충족할 때 옵션거래도 동일하게 수행하게 하고 싶은데요.
어떤 것을 해야하는 것인지요? 아니면 아래 수식에서 제가 잘못 넣은 것이 있는건가요?
function C1_OnRiseSignal(Signal)
{
if(Signal.signalKind == 1 )
{
Main.OrderBuy(A1.number, Option.GetATMCallRecent(3), 1, 0, 1)
}
if(Signal.signalKind == 2 )
{
Main.OrderSell(A1,number, Option.GetATMCallRecent(3), 1, 0, 1)
}
if(Signal.signalKind == 3 )
{
Main.OrderBuy(A1.number, Option.GetATMPutRecent(3), 1, 0, 1)
}
if(Signal.signalKind == 4 )
{
Main.OrderSell(A1,number, Option.GetATMPutRecent(3), 1, 0, 1)
}
}