커뮤니티

예스스팟 관련 수식 문의

프로필 이미지
최강투자
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) } }