커뮤니티

질문드립니다.

프로필 이미지
지나리
2023-12-21 15:08:29.0
459
글번호 225906
답변완료
안녕하세요. 다음의 옵션 거래를 수식으로 부탁드립니다. 초보자라 죄송합니다. "1차트에서 매수신호 발생하면, 콜옵션 종목 중 현재 가격 1.0 미만의 종목 중 가격이 가장 큰 종목을 선택하여 계좌의 주문가능 수량만큼을 주문한다." "1차트에서 매도신호 발생하면, 풋옵션 종목 중 현재 가격 0.3 초과의 종목 중 가격이 가장 작은 종목을 선택하여 계좌의 주문가능 수량만큼을 주문한다." 답변 해주셔서 감사드립니다.
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-01-11 14:17:13.0

안녕하세요 예스스탁입니다. 특정종목의 주문가능수량은 별도로 리턴해 주는 함수나 기능이 없습니다. 해당 부분은 계산식 작성해 드리기 어려워 제외하고 작성해 드립니다. 스크립트 객체설정 차트객체 추가 --> 객체명 Chart1, 차트와 동일아이디 부여 계좌객체 추가 --> 객체명 Account1, 주문낼 계좌번호 지정 옵션객체 추가 --> 객체명 Option1, 옵션상품 지정 function Chart1_OnRiseSignal(Signal) { //매수진입신호 발생 if (Signal.signalKind == 1) { var CP = 0; var 콜종목 = ""; for (var i = -Option1.lowersATM; i <= Option1.uppersATM; i++) { if (Option1.GetCurrent(0, i) < 1.0 && (CP == 0 || (CP > 0 && Option1.GetCurrent(0, i) > CP ))) { CP = Option1.GetCurrent(0, i); 콜종목 = Option1.GetATMCallRecent(i); } } if (CP > 0) { Account1.OrderBuy(콜종목, 1, Option1.GetAsk(콜종목, 3), 0); } } //매도진입신호 발생 if (Signal.signalKind == 1) { var PP = 0; var 풋종목 = ""; for (var i = -Option1.lowersATM; i <= Option1.uppersATM; i++) { if (Option1.GetCurrent(1, -i) > 0.3 && (PP == 0 || (PP > 0 && Option1.GetCurrent(1, -i) < PP))) { PP = Option1.GetCurrent(1, -i); 풋종목 = Option1.GetATMPutRecent(-i); } } if (PP > 0) { Account1.OrderSell(풋종목, 1, Option1.GetAsk(풋종목, 3), 0); } } } 즐거운 하루되세요 > 지나리 님이 쓴 글입니다. > 제목 : 질문드립니다. > 안녕하세요. 다음의 옵션 거래를 수식으로 부탁드립니다. 초보자라 죄송합니다. "1차트에서 매수신호 발생하면, 콜옵션 종목 중 현재 가격 1.0 미만의 종목 중 가격이 가장 큰 종목을 선택하여 계좌의 주문가능 수량만큼을 주문한다." "1차트에서 매도신호 발생하면, 풋옵션 종목 중 현재 가격 0.3 초과의 종목 중 가격이 가장 작은 종목을 선택하여 계좌의 주문가능 수량만큼을 주문한다." 답변 해주셔서 감사드립니다.