커뮤니티

피라미딩 청산 수식관련

프로필 이미지
수다리
2018-09-28 13:51:32
2733
글번호 224607
답변완료

첨부 이미지

첨부사진처럼 피라미딩 진입이 있을때 청산신호가 2개라서 이전진입계약수가 2계약이라 총 4개가 청산되는데 2계약만 청산하고 싶은데 어떻게 해야할지 모르겠습니다. 아래수식에다 적용을 하려면 어떻게 수정해야하는지 알고 싶은데 도움부탁드리겠습니다. //스팟 시작시 function Main_OnStart() { Main.MessageList("스팟 시작"); } //------------------------------------------------------------------------------------- //차트에서 신호나오면 MarketData1 종목에 대해 주문 function Chart1_OnRiseSignal(Signal) //차트1에서 완성신호이벤트가(온라이즈시그널)) 발생하면 시그널에 그정보를 넘겨준다 { //매수진입신호 발생 if (Signal.signalKind == 1) { Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), Signal.count,매수주문가격,주문종류); } //매수청산신호 발생 if (Signal.signalKind == 2) { //잔고셋팅해 매수포지션 있으면 잔고수량만큼만 청산 Main.MessageList("J1매수청산"); Account1.SetBalance(Main.GetOrderCode(MarketData1.code), 0); if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { BXID = Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,매도주문가격,주문종류); } } //매도진입신호 발생 if (Signal.signalKind == 3) { Account1.OrderSell(Main.GetOrderCode(MarketData1.code), Signal.count,매도주문가격,주문종류); } //매도청산신호 발생 if (Signal.signalKind == 4) { //잔고셋팅해 매도포지션 있으면 잔고수량만큼만 청산 Main.MessageList("J1매도청산"); Account1.SetBalance(Main.GetOrderCode(MarketData1.code), 0); if (Account1.Balance.count > 0 && Account1.Balance.position == 1) { SXID = Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,매수주문가격,주문종류); } } }
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-10-04 16:00:05

> 수다리 님이 쓴 글입니다. > 제목 : 피라미딩 청산 수식관련 > 첨부사진처럼 피라미딩 진입이 있을때 청산신호가 2개라서 이전진입계약수가 2계약이라 총 4개가 청산되는데 2계약만 청산하고 싶은데 어떻게 해야할지 모르겠습니다. 아래수식에다 적용을 하려면 어떻게 수정해야하는지 알고 싶은데 도움부탁드리겠습니다. //스팟 시작시 function Main_OnStart() { Main.MessageList("스팟 시작"); } //------------------------------------------------------------------------------------- //차트에서 신호나오면 MarketData1 종목에 대해 주문 function Chart1_OnRiseSignal(Signal) //차트1에서 완성신호이벤트가(온라이즈시그널)) 발생하면 시그널에 그정보를 넘겨준다 { //매수진입신호 발생 if (Signal.signalKind == 1) { Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), Signal.count,매수주문가격,주문종류); } //매수청산신호 발생 if (Signal.signalKind == 2) { //잔고셋팅해 매수포지션 있으면 잔고수량만큼만 청산 Main.MessageList("J1매수청산"); Account1.SetBalance(Main.GetOrderCode(MarketData1.code), 0); if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { BXID = Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,매도주문가격,주문종류); } } //매도진입신호 발생 if (Signal.signalKind == 3) { Account1.OrderSell(Main.GetOrderCode(MarketData1.code), Signal.count,매도주문가격,주문종류); } //매도청산신호 발생 if (Signal.signalKind == 4) { //잔고셋팅해 매도포지션 있으면 잔고수량만큼만 청산 Main.MessageList("J1매도청산"); Account1.SetBalance(Main.GetOrderCode(MarketData1.code), 0); if (Account1.Balance.count > 0 && Account1.Balance.position == 1) { SXID = Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,매수주문가격,주문종류); } } }