커뮤니티
문의드립니다.
2015-08-09 18:07:28
117
글번호 89318
항상 친절한 답변에 대해 감사드립니다.
스팟으로 아래의 수식이 가능하다면 참고할 수식 부탁드립니다.
1. Excel1 / sheet1 / (A,1)의 값 >10 이면,
계좌잔고의 콜매도분 중
현재가가 가장 큰 옵션 1계약 지정가매수청산(+5)
2. Excel1 / sheet1 / (A,2)의 값 <-10 이면,
계좌잔고의 풋매도분 중
현재가가 가장 큰 옵션 1계약 지정가매수청산(+5)
답변 1
예스스탁 예스스탁 답변
2015-08-10 14:19:07
안녕하세요
예스스탁입니다.
아래 내용 참고하셔서 수정보완해 사용하시기 바랍니다.
이벤트는 임의로 5초마다 동작하게 작성했습니다.
function Main_OnStart()
{
Main.SetTimer(1, 5000);
}
function Main_OnTimer(nEventID)
{
if (nEventID == 1)₩
{
if (Excel1.GetData(1, "A1") > 10)
{
var Num = Account1.GetTheNumberOfBalances();
var CH = 0;
var CC = "";
(var i = 0; i < Num; i++)
{
Account1.SetBalanceIndex(i);
if (Account1.Balance.code.substring(0,1) == "2" &&
Option1.GetCurrent(Account1.Balance.code &&
Account1.Balance.position == 1))
{
CH = Option1.GetCurrent(Account1.Balance.code);
CC = Account1.Balance.code;
}
if (CC > 0)
{
Account1.OrderBuy(CC, 1, Option1.GetAsk(CC,5),0);
}
}
}
if (Excel1.GetData(1, "A2") < -10)
{
var Num = Account1.GetTheNumberOfBalances();
var PH = 0;
var PP = "";
(var i = 0; i < Num; i++)
{
Account1.SetBalanceIndex(i);
if (Account1.Balance.code.substring(0,1) == "3" &&
Option1.GetCurrent(Account1.Balance.code) &&
Account1.Balance.position == 1)
{
PH = Option1.GetCurrent(Account1.Balance.code);
PP = Account1.Balance.code;
}
}
if (PH > 0)
{
Account1.OrderBuy(PP, 1, Option1.GetAsk(PP,5),0);
}
}
}
}
사용하시는 프로그램이 NH트레이더이면
Account1.Balance.code.substring(0,1) == "2"
Account1.Balance.code.substring(0,1) == "3"
아래와 같이 변경하셔야 합니다
Account1.Balance.code.substring(0,2) == "2"
Account1.Balance.code.substring(0,2) == "3"
즐거운 하루되세요
> 연개소문1004 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 항상 친절한 답변에 대해 감사드립니다.
스팟으로 아래의 수식이 가능하다면 참고할 수식 부탁드립니다.
1. Excel1 / sheet1 / (A,1)의 값 >10 이면,
계좌잔고의 콜매도분 중
현재가가 가장 큰 옵션 1계약 지정가매수청산(+5)
2. Excel1 / sheet1 / (A,2)의 값 <-10 이면,
계좌잔고의 풋매도분 중
현재가가 가장 큰 옵션 1계약 지정가매수청산(+5)
다음글
이전글