86 lines
2.1 KiB
C#
86 lines
2.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace AutoSeller
|
|
{
|
|
class CybosHelper
|
|
{
|
|
CPUTILLib.CpCybos m_CPCybos = new CPUTILLib.CpCybos();
|
|
CPFORETRADELib.CpForeTdUtil m_CPUtil = new CPFORETRADELib.CpForeTdUtil();
|
|
DSCBO1Lib.CpConclusion m_CpConclusion = new DSCBO1Lib.CpConclusion();
|
|
bool m_bInitialized = false;
|
|
|
|
public CybosHelper()
|
|
{
|
|
short iResult = m_CPUtil.TradeInit();
|
|
switch(iResult)
|
|
{
|
|
case -1:
|
|
Util.Log(Util.LOG_TYPE.ERROR, "[TradeInit] 오류");
|
|
break;
|
|
|
|
case 0:
|
|
m_bInitialized = true;
|
|
Util.Log(Util.LOG_TYPE.VERVOSE, "[TradeInit] 로그인 되었습니다");
|
|
break;
|
|
|
|
case 1:
|
|
Util.Log(Util.LOG_TYPE.ERROR, "[TradeInit] 업무 키 입력 잘못됨");
|
|
break;
|
|
|
|
case 2:
|
|
Util.Log(Util.LOG_TYPE.ERROR, "[TradeInit] 계좌 비밀번호가 잘못되었습니다");
|
|
break;
|
|
|
|
case 3:
|
|
Util.Log(Util.LOG_TYPE.ERROR, "[TradeInit] 취소되었습니다");
|
|
break;
|
|
}
|
|
|
|
string strAccount = m_CPUtil.AccountNumber[0];
|
|
m_CpConclusion.Received += CpConclusion_Received;
|
|
m_CpConclusion.Subscribe();
|
|
}
|
|
|
|
public string[] GetAccounts()
|
|
{
|
|
return m_CPUtil.AccountNumber;
|
|
}
|
|
|
|
private void CpConclusion_Received()
|
|
{
|
|
string strCodeName = m_CpConclusion.GetHeaderValue(2);
|
|
int iCount = m_CpConclusion.GetHeaderValue(3);
|
|
int iPrice = m_CpConclusion.GetHeaderValue(4);
|
|
string strBuyOrSell = m_CpConclusion.GetHeaderValue(12);
|
|
string strType = m_CpConclusion.GetHeaderValue(14);
|
|
string strCancel = m_CpConclusion.GetHeaderValue(16);
|
|
int iBookValue = m_CpConclusion.GetHeaderValue(21);
|
|
|
|
}
|
|
|
|
public int GetLimitRemainCountTrade()
|
|
{
|
|
return m_CPCybos.GetLimitRemainCount(CPUTILLib.LIMIT_TYPE.LT_TRADE_REQUEST);
|
|
}
|
|
|
|
public int GetLimitRemainCountRQ()
|
|
{
|
|
return m_CPCybos.GetLimitRemainCount(CPUTILLib.LIMIT_TYPE.LT_NONTRADE_REQUEST);
|
|
}
|
|
|
|
public int GetLimitRemainCountSB()
|
|
{
|
|
return m_CPCybos.GetLimitRemainCount(CPUTILLib.LIMIT_TYPE.LT_SUBSCRIBE);
|
|
}
|
|
|
|
public bool IsConnected()
|
|
{
|
|
return (m_CPCybos.IsConnect==1);
|
|
}
|
|
}
|
|
}
|