CTP行情C#接口,RE行情插件 (含源码)

Discussion in 'RightEdge' started by 马不停蹄, Apr 22, 2012.

  1. 有道理,不知道RE怎么想的
     
  2. 是不是白银的数据还拿不到啊
     
  3. 你好,需要修改一下源代码。
    CtpMdPlugin.cs文件,在最上面的LowerCaseSymbols字符串数组里面添加白银的代码AG

    // 大连,上海代码为小写
    // 郑州,中金所代码为大写
    // RightEdge全部为大写
    private string[] LowerCaseSymbols = { "A", "C", "M", "Y", "P", "L", "V", "J", "CU", "AL", "ZN", "RU", "FU", "AU", "AG", "RB", "WR", "PB" };
     
  4. 新手请教:将CTPBridge.dll、CtpMdPlugin.dll、thostmduserapi.dll 拷贝到?:\Program Files\Yye Software\RightEdge 2010\Plugins目录下,重启RE,就可以加载插件了。请问这个加载插件是通过Configure Services...进行加载吗?如果是的话我在Avaliable Service Plugin列表中也看不到拷贝过去的新插件啊?请帮忙解惑。谢谢。

    另外请问想要通过CTP获取实时行情的帐号密码问题:现有示例中的BrokerID = "2030"及其帐号密码是从哪获取的?新帐号密码需要个人开户吗?随便找一家经纪公司开户都可以有此类可以通过CTP获取实时行情的帐号密码吗?
     
  5. 近期有朋友问及RightEdge交易插件的事情,说一下目前的情况。


    目前那个CTP .Net适配器,不能用于RightEdge交易接口开发。因为RE的Broker接口是跑在另一个AppDomain里面的,跟主线程不是同一个AppDomain。

    --->>> ServiceConnectOptions = LiveData
    --->>> Thread.GetDomain().FriendlyName = RightEdge.exe
    --->>> ServiceConnectOptions = Broker
    --->>> Thread.GetDomain().FriendlyName = RightEdge Trading System AppDomain
    这是调试的时候,LiveData和Broker打印出来的AppDomain。

    目前的CTP .Net接口,用于RE Broker环境时,会报一个错:
    无法跨 AppDomain 传递 GCHandle。
    Cannot pass a GCHandle across AppDomains

    这是因为这个C++/CLI混合编程的方式实现的CTP adapter,需要通过gcroot<>传递指针,而gcroot传递指针时,是无法跨越AppDomain的。
    似乎找不到很好的办法解决这个问题,除非用其他方式重写CTP.Net adapter 或者使用海风他们的CTP接口吧。

    所以我当时就没有继续研究下去了。
     
  6. 支持!意义重大~