커뮤니티

간단한 수식문의

프로필 이미지
탄젠트80
2016-01-28 07:35:47
2017
글번호 223795
답변완료
안녕하세요 항상 답변 잘 활용하고 있습니다 선물신호를 이용하여 옵션거래중인데 전일 선물진폭(예를 들어 3.0이상시 진입금지)에 따라 스팟에서 진입을 제한하는 필터를 넣고 싶습니다 선물시스템이 배포용이다보니 수정이 안되서 스팟으로 제한을 해야합니다. 아래는 샘플 수식입니다. 감사합니다. ======================================================================= function Main_OnStart() { Main.MessageList("시작"); T = 0; } function Chart1_OnRiseSignal(Signal) { if (Signal.signalKind == 1) { T = 1; Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0); } if (T == 1 && Signal.signalKind == 2) { Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0); } if (Signal.signalKind == 3) { T = -1; Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0); } if (T == -1 && Signal.signalKind == 4) { Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0); } }
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2016-02-05 14:43:23

안녕하세요 예스스탁입니다. 수식에 아래와 같이 처리하시면 됩니다. 수식에 MarketData1이라는 종목객체가 이용되고 있습니다. 만약 MarketData1이 선물이시면 아래와 같이 지정하시면 됩니다. function Main_OnStart() { Main.MessageList("시작"); T = 0; } function Chart1_OnRiseSignal(Signal) { if (MarketData1.high < MarketData1.low + 3)//3포인트 이내 { if (Signal.signalKind == 1) { T = 1; Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0); } if (T == 1 && Signal.signalKind == 2) { Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0); } if (Signal.signalKind == 3) { T = -1; Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0); } if (T == -1 && Signal.signalKind == 4) { Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0); } } } MarketData1이 선물이 아니시면 MarketData2로 선물 추가하신 후에 MarketData2.high < MarketData2.low + 3 조건을 변경하시면 됩니다. 즐거운 명절연휴 되시기 바랍니다. > 탄젠트80 님이 쓴 글입니다. > 제목 : 간단한 수식문의 > 안녕하세요 항상 답변 잘 활용하고 있습니다 선물신호를 이용하여 옵션거래중인데 전일 선물진폭(예를 들어 3.0이상시 진입금지)에 따라 스팟에서 진입을 제한하는 필터를 넣고 싶습니다 선물시스템이 배포용이다보니 수정이 안되서 스팟으로 제한을 해야합니다. 아래는 샘플 수식입니다. 감사합니다. ======================================================================= function Main_OnStart() { Main.MessageList("시작"); T = 0; } function Chart1_OnRiseSignal(Signal) { if (Signal.signalKind == 1) { T = 1; Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0); } if (T == 1 && Signal.signalKind == 2) { Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0); } if (Signal.signalKind == 3) { T = -1; Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0); } if (T == -1 && Signal.signalKind == 4) { Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0); } }
프로필 이미지

탄젠트80

2016-02-18 00:29:31

탄젠트80 님에 의해 삭제된 답변입니다.