커뮤니티

수식문의

프로필 이미지
sonamoo
2014-09-30 15:37:41
1448
글번호 223181
답변완료
안녕하세요? 지금 예스트레이더로 자동거래를 하고 있습니다. 현재 예스트레이더로부터 발생하는 신호를 바탕으로 예스스팟 거래를 하려고 합니다. 수식 부탁드립니다. =================== 1.예스트레이더에서 매수신호 발생시 선물매수 2.예스트레이더에서 매수청산신호 발생시 선물 매수분 청산 3.예스트레이더에서 매도신호 발생시 선물매도 4.예스트레이더에서 매도청산신호 발생시 선물 매도분 청산 5.장시작 30초후에 계좌잔고 리플레쉬합니다. 6.선물 매수 매도시 수량은 Value = GetUnclearedDeposits("0000-0000-31"); Value99 = max(1,int(value/max((c*75000),20000000))); 의 벨류99값으로 합니다. 7.15시 6분까지 매수 또는 매도 잔고가 있는 경우 15시 15분에 동시호가 청산합니다. 8.매수나 매도 진입가격은 신호발생 현재가+-5호가로 주문을 넣습니다. 9.청산시에는 미체결 수량 존재시 미체결 수량은 주문취소를 먼저하고 잔고 수량을 청산합니다. ================= 미리감사드립니다.
답변 4
프로필 이미지

예스스탁 예스스탁 답변

2014-10-17 13:41:52

