用WLD测试多系统

Discussion in 'Wealth-Lab Developer' started by ilian, Oct 27, 2007.

?

请投票!

  1. 有用,谢谢!

    50 vote(s)
    64.1%
  2. 路过,看看。

    28 vote(s)
    35.9%
  1. WLD的Code Library中有一个名为EasyMultiSystem的多系统测试框架库,有了它测试多系统的时候就很方便了。一般在wld的studies的目录已经有EasyMultiSystem库了,我们测试的时候用 {$} 语法包含就可以了,假如我想测试的系统有三个,分别名为S1,S2,S3,它的写法如下。注:系统S1、S2、S3都要保存在wld的studies的目录下。

    {$I 'EasyMultiSystem'}

    procedure TradingSystem1;
    begin
    GetScriptName := 's1';
    {$I 's1'}
    GetTradesAndAlerts;
    end;
    procedure TradingSystem2;
    begin
    GetScriptName := 's2';
    {$I 's2'}
    GetTradesAndAlerts;
    end;

    procedure TradingSystem3;
    begin
    GetScriptName := 's3';
    {$I 's3'}
    GetTradesAndAlerts;
    end;


    TradingSystem1;
    TradingSystem2;
    TradingSystem3;
    ExecuteAllTradesAndAlerts;
     
  2. 我加了投票,觉得有用的坛友请投一下票,相当于顶贴了。
    高度谢谢ilian兄!
     
  3. 多谢黄忠兄
     
  4. 还没留意到有这个功能,有这个方便的多。

    等我用了后再投票,这次先顶贴。谢谢ilian兄
     
  5. 在外学习,新机器里现在数据还没有,先来看看
     
  6. 学习学习
     
  7. 学习了,是PASCAL代码,不知道有没有C SHAPE的,
     
  8. 今晚兴冲冲拿了两个系统用这个方法测试,可惜没完成。

    看了一下trades列表,竟然trades都open了,而且是其中一个系统的信号。仓位没有出场,所以后面没得开仓了。

    比较奇怪的事情,因为这两个系统单独测试,均没有问题,出入场信号配对无误。
     

  9. 是不是有个过程忘加“GetTradesAndAlerts”了?
     
  10. 直接复制上面的代码,把S3部分删除,把S1,S2修改为我的那两个脚本名称,应该是没有遗漏
     

  11. 那应该不会的吧。你再检查看看,如果不行,不妨把源码贴出来看看。
     
  12. 现在发现问题可能是:

    同样的代码,用在日线上就正常出结果了,而在分钟线上一直出错。

    之前没有发现这个问题,是因为我那次测试的两个都是写在分钟线上的,日线上不会有成绩,没有对比。


    看来问题还是出在 EasyMultiSystem 上。不知有没有更新版本的 EasyMultiSystem呢?
     
  13. 上面的代码写在哪里呢,是写在其中一个系统里吗?
     
  14. 显示 Couldn't find file"EasyMultiSystem" on input paths
     
  15. 谢谢ilian兄!
     
  16. learned, thanks
     
  17. 谢谢ilian兄!
     
  18. 谢谢wj2000 这个要好好试一下
     
  19. 非常感谢兄台 ilian。