안녕하세요.
다음의 옵션 거래를 수식으로 부탁드립니다. 초보자라 죄송합니다.
"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 초과의 종목 중 가격이 가장 작은 종목을 선택하여 계좌의 주문가능 수량만큼을 주문한다."
답변 해주셔서 감사드립니다.