안녕하세요 예스스탁입니다. 예스스팟에 대한 수식답변은 가이드 정도입니다. 아래 수식 내용 참고하셔서 수정보완해 사용하시기 바랍니다. var Pst,Bv,Sv,Bx,Sx; var BID,SID,Bnum,Snum; function Main_OnStart() { Pst = 0; Main.SetTimer(1, 5000);//5초 간격으로 타이머 작동 } function Chart1_OnRiseSignal(Signal) { if (Pst <= 0 && Signal.signalKind == 1) { Pst = 1; var aa = Account1.GetBalanceETCinfo(0); Bv = Math.max(1,Math.int(aa/MAth.max((MarketData1.current*75000),20000000))); BID = Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),Bv, MarketData1.current+MarketData1.GetTickSize()*5, 0); } if (Pst == 1 && Signal.signalKind == 1) { Pst = 0; Account1.SetUnfillOrderNumber(Bnum); if (Account1.Unfill.count > 0) { Bx = Bv-Account1.Unfill.count; Account1.OrderCancel(Bnum); } if (Bx > 0) Account1.OrderSell(Main.GetOrderCode(MarketData1.code),Bx, MarketData1.current-MarketData1.GetTickSize()*5), 0); } if (Pst >= 0 && Signal.signalKind == 1) { var aa = Account1.GetBalanceETCinfo(0); Sv = Math.max(1,Math.int(aa/MAth.max((MarketData1.current*75000),20000000))); SID = Account1.OrderSell(Main.GetOrderCode(MarketData1.code),Sv, MarketData1.current-MarketData1.GetTickSize()*5, 0); } if (Pst == -1 && Signal.signalKind == 1) { Pst = 0; Account1.SetUnfillOrderNumber(Snum); if (Account1.Unfill.count > 0) { Sx = Sv-Account1.Unfill.count; Account1.OrderCancel(Bnum); } if (Sx > 0) Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),Sv, MarketData1.current+MarketData1.GetTickSize()*5, 0); } } function Main_OnOrderResponse(OrderResponse) { if (OrderResponse.orderID == BID) Bnum = OrderResponse.orderNum; if (OrderResponse.orderID == SID) Snum = OrderResponse.orderNum; } function Main_OnTimer(nEventID) { var d = new Date(); var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); //15시15분 if (nEventID == 1 && HHMMSS >= 151500) { Main.KillTimer(1); Account1.SetBalance(Main.GetOrderCode(MarketData1.code), 0); if (Account1.Balance.position == 1) Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,0,1); if (Account1.Balance.position == 2) Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1); } } 즐거운 하루되세요 > sonamoo 님이 쓴 글입니다. > 제목 : 수식문의 > 안녕하세요? 지금 예스트레이더로 자동거래를 하고 있습니다. 현재 예스트레이더로부터 발생하는 신호를 바탕으로 예스스팟 거래를 하려고 합니다. 수식 부탁드립니다. =================== 1.예스트레이더에서 매수신호 발생시 선물매수 2.예스트레이더에서 매수청산신호 발생시 선물 매수분 청산 3.예스트레이더에서 매도신호 발생시 선물매도 4.예스트레이더에서 매도청산신호 발생시 선물 매도분 청산 5.장시작 30초후에 계좌잔고 리플레쉬합니다. 6.선물 매수 매도시 수량은 Value = GetUnclearedDeposits("0000-0000-31"); Value99 = max(1,int(value/max((c*75000),20000000))); 의 벨류99값으로 합니다. 7.15시 6분까지 매수 또는 매도 잔고가 있는 경우 15시 15분에 동시호가 청산합니다. 8.매수나 매도 진입가격은 신호발생 현재가+-5호가로 주문을 넣습니다. 9.청산시에는 미체결 수량 존재시 미체결 수량은 주문취소를 먼저하고 잔고 수량을 청산합니다. ================= 미리감사드립니다.
프로필 이미지

sonamoo

2014-10-24 14:12:42

Account1.OrderSell(Main.GetOrderCode(MarketData1.code),Bx, MarketData1.current-MarketData1.GetTickSize()*5), 0); 이부분에서 에러가 나내요 에러메세지는 syntaxerror;unexpected token) 입니다 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식문의 > 안녕하세요 예스스탁입니다. 예스스팟에 대한 수식답변은 가이드 정도입니다. 아래 수식 내용 참고하셔서 수정보완해 사용하시기 바랍니다. var Pst,Bv,Sv,Bx,Sx; var BID,SID,Bnum,Snum; function Main_OnStart() { Pst = 0; Main.SetTimer(1, 5000);//5초 간격으로 타이머 작동 } function Chart1_OnRiseSignal(Signal) { if (Pst <= 0 && Signal.signalKind == 1) { Pst = 1; var aa = Account1.GetBalanceETCinfo(0); Bv = Math.max(1,Math.int(aa/MAth.max((MarketData1.current*75000),20000000))); BID = Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),Bv, MarketData1.current+MarketData1.GetTickSize()*5, 0); } if (Pst == 1 && Signal.signalKind == 1) { Pst = 0; Account1.SetUnfillOrderNumber(Bnum); if (Account1.Unfill.count > 0) { Bx = Bv-Account1.Unfill.count; Account1.OrderCancel(Bnum); } if (Bx > 0) Account1.OrderSell(Main.GetOrderCode(MarketData1.code),Bx, MarketData1.current-MarketData1.GetTickSize()*5), 0); } if (Pst >= 0 && Signal.signalKind == 1) { var aa = Account1.GetBalanceETCinfo(0); Sv = Math.max(1,Math.int(aa/MAth.max((MarketData1.current*75000),20000000))); SID = Account1.OrderSell(Main.GetOrderCode(MarketData1.code),Sv, MarketData1.current-MarketData1.GetTickSize()*5, 0); } if (Pst == -1 && Signal.signalKind == 1) { Pst = 0; Account1.SetUnfillOrderNumber(Snum); if (Account1.Unfill.count > 0) { Sx = Sv-Account1.Unfill.count; Account1.OrderCancel(Bnum); } if (Sx > 0) Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),Sv, MarketData1.current+MarketData1.GetTickSize()*5, 0); } } function Main_OnOrderResponse(OrderResponse) { if (OrderResponse.orderID == BID) Bnum = OrderResponse.orderNum; if (OrderResponse.orderID == SID) Snum = OrderResponse.orderNum; } function Main_OnTimer(nEventID) { var d = new Date(); var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); //15시15분 if (nEventID == 1 && HHMMSS >= 151500) { Main.KillTimer(1); Account1.SetBalance(Main.GetOrderCode(MarketData1.code), 0); if (Account1.Balance.position == 1) Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,0,1); if (Account1.Balance.position == 2) Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1); } } 즐거운 하루되세요 > sonamoo 님이 쓴 글입니다. > 제목 : 수식문의 > 안녕하세요? 지금 예스트레이더로 자동거래를 하고 있습니다. 현재 예스트레이더로부터 발생하는 신호를 바탕으로 예스스팟 거래를 하려고 합니다. 수식 부탁드립니다. =================== 1.예스트레이더에서 매수신호 발생시 선물매수 2.예스트레이더에서 매수청산신호 발생시 선물 매수분 청산 3.예스트레이더에서 매도신호 발생시 선물매도 4.예스트레이더에서 매도청산신호 발생시 선물 매도분 청산 5.장시작 30초후에 계좌잔고 리플레쉬합니다. 6.선물 매수 매도시 수량은 Value = GetUnclearedDeposits("0000-0000-31"); Value99 = max(1,int(value/max((c*75000),20000000))); 의 벨류99값으로 합니다. 7.15시 6분까지 매수 또는 매도 잔고가 있는 경우 15시 15분에 동시호가 청산합니다. 8.매수나 매도 진입가격은 신호발생 현재가+-5호가로 주문을 넣습니다. 9.청산시에는 미체결 수량 존재시 미체결 수량은 주문취소를 먼저하고 잔고 수량을 청산합니다. ================= 미리감사드립니다.
프로필 이미지

sonamoo

2014-10-24 14:12:42

Account1.OrderSell(Main.GetOrderCode(MarketData1.code),Bx, MarketData1.current-MarketData1.GetTickSize()*5), 0); 이부분에서 에러가 나내요 에러메세지는 syntaxerror;unexpected token) 입니다 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식문의 > 안녕하세요 예스스탁입니다. 예스스팟에 대한 수식답변은 가이드 정도입니다. 아래 수식 내용 참고하셔서 수정보완해 사용하시기 바랍니다. var Pst,Bv,Sv,Bx,Sx; var BID,SID,Bnum,Snum; function Main_OnStart() { Pst = 0; Main.SetTimer(1, 5000);//5초 간격으로 타이머 작동 } function Chart1_OnRiseSignal(Signal) { if (Pst <= 0 && Signal.signalKind == 1) { Pst = 1; var aa = Account1.GetBalanceETCinfo(0); Bv = Math.max(1,Math.int(aa/MAth.max((MarketData1.current*75000),20000000))); BID = Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),Bv, MarketData1.current+MarketData1.GetTickSize()*5, 0); } if (Pst == 1 && Signal.signalKind == 1) { Pst = 0; Account1.SetUnfillOrderNumber(Bnum); if (Account1.Unfill.count > 0) { Bx = Bv-Account1.Unfill.count; Account1.OrderCancel(Bnum); } if (Bx > 0) Account1.OrderSell(Main.GetOrderCode(MarketData1.code),Bx, MarketData1.current-MarketData1.GetTickSize()*5), 0); } if (Pst >= 0 && Signal.signalKind == 1) { var aa = Account1.GetBalanceETCinfo(0); Sv = Math.max(1,Math.int(aa/MAth.max((MarketData1.current*75000),20000000))); SID = Account1.OrderSell(Main.GetOrderCode(MarketData1.code),Sv, MarketData1.current-MarketData1.GetTickSize()*5, 0); } if (Pst == -1 && Signal.signalKind == 1) { Pst = 0; Account1.SetUnfillOrderNumber(Snum); if (Account1.Unfill.count > 0) { Sx = Sv-Account1.Unfill.count; Account1.OrderCancel(Bnum); } if (Sx > 0) Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),Sv, MarketData1.current+MarketData1.GetTickSize()*5, 0); } } function Main_OnOrderResponse(OrderResponse) { if (OrderResponse.orderID == BID) Bnum = OrderResponse.orderNum; if (OrderResponse.orderID == SID) Snum = OrderResponse.orderNum; } function Main_OnTimer(nEventID) { var d = new Date(); var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); //15시15분 if (nEventID == 1 && HHMMSS >= 151500) { Main.KillTimer(1); Account1.SetBalance(Main.GetOrderCode(MarketData1.code), 0); if (Account1.Balance.position == 1) Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,0,1); if (Account1.Balance.position == 2) Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1); } } 즐거운 하루되세요 > sonamoo 님이 쓴 글입니다. > 제목 : 수식문의 > 안녕하세요? 지금 예스트레이더로 자동거래를 하고 있습니다. 현재 예스트레이더로부터 발생하는 신호를 바탕으로 예스스팟 거래를 하려고 합니다. 수식 부탁드립니다. =================== 1.예스트레이더에서 매수신호 발생시 선물매수 2.예스트레이더에서 매수청산신호 발생시 선물 매수분 청산 3.예스트레이더에서 매도신호 발생시 선물매도 4.예스트레이더에서 매도청산신호 발생시 선물 매도분 청산 5.장시작 30초후에 계좌잔고 리플레쉬합니다. 6.선물 매수 매도시 수량은 Value = GetUnclearedDeposits("0000-0000-31"); Value99 = max(1,int(value/max((c*75000),20000000))); 의 벨류99값으로 합니다. 7.15시 6분까지 매수 또는 매도 잔고가 있는 경우 15시 15분에 동시호가 청산합니다. 8.매수나 매도 진입가격은 신호발생 현재가+-5호가로 주문을 넣습니다. 9.청산시에는 미체결 수량 존재시 미체결 수량은 주문취소를 먼저하고 잔고 수량을 청산합니다. ================= 미리감사드립니다.
프로필 이미지

예스스탁 예스스탁 답변

2014-10-24 17:12:00

안녕하세요 예스스탁이빈다. )가 중복으로 있었습니다. Account1.OrderSell(Main.GetOrderCode(MarketData1.code),Bx, MarketData1.current-MarketData1.GetTickSize()*5, 0); 즐거운 하루되세요 > sonamoo 님이 쓴 글입니다. > 제목 : Re : Re : 검증하는 과정에서 에러가 납니다. > Account1.OrderSell(Main.GetOrderCode(MarketData1.code),Bx, MarketData1.current-MarketData1.GetTickSize()*5), 0); 이부분에서 에러가 나내요 에러메세지는 syntaxerror;unexpected token) 입니다 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식문의 > 안녕하세요 예스스탁입니다. 예스스팟에 대한 수식답변은 가이드 정도입니다. 아래 수식 내용 참고하셔서 수정보완해 사용하시기 바랍니다. var Pst,Bv,Sv,Bx,Sx; var BID,SID,Bnum,Snum; function Main_OnStart() { Pst = 0; Main.SetTimer(1, 5000);//5초 간격으로 타이머 작동 } function Chart1_OnRiseSignal(Signal) { if (Pst <= 0 && Signal.signalKind == 1) { Pst = 1; var aa = Account1.GetBalanceETCinfo(0); Bv = Math.max(1,Math.int(aa/MAth.max((MarketData1.current*75000),20000000))); BID = Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),Bv, MarketData1.current+MarketData1.GetTickSize()*5, 0); } if (Pst == 1 && Signal.signalKind == 1) { Pst = 0; Account1.SetUnfillOrderNumber(Bnum); if (Account1.Unfill.count > 0) { Bx = Bv-Account1.Unfill.count; Account1.OrderCancel(Bnum); } if (Bx > 0) Account1.OrderSell(Main.GetOrderCode(MarketData1.code),Bx, MarketData1.current-MarketData1.GetTickSize()*5), 0); } if (Pst >= 0 && Signal.signalKind == 1) { var aa = Account1.GetBalanceETCinfo(0); Sv = Math.max(1,Math.int(aa/MAth.max((MarketData1.current*75000),20000000))); SID = Account1.OrderSell(Main.GetOrderCode(MarketData1.code),Sv, MarketData1.current-MarketData1.GetTickSize()*5, 0); } if (Pst == -1 && Signal.signalKind == 1) { Pst = 0; Account1.SetUnfillOrderNumber(Snum); if (Account1.Unfill.count > 0) { Sx = Sv-Account1.Unfill.count; Account1.OrderCancel(Bnum); } if (Sx > 0) Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),Sv, MarketData1.current+MarketData1.GetTickSize()*5, 0); } } function Main_OnOrderResponse(OrderResponse) { if (OrderResponse.orderID == BID) Bnum = OrderResponse.orderNum; if (OrderResponse.orderID == SID) Snum = OrderResponse.orderNum; } function Main_OnTimer(nEventID) { var d = new Date(); var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); //15시15분 if (nEventID == 1 && HHMMSS >= 151500) { Main.KillTimer(1); Account1.SetBalance(Main.GetOrderCode(MarketData1.code), 0); if (Account1.Balance.position == 1) Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,0,1); if (Account1.Balance.position == 2) Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1); } } 즐거운 하루되세요 > sonamoo 님이 쓴 글입니다. > 제목 : 수식문의 > 안녕하세요? 지금 예스트레이더로 자동거래를 하고 있습니다. 현재 예스트레이더로부터 발생하는 신호를 바탕으로 예스스팟 거래를 하려고 합니다. 수식 부탁드립니다. =================== 1.예스트레이더에서 매수신호 발생시 선물매수 2.예스트레이더에서 매수청산신호 발생시 선물 매수분 청산 3.예스트레이더에서 매도신호 발생시 선물매도 4.예스트레이더에서 매도청산신호 발생시 선물 매도분 청산 5.장시작 30초후에 계좌잔고 리플레쉬합니다. 6.선물 매수 매도시 수량은 Value = GetUnclearedDeposits("0000-0000-31"); Value99 = max(1,int(value/max((c*75000),20000000))); 의 벨류99값으로 합니다. 7.15시 6분까지 매수 또는 매도 잔고가 있는 경우 15시 15분에 동시호가 청산합니다. 8.매수나 매도 진입가격은 신호발생 현재가+-5호가로 주문을 넣습니다. 9.청산시에는 미체결 수량 존재시 미체결 수량은 주문취소를 먼저하고 잔고 수량을 청산합니다. ================= 미리감사드립니다.