tomsh请进来,有关IExecutionProvider 接口的问题

Discussion in 'OpenQuant' started by gzpony, Aug 11, 2009.

  1. 用C#编OQ的接口。上次的问题tomsh兄提到用IExecutionProvider 接口解决。 在调用到 SmartQuant.Providers.IExecutionProvider 接口后,很奇怪的出现下面这个编译错误:


    错误 42 无法将文件“.\SmartQuant_nat.dll”复制到“D:\OpenQuant\Bin\SmartQuant_nat.dll”。未能找到文件“.\SmartQuant_nat.dll”。。。


    我的调用和SmartQuant_nat.dll 并无关系的,而且这个文件在OpenQuant\Framework\bin 目录下面躺得好好的。如果把它copy到 OpenQuant\Bin\ 下面,启动OQ就会出错了。

    OQ带文档的就是OpenQuant.API的dll的。而那些SmartQuant开头的dll没有文档,估计是从OD沿用下来的?是不是在OQ里面调用SmartQuant开头的dll有些限制?
     
  2. 我自己不用OQ(我以前给你的答复是基于SQ的),也不了解smartquant_nat.dll的功能。我自己猜测OQ是包着smartquant的一个wrapper,它调用SmartQuant.Providers.IExecutionProvider也许通过了一些中间层,如smartquant_nat.dll,所以调试起来会比较困难。如果要讨论SQ的IExecutionProvider我可能还可以出点想法,OQ或许有自己的交易接口类,不一定与SQ的一致,而且版本上也会新一些。所以我的关于IExecutionProvider的意见对你可能没有帮助。
     
  3. 谢谢tom_sh兄的回复,我再自己摸索一下看看。

    openquant也太晕倒了些,接口API的buyingpower属性设为readonly,明摆着不让开发的接口来更新资金数量。
    好像确实符合那个结论,OQ因为有QD在,所以功能受限制;OQ的技术支持也比较有限,这种问题在它论坛上作者不回答。真搞不定,可能就要转去RE那里了。
     
  4. 如果不行你就早点说,我好跟着你一起转啊,哈哈
     
  5. 直接用qd不行吗?
     
  6. 现在能搞到能用的QD是什么版本? 我看到的是2005年的,可能比较旧吧?
     
  7. 是2005的。我觉得你有能力写C#代码,其实平台的选择对你来说都不是问题。如果做高频的事件驱动型交易策略,QD还是最好的。否则,RE或WLD你都有能力把握。
     
  8. 谢谢tomsh兄和WJ兄的帮助。我后来再摸索了一下,已经有了一些进展。
    既然OQ的API做了限制,我后面干脆不继承它,而只继承那些QD的dll了。这样做,上面提到的错误一下子解决了。

    WLD的下单对我来说不足够。我希望可以对每张单的状态可以单独控制。而OQ有进展后,RE暂时先放一放。