在RightEdge里,不但可以用C#编写系统/程序,也可以用Visual Basic.NET来编写系统/程序。效果都一样。( 海洋里好像很有几位大侠坚守VB的。) RightEdge支持用拖拽方式自动生成交易系统。(海洋里好像有不少大侠是不喜欢编程的。 )
我来凑凑热闹,说一些新手可能会碰到的问题。 当用RE进行模拟测试时, SystemData.AccountValue会返回正确的值,RE运行于live模式时, 如果SystemData.AccountValue不返回Broker的AccountValue,那可能是没有选中 "Use Broker Buying Power" (在tools=>options=>live)。如果已经选中,但返回值仍不正确,那就要研究一下你的Broker是如何读取这个值的。例如,从IB取这个值一般不会立即获得结果(详见 http://www.rightedgesystems.com/forums/Topic3793-12-1.aspx#bm3843 ),所以要在策略代码中作一些处理才OK。
真是及时雨啊。 最近正准备在Edition 2 Beta 6的基础上做个RightEdge-IB的自动交易试试看。 请教怎么处理才OK? 另外,做RightEdge-IB自动交易的话,还有哪些我们新手可能不知道的事情呢?
模拟测试时,策略自定义指标线和交易信号标记无法显示在K线图上? 双击System Results页面中Symbol Results或Trade List的内容即可。(双击WatchList里的Symbol,只显示K线图和拖曳过来的指标线) RE这样设计不太合理,没有任何按钮或提示。包括我自己在内的很多RE新手都碰到过这个问题。
RE提供了IB接口,所以RE-IB自动交易应该不会有大问题。 我只碰到两个小问题:一个是上面提到的AccountValue问题;另一个是策略启动时不知道怎么获取、下载IB帐户已经存在的Positions(现在还不会:o,不过不影响使用)。
RE是否提供eSignal实时行情接口? 目前没有,可以自己编写插件。如果API是用eSignal Desktop API,就会碰到困难,不是RE的原因,是eSignal 的问题: eSignal Desktop API只支持.Net Framework 1.1不支持2.0,好几年过去了竟然还不支持.net 2.0,晕... 可以借助其它软件解决,如:RE本身已经提供了QuoteTracker实时行情接口,用RE+QuoteTracker+eSignal不用自己写插件就可以轻松实现。代价是,使用QuoteTracker的API接口,必须事先注册(好象年费$60)。
RE可以先手工绘线,然后Add ... to system。没试过,不知道是否就是你要的(请知道的讲讲)。个人认为更自然的做法应该是:在策略中计算指标或序列、“线”,并用它作为停损或停利,然后将指标、序列(“线”)显示在图上,看看是否与拟手绘的线一样。
忘了这个问题。 我的土办法是,先获取AccountValue,然后Thread.Sleep一会儿,接下来再获取一次AccountValue,这时AccountValue会被取回的正确值代替。可以搜索一下re forums看看是怎么解决的,呵。