| Q&A 게시판 | HOME > Q&A 게시판 |
작성자 :
빠삐용
작성일 : 2024-12-04 16:10:53
조회수 : 351
첨부파일1: 스크린샷 2024-12-04 154503.png
매수 알림창 뜬 직후 프로그램 다운 현상
안녕하세요, 문의드립니다.
매수매도 모의 테스트 중인데,
매수 메시지 팝업이 컴퓨터 우측하단에 첨부파일과 같이 뜬 직후, 바로 먹통이 되면서
프로그램이 다운 됩니다. 프로그램을 재설치해도 동일한 현상이 반복되네요.
수식은 메뉴얼 예제입니다.
다운 직전에 나타나는 매수 메시지를 참고로 보냅니다.(시스템 명은 임의로 지움)
-------------------------------------------------------------------------------------------
var exchangeCode = "006";
var marketCode = "KRW";
var symbolCode = "IOTA"
var BID,BNum,C1,MK;
function Main_OnStart()
{
Main.MessageList("Start");
ChartSet = new ReqChartItem(exchangeCode, marketCode, symbolCode, 5, CHART_PERIOD_MINUTE, 3, CHART_REQCOUNT_BAR, false, false);
SystemSet = new SystemInfo("sytem1");
Main.ReqChartEx(ChartSet,SystemSet);
Main.MessageList("확장차트요청");
}
function Main_OnRcvChartEx(ChartEx)
{
//차트객체를 C1에 저장
C1 = ChartEx;
//종목개체 요청
Main.ReqMarketData(exchangeCode, marketCode, symbolCode);
}
//요청한 종목객체 수신완료
function Main_OnRcvMarketData(MarketData)
{
MK = MarketData;
}
function Main_OnRiseSignal(ChartEx, Signal)
{ Main.MessageList("신호수신");
if (ChartEx.GetCode(1).exchange == C1.GetCode(1).exchange &&
ChartEx.GetCode(1).market == C1.GetCode(1).market &&
ChartEx.GetCode(1).code == C1.GetCode(1).code)
{
//Buy신호가 발생
if (Signal.signalKind == 1)
{
BID = Account1.OrderBuy(MK.market, MK.code, 1000000/MK.current, MK.current, 0,0);
Main.SetTimer(1, 3000000);
}
if (Signal.signalKind == 2)
{
Account1.SetUnfill(BNum);
if (Account1.Unfill.count > 0)
{
Account1.OrderCancel(BNum);
}
Account1.SetBalance(MK.code, 0);
if (Account1.Balance.count > 0 && Account1.Balance.position == 2)
{
Account1.OrderSell(MK.market, MK.code, Account1.Balance.count,MK.current, 0)
}
}
}
}
function Main_OnOrderResponse(OrderResponse)
{
if (OrderResponse.orderID == BID)
{
BNum = OrderResponse.orderNum;
}
}
function Main_OnTimer(nEventID)
{
if (nEventID == 1)
{
Main.KillTimer(1);
Account1.SetUnfill(BNum);
if (Account1.Unfill.count > 0)
{
Account1.OrderCancel(BNum);
}
}
}
/*스크립트끝-------------------------------------------------------*/
매수매도 모의 테스트 중인데,
매수 메시지 팝업이 컴퓨터 우측하단에 첨부파일과 같이 뜬 직후, 바로 먹통이 되면서
프로그램이 다운 됩니다. 프로그램을 재설치해도 동일한 현상이 반복되네요.
수식은 메뉴얼 예제입니다.
다운 직전에 나타나는 매수 메시지를 참고로 보냅니다.(시스템 명은 임의로 지움)
-------------------------------------------------------------------------------------------
var exchangeCode = "006";
var marketCode = "KRW";
var symbolCode = "IOTA"
var BID,BNum,C1,MK;
function Main_OnStart()
{
Main.MessageList("Start");
ChartSet = new ReqChartItem(exchangeCode, marketCode, symbolCode, 5, CHART_PERIOD_MINUTE, 3, CHART_REQCOUNT_BAR, false, false);
SystemSet = new SystemInfo("sytem1");
Main.ReqChartEx(ChartSet,SystemSet);
Main.MessageList("확장차트요청");
}
function Main_OnRcvChartEx(ChartEx)
{
//차트객체를 C1에 저장
C1 = ChartEx;
//종목개체 요청
Main.ReqMarketData(exchangeCode, marketCode, symbolCode);
}
//요청한 종목객체 수신완료
function Main_OnRcvMarketData(MarketData)
{
MK = MarketData;
}
function Main_OnRiseSignal(ChartEx, Signal)
{ Main.MessageList("신호수신");
if (ChartEx.GetCode(1).exchange == C1.GetCode(1).exchange &&
ChartEx.GetCode(1).market == C1.GetCode(1).market &&
ChartEx.GetCode(1).code == C1.GetCode(1).code)
{
//Buy신호가 발생
if (Signal.signalKind == 1)
{
BID = Account1.OrderBuy(MK.market, MK.code, 1000000/MK.current, MK.current, 0,0);
Main.SetTimer(1, 3000000);
}
if (Signal.signalKind == 2)
{
Account1.SetUnfill(BNum);
if (Account1.Unfill.count > 0)
{
Account1.OrderCancel(BNum);
}
Account1.SetBalance(MK.code, 0);
if (Account1.Balance.count > 0 && Account1.Balance.position == 2)
{
Account1.OrderSell(MK.market, MK.code, Account1.Balance.count,MK.current, 0)
}
}
}
}
function Main_OnOrderResponse(OrderResponse)
{
if (OrderResponse.orderID == BID)
{
BNum = OrderResponse.orderNum;
}
}
function Main_OnTimer(nEventID)
{
if (nEventID == 1)
{
Main.KillTimer(1);
Account1.SetUnfill(BNum);
if (Account1.Unfill.count > 0)
{
Account1.OrderCancel(BNum);
}
}
}
/*스크립트끝-------------------------------------------------------*/