Giter Club home page Giter Club logo

quantbox_xapi's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

quantbox_xapi's Issues

速度没有达到自己所想

目前C#层返回的数据太慢。

我先现的想法是先把消息队列给改了,弄成内存池。
力争减少复制。

但从C++到C#还是太慢。

欢迎大家提供意见。

concurrentqueue.h compiling failed

LinuxMint 17.1 64bit
编译出现下面的错误,
QuantBox_XAPI/QuantBox_Queue/concurrentqueue.h|396|error: no template named 'has_trivial_destructor' in namespace 'std'; did you mean 'has_virtual_destructor'?|

我发现了下面的问题:
cameron314/concurrentqueue#14
是不是和这里是同一个Bug?

CTP测试无法退出

环境:Linux Mint 17.1 - 64Bit
现象:QuantBox.XAPI.exe运行test_Linux_Main成功后长时间无法正常结束退出,程序被阻塞了。

Matlab Version: test.m

Error using test (line 33)
Message: ???? QuantBox_CTP_Trade.dll
Source: QuantBox.XAPI
HelpLink:

商品期货CTP无法正确获得昨仓

例如一个账号持有rb1601 今仓30手多,昨仓5手多,但是OnRspQryInvestorPosition获得的仓位只有今仓,昨仓显示为0,在快期中可以正确获得昨仓。

目录调整计划

现在需要使用其它语言接入XAPI的需求已经越来越多,以前的目录结构已经显得混乱,所以计划重新调整一下目录,大家有什么建议没?

XSpeed测试出现SIGSEGV

环境:LinuxMint 17.1 - 64bit,编译器是缺省安装
测试代码:

    static void test_XSpeed_Main (string[] args)
    {
        ApiManager.QueuePath = @"libQuantBox_Queue.so";
        api = ApiManager.CreateApi (@"libQuantBox_XSpeed_Quote.so");

        api.Server.BrokerID = "";
        api.Server.Address = "tcp://203.86.95.181:10915";

        api.User.UserID = "XXXXX";
        api.User.Password = "XXX";

        api.OnConnectionStatus = OnConnectionStatus;
        api.OnRtnDepthMarketData = OnRtnDepthMarketData;

        Console.WriteLine ("Connect");
        api.Connect ();
        Console.WriteLine ("Connect Finished");

        Console.ReadKey ();
        Console.WriteLine ("Subscribe");
        api.Subscribe ("IF1411", "");
        Console.WriteLine ("Subscribe Finished");

        Console.ReadKey ();

        ApiManager.ReleaseApi (api);
        Console.WriteLine ("Done");
    }

出错现象:

Connect
Connect Finished
11111Initialized
11111Connecting
11111Connected
11111Logining

Native stacktrace:

/usr/bin/cli() [0x4accac]
/usr/bin/cli() [0x42a849]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x10340) [0x7f2e5a867340]

Debug info from gdb:

11111Disconnected
[New LWP 2850]
[New LWP 2849]
[New LWP 2848]
[New LWP 2847]
[New LWP 2845]
[New LWP 2844]
[New LWP 2843]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f2e5a8663bd in read () from /lib/x86_64-linux-gnu/libpthread.so.0
Id Target Id Frame
8 Thread 0x7f2e57fff700 (LWP 2843) "Finalizer" 0x00007f2e5a865680 in sem_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
7 Thread 0x7f2e573ff700 (LWP 2844) "Timer-Scheduler" 0x00007f2e5a863414 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
6 Thread 0x7f2e56d5c700 (LWP 2845) "cli" 0x00007f2e5a8637ce in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
5 Thread 0x7f2e55cd9700 (LWP 2847) "cli" 0x00007f2e5a8637ce in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
4 Thread 0x7f2e554d8700 (LWP 2848) "cli" 0x00007f2e5a8637ce in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
3 Thread 0x7f2e54cd7700 (LWP 2849) "cli" 0x00007f2e5a866ee9 in waitpid () from /lib/x86_64-linux-gnu/libpthread.so.0
2 Thread 0x7f2e3ffff700 (LWP 2850) "cli" 0x00007f2e5a8637ce in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0

  • 1 Thread 0x7f2e5b38a7c0 (LWP 2841) "cli" 0x00007f2e5a8663bd in read () from /lib/x86_64-linux-gnu/libpthread.so.0

