커뮤니티

문의드립니다.

프로필 이미지
연개소문1004
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)