你好,需要修改一下源代码。 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" };
新手请教:将CTPBridge.dll、CtpMdPlugin.dll、thostmduserapi.dll 拷贝到?:\Program Files\Yye Software\RightEdge 2010\Plugins目录下,重启RE,就可以加载插件了。请问这个加载插件是通过Configure Services...进行加载吗?如果是的话我在Avaliable Service Plugin列表中也看不到拷贝过去的新插件啊?请帮忙解惑。谢谢。 另外请问想要通过CTP获取实时行情的帐号密码问题:现有示例中的BrokerID = "2030"及其帐号密码是从哪获取的?新帐号密码需要个人开户吗?随便找一家经纪公司开户都可以有此类可以通过CTP获取实时行情的帐号密码吗?
近期有朋友问及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接口吧。 所以我当时就没有继续研究下去了。