Thread 8 (Thread 0x7f2e57fff700 (LWP 2843)):
#0 0x00007f2e5a865680 in sem_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
#1 0x0000000000619238 in mono_sem_wait ()
#2 0x000000000059d02d in ?? ()
#3 0x0000000000582484 in ?? ()
#4 0x000000000061e0b6 in ?? ()
#5 0x00007f2e5a85f182 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#6 0x00007f2e5a58c00d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 7 (Thread 0x7f2e573ff700 (LWP 2844)):
#0 0x00007f2e5a863414 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1 0x00000000005f840b in ?? ()
#2 0x000000000060b70b in ?? ()
#3 0x00000000005810ae in ?? ()
#4 0x0000000000581ea9 in ?? ()
#5 0x0000000040dd225d in ?? ()
#6 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f2e56d5c700 (LWP 2845)):
#0 0x00007f2e5a8637ce in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1 0x00007f2e57a43b75 in __gthread_cond_timedwait (__cond=0xef0ad8, __mutex=0xef0ab0, __abs_timeout=0x7f2e56d5bcc0) at /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/x86_64-linux-gnu/c++/4.8/bits/gthr-default.h:871
#2 0x00007f2e57a44a42 in std::condition_variable::__wait_until_impl<std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (this=0xef0ad8, __lock=..., __atime=...) at /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/condition_variable:160
#3 0x00007f2e57a44795 in std::condition_variable::wait_until<std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (this=0xef0ad8, __lock=..., __atime=...) at /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/condition_variable:100
#4 0x00007f2e57a444df in std::condition_variable::wait_for<long, std::ratio<1l, 1000l> > (this=0xef0ad8, __lock=..., __rtime=...) at /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/condition_variable:132
#5 0x00007f2e57a43af9 in CMsgQueue::RunInThread (this=0xef0aa0) at /home/mep/dev/broker/src/QuantBox_XAPI/QuantBox_Queue/MsgQueue.cpp:98
#6 0x00007f2e57a443b3 in CMsgQueue::ProcessThread (lpParam=0xef0aa0) at /home/mep/dev/broker/src/QuantBox_XAPI/QuantBox_Queue/MsgQueue.h:85
#7 0x00007f2e57a463b2 in std::_Bind_simple<void ((CMsgQueue))(CMsgQueue*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) (this=0xf73f10) at /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/functional:1731
#8 0x00007f2e57a46365 in std::_Bind_simple<void ((CMsgQueue))(CMsgQueue*)>::operator()() (this=0xf73f10) at /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/functional:1720
#9 0x00007f2e57a4633c in std::thread::_Impl<std::_Bind_simple<void ((CMsgQueue))(CMsgQueue*)> >::_M_run() (this=0xf73ef8) at /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/thread:115
#10 0x00007f2e577e5bf0 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#11 0x00007f2e5a85f182 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#12 0x00007f2e5a58c00d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 5 (Thread 0x7f2e55cd9700 (LWP 2847)):
#0 0x00007f2e5a8637ce in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1 0x00007f2e56da6ba3 in apr_thread_cond_timedwait () from /home/mep/dev/broker/src/QuantBox_XAPI/bin/Debug/libDFITCMdApi.so
#2 0x00007f2e56da450b in Condition::wait_time(unsigned long) () from /home/mep/dev/broker/src/QuantBox_XAPI/bin/Debug/libDFITCMdApi.so
#3 0x00007f2e56d91874 in DataProcThread::run() () from /home/mep/dev/broker/src/QuantBox_XAPI/bin/Debug/libDFITCMdApi.so
#4 0x00007f2e56da6248 in Thread::thread_proc(apr_thread_t_, void_) () from /home/mep/dev/broker/src/QuantBox_XAPI/bin/Debug/libDFITCMdApi.so
#5 0x00007f2e56daeedd in dummy_worker () from /home/mep/dev/broker/src/QuantBox_XAPI/bin/Debug/libDFITCMdApi.so
#6 0x00007f2e5a85f182 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#7 0x00007f2e5a58c00d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 4 (Thread 0x7f2e554d8700 (LWP 2848)):
#0 0x00007f2e5a8637ce in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1 0x00007f2e56da6ba3 in apr_thread_cond_timedwait () from /home/mep/dev/broker/src/QuantBox_XAPI/bin/Debug/libDFITCMdApi.so
#2 0x00007f2e56da450b in Condition::wait_time(unsigned long) () from /home/mep/dev/broker/src/QuantBox_XAPI/bin/Debug/libDFITCMdApi.so
#3 0x00007f2e56d9274d in CustomMdProc::run() () from /home/mep/dev/broker/src/QuantBox_XAPI/bin/Debug/libDFITCMdApi.so
#4 0x00007f2e56da6248 in Thread::thread_proc(apr_thread_t_, void_) () from /home/mep/dev/broker/src/QuantBox_XAPI/bin/Debug/libDFITCMdApi.so
#5 0x00007f2e56daeedd in dummy_worker () from /home/mep/dev/broker/src/QuantBox_XAPI/bin/Debug/libDFITCMdApi.so
#6 0x00007f2e5a85f182 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#7 0x00007f2e5a58c00d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 3 (Thread 0x7f2e54cd7700 (LWP 2849)):
#0 0x00007f2e5a866ee9 in waitpid () from /lib/x86_64-linux-gnu/libpthread.so.0
#1 0x00000000004acd39 in ?? ()
#2 0x000000000042a849 in ?? ()
#3
#4 0x0000000000000000 in ?? ()
#5 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f2e3ffff700 (LWP 2850)):
#0 0x00007f2e5a8637ce in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1 0x00007f2e56da6ba3 in apr_thread_cond_timedwait () from /home/mep/dev/broker/src/QuantBox_XAPI/bin/Debug/libDFITCMdApi.so
#2 0x00007f2e56da450b in Condition::wait_time(unsigned long) () from /home/mep/dev/broker/src/QuantBox_XAPI/bin/Debug/libDFITCMdApi.so
#3 0x00007f2e56d8f465 in HeartBeatTh::run() () from /home/mep/dev/broker/src/QuantBox_XAPI/bin/Debug/libDFITCMdApi.so
#4 0x00007f2e56da6248 in Thread::thread_proc(apr_thread_t_, void_) () from /home/mep/dev/broker/src/QuantBox_XAPI/bin/Debug/libDFITCMdApi.so
#5 0x00007f2e56daeedd in dummy_worker () from /home/mep/dev/broker/src/QuantBox_XAPI/bin/Debug/libDFITCMdApi.so
#6 0x00007f2e5a85f182 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#7 0x00007f2e5a58c00d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 1 (Thread 0x7f2e5b38a7c0 (LWP 2841)):
#0 0x00007f2e5a8663bd in read () from /lib/x86_64-linux-gnu/libpthread.so.0
#1 0x00000000005f96cd in ?? ()
#2 0x00000000005f2023 in ?? ()
#3 0x0000000040defa6a in ?? ()
#4 0x00007f2e5900deb8 in ?? ()
#5 0x00007f2e5900deb8 in ?? ()
#6 0x00007f2e5900dfe8 in ?? ()
#7 0x0000000000000000 in ?? ()

Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries

used by your application.

为何CTP收到行情是1秒一批?

一个简单的行情实验程序

        static void OnMdConnectionStatus(object sender, ConnectionStatus status, ref RspUserLoginField userLogin, int size1)
        {
            Console.WriteLine(status);
            if (status == ConnectionStatus.Done)
            {
                mdApi.Subscribe("rb1605;rb1601;cu1601;cu1512;zn1601;zu1512;ag1512;ag1606", "");
            }
        }

        static void OnRtnDepthMarketData(object sender, ref DepthMarketDataNClass marketData)
        {
            Console.WriteLine($"{DateTime.Now:yyyyMMdd HHmmss.fff} {marketData.TradingDay} {marketData.UpdateTime} {marketData.UpdateMillisec} {marketData.InstrumentID}, {marketData.LastPrice}");
        }

ctp_md

奇怪的是,为何收到的是一秒一批行情,而不是500毫秒一批?

hash_map在 linux下编译错误

环境:LinuxMint 17.1-64bit
现象: hash_map编译错误

描述:
在Linux下hash_map的实现和VC++上稍有不同,在使用hash_map的文件中增加下面的语句:

using namespace __gnu_cxx;

namespace __gnu_cxx
{
template<> struct hash
{
size_t operator()(const string& s) const
{ return hash<const char*>()( s.c_str() ); } //__stl_hash_string
};
template<> struct hash
{
size_t operator()(const string& s) const
{ return hash<const char*>()( s.c_str() ); }
};
}

编译成功,但执行出错!

环境:

windows7 64位
vs2013 Community

执行过程:

git clone 之后,直接打开项目,将csharp/QuantBox.XAPI项目的编译目标改成console程序。编译整个解决方案。

然后运行QuantBox.XAPI.exe,报错LoadLibraryEx加载 C:\Program Files\SmartQuant Ltd\OpenQuant 2014\XAPI\CTP\x86\QuantBox_CTP_Trade.dll 文件,不是有效的 Win32 应用程序。

运行QuantBox_XAPI_TEST.exe,报错显示:
无法定位程序输入点 ?Output@CMsgQueue@@MAEXPAUResponeItem@@@z 于动态链接库 QuantBox_Queue_x86.dll 上。

疑问:

  1. LoadLibraryEx 加载 QuantBox_CTP_Trade.dll 为什么会报错?QuantBox_CTP_Trade.dll 是使用32位编译的啊!?
  2. QuantBox_XAPI_TEST.exe 整个代码里也没有加载 QuantBox_Queue_x86.dll 的代码?为什么会报这个错?

QuantBox.XAPI_Linux工程遗忘了Interface目录

环境:Linux Mint 17-64bit,Mono Develop 5.7
现象: 编译出错,显示 using QuantBox.XAPI.Interface错误

解决办法:在工程中增加Interface目录及目录先的所有源文件。

通视接口发现消息队列可能有问题

不知谁能帮解决此问题

跑QuantBox_XAPI_TEST这个项目即可,其中的有一个main是调用的通视。

问题一
_pFirstBlock == pHead
这个地方可能是消息队列有问题,在TongShi这个模块中东西放队列中就有可能出错,怀疑是一次上万条数据包导致的问题,但如果去了行情中的Input_NoCopy就没事了。
问题二
TongShi这个模块Disconnect不能正常退出,将一些释放的代码都已经全注释都无法解决

准备:
1.先到这个路径下载数 数畅信息平台V5.3
内置了一个账号,被多人用,会被踢,没关系,在踢前已经取到一次行情了。
http://www.dbszx.net/Downs/indexshow.asp?SortID=9&ID=10

目前不使用银江,因为银江没有免费账号,得到淘宝上买

其它
运行时权限有要求
由于通视是用的SendMessage/PostMessage来实现的,在Win7/Win8下跨进程的的发送消息权限不够
网上搜索ChangeWindowMessageFilter

我的VS2013是以管理员方式运行的。
使用银江在IDE中运行测试程序可以收到行情,但直接双击运行却收不到。

找了两天,才找到是因为权限问题

目前TEST以管理员方式运行,银江才能正常使用
TEST以普通用户运行,数畅可以使用,也可以将数畅设成管理员方式运行
实际上出现无法收数时,请做部分调整即可。

XAPI股票指令实现遇到难题,求助

需要实现的功能:
1.可转债的转换
2.融资融券的常用指令
3.ETF的申购与赎回
4.ETF一篮子买卖
5.LOF的申购与赎回
6.分级基金的分拆与合并

LTS
使用TFtdcDirectionType来实现所有的指令
也就是不光有Buy/Sell 还有很多其它的指令,比如融资融券、备兑开仓与锁定

XSpeed
其实是三套API,然后粗暴的合并在一起
Stock/FASL/Opt表示股票、融资融券、个股期权
例如:
ReqFASLEntrustCrdtOrder
ReqFASLEntrsuctOrder

国信FIX:
CashMargin表示开平,表示信用交易,算了一下,只支持了4种,也就是担保物的买卖不支持
融资买入,融券卖出 --- 开
买券还券,卖券还款 --- 平

恒生FIX期权
OpenClose中有X表示执行,其它就是Open/Close
然后有一个207 CoveredOrUncovered 表示1 备兑

方正FIX
使用的证券类型SecurityType
CS 表示普通股票
TIPS 国债 TIPS = Treasury Inflation Protected Securities
EITS 转股 CB = Convertible Bond
BUYSELL 回购 BUYSELL = Buy Sellback
ETFMM ETF买卖 这个其实使用普通的买卖即可
ETFSS ETF申赎 这个对应的是啥?
PLECRK 质押出入库 SECPLEDGE = Securities Pledge

国外的FIX Side.
https://fixspec.com/FIX/4.4/New-Order-Single
D = Subscribe (e.g. CIV)申购
E = Redeem (e.g. CIV)赎回
F = Lend (FINANCING - identifies direction of collateral)
G = Borrow (FINANCING - identifies direction of collateral)

CTP期权中现在加入了个股期权的内容
有锁定指令ReqLockInsert
有行权指令ReqExecOrderInsert
用的投机套保类型来标记备兑

现在我想在XAPI中支持股票的这些功能,求助大家一起设计下单的结构体或指令的函数

查询账户持仓与实际不符

一个账号持有rb15101手昨仓、2手今仓,通过旧版本和最新版本的XAPI中tradeApi.ReqQryInvestorPosition获取账户持仓数据只得到持有1手空的数据,在快期中查询是正确的。

在Linux上编译,出现cannot find -lQuantBox_Queue

环境:Linux Mint 17-64bit,Code::Blocks 13.12
现象:多数工程出现cannot find -lQuantBox_Queue链接错误。

应该是项目设置的路径问题吧,我看到libQuantBox_Queue.so已经生成了。

你有没有一个跨平台的持续集成环境啊?这样每天每个平台可以自动化的编译和单元测试,
能省不少事情。

飞马API问题

飞马1.00/1.01 API没有一些方法和结构,比如CUstpFtdcInputQuoteField,CUstpFtdcRtnQuoteField,OnRtnQuote等等,请问现在github里的飞马是哪个版本的?

测试了一下CTP的,好像OnRspQryInstrument返回的InstrumentField值有问题

iuaxl jfrnqk ol 784r1it

test_CTP_Main里面添加
api.OnRspQryInstrument = OnRspQryInstrument;和
api.ReqQryInstrument("","");
打出来的InstrumentName全是交易所代码,InstrumentID全是日期

又测试了一下其他命令,好像C++返回的struct到了C#里都有问题。

另外
MsgQueue.cpp里面
void CMsgQueue::StopThread()
{
//m_mtx.lock();

m_bRunning = false;
lock_guard<mutex> cl(m_mtx);
if(m_hThread)
{
    m_hThread->join();
    delete m_hThread;
    m_hThread = nullptr;
}
//m_mtx.unlock();

}

void CMsgQueue::RunInThread()
{
while (m_bRunning)
{
if (Process())
{
}
else
{
//挂起,等事件到来
//m_mtx.lock();
this_thread::sleep_for(chrono::milliseconds(1));
}
}

lock_guard<mutex> cl(m_mtx);

// 清理线程
m_hThread = nullptr;
m_bRunning = false;

}
的两个lock_guard是不是会产生死锁?

Lower .Net Version API

Appreciate your hard-work ....
but where could I download a lower .Net version of code ?
VS 2013 is too new to me ....

能编译, 跑不起来

您好, 调试QuantBox.XAPI.exe, 运行到test_CTP_Main(string[] args) 里面的api.Connect()出错了, 说找不到thosttraderapi.dll. 在QuantBox.XAPI项目里面添加Referrence, ..\include\CTP\win32\thosttraderapi.dll, vs2013报错说无法添加. 请问该怎么处理? 谢谢!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.