커뮤니티

주문가격 수정 문의드립니다.

프로필 이미지
토그
2022-06-20 11:39:30.0
1400
글번호 225680
답변완료

첨부 이미지

var BuyPositionCount; var SellPositionCount; var BID, SID; var Buy_price,Sell_price,Center_price; var C1_low,C1_high,C1_current; function Main_OnStart() { Main.MessageLog("시작"); Main.MessageLog(M1.code); Main.SetTimer(1, 5000); Buy_price = 0; Sell_price = 0; BID = 0; SID = 0; } function Main_OnTimer(nEventID) { if (nEventID == 1) { BuyPositionCount = A1.GetTotalCount(0, 2); // 매수수량 체크 SellPositionCount = A1.GetTotalCount(0, 1); // 매도수량체크 C1_OnBarAppended(); if ( SellPositionCount == 0 && SID == 0 ) { SID = A1.OrderSell(M1.code, Vol,Sell_price,1); } if ( SID > 0 && Sell_price != ) { SID = A1.OrderReplacePrice(SID,Sell_price); } } } function C1_OnBarAppended(ndata) { var UP_exCenterZone = C1.GetIndicatorData("3L chart - 480", 6, 0); var DN_exCenterZone = C1.GetIndicatorData("3L chart - 480", 7, 0); var Center = C1.GetIndicatorData("3L chart - 480", 1, 0); var bar_close = C1.GetClose(1,0); var bar_high = C1.GetHigh(1, 0); var bar_low = C1.GetLow(1, 0); Buy_price = UP_exCenterZone; Sell_price = DN_exCenterZone; Center_price = Center; C1_low = bar_low; C1_high = bar_high; C1_current = bar_close; } 주문을 최초로 넣고 현재 진입조건가격이 최초 주문했던 가격과 비교해서 달라질 경우 어떻게 해야하는지 모르겠습니다. 도움좀 부탁드리겠습니다.
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-07-28 16:55:38.0

안녕하세요 예스스타입니다. 정정주문을 할 경우 정정할 가격이 기준 주문가격과 동일하면 주문거부가 됩니다. 그러므로 정정주문 전에 미체결객체를 셋팅하고 주문가격을 가져와 비교후에 동작하게 하시면 됩니다. 올리신 내용에 주문번호를 저장하는 부분이 없습니다. SID는 주문아이디로 스팟에서 낸 주문을 추적하기 위한 내부아이디일뿐입니다. 주문 후 주문번호를 저장하고 해당 주문번호를 이용해 정정하게 하셔야 합니다 var SID,SNum; function Main_OnTimer(nEventID) { if (nEventID == 1) { BuyPositionCount = A1.GetTotalCount(0, 2); // 매수수량 체크 SellPositionCount = A1.GetTotalCount(0, 1); // 매도수량체크 C1_OnBarAppended(); if ( SellPositionCount == 0 && SID == 0 ) { SID = A1.OrderSell(M1.code, Vol,Sell_price,1); } //미체결객체 셋팅 A1.SetUnfill(SNum); if ( SID > 0 && Sell_price != Account2.Unfill.price) { SID = A1.OrderReplacePrice(SID,Sell_price); } } } function Main_OnOrderResponse(OrderResponse) { if (OrderResponse.orderID == SID) { SNum = OrderResponse.orderNum; } } 즐거운 하루되세요 > 토그 님이 쓴 글입니다. > 제목 : 주문가격 수정 문의드립니다. > var BuyPositionCount; var SellPositionCount; var BID, SID; var Buy_price,Sell_price,Center_price; var C1_low,C1_high,C1_current; function Main_OnStart() { Main.MessageLog("시작"); Main.MessageLog(M1.code); Main.SetTimer(1, 5000); Buy_price = 0; Sell_price = 0; BID = 0; SID = 0; } function Main_OnTimer(nEventID) { if (nEventID == 1) { BuyPositionCount = A1.GetTotalCount(0, 2); // 매수수량 체크 SellPositionCount = A1.GetTotalCount(0, 1); // 매도수량체크 C1_OnBarAppended(); if ( SellPositionCount == 0 && SID == 0 ) { SID = A1.OrderSell(M1.code, Vol,Sell_price,1); } if ( SID > 0 && Sell_price != ) { SID = A1.OrderReplacePrice(SID,Sell_price); } } } function C1_OnBarAppended(ndata) { var UP_exCenterZone = C1.GetIndicatorData("3L chart - 480", 6, 0); var DN_exCenterZone = C1.GetIndicatorData("3L chart - 480", 7, 0); var Center = C1.GetIndicatorData("3L chart - 480", 1, 0); var bar_close = C1.GetClose(1,0); var bar_high = C1.GetHigh(1, 0); var bar_low = C1.GetLow(1, 0); Buy_price = UP_exCenterZone; Sell_price = DN_exCenterZone; Center_price = Center; C1_low = bar_low; C1_high = bar_high; C1_current = bar_close; } 주문을 최초로 넣고 현재 진입조건가격이 최초 주문했던 가격과 비교해서 달라질 경우 어떻게 해야하는지 모르겠습니다. 도움좀 부탁드리겠습니다.