Files
AutoSeller/CybosHelper.cs
2017-01-14 00:58:33 +09:00

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);
}
}
}