DBOII趋势交易系统的wld代码

Discussion in 'Wealth-Lab Developer' started by redchina, Aug 5, 2005.

  1. 在系统交易子论坛对DBOII趋势交易系统进行了深入的讨论,在此贴出该系统的WLD的代码,大家请使用.

    var Bar: integer;
    var lookBackDays, todayVolatility, yesterdayVolatility,
    deltaVolatility : float;
    var intLookBackDays : integer;
    var buyPoint, sellPoint, longLiqPoint, shortLiqPoint : float;
    var upBand, downBand : float;

    const CeilingAmount = 60;
    const FloorAmount = 20;
    const BolBandtrig = 2.0;
    const StdDevLookBack = 30;
    const ConstLookBackDays = 20;

    lookBackDays := ConstLookBackDays;
    for Bar := ceilingAmount + 1 to BarCount - 1 do
    begin
    todayVolatility := StdDev (Bar,#close, StdDevLookBack);
    yesterdayVolatility := StdDev (Bar - 1,#close, StdDevLookBack);
    deltaVolatility := (todayVolatility - yesterdayVolatility)/todayVolatility;
    lookBackDays := lookBackDays * (1 + deltaVolatility);
    lookBackDays := Int (lookBackDays);
    lookBackDays := Min (lookBackDays, CeilingAmount);
    lookBackDays := Max (lookBackDays, FloorAmount);

    intLookBackDays := Round (lookBackDays);
    upBand := BBandUpper (Bar, #close, intLookBackDays, BolBandTrig);
    downBand := BBandLower (Bar, #close, intLookBackDays, BolBandTrig);

    buyPoint := Highest(Bar, #high, intLookBackDays);
    sellPoint := Lowest (Bar, #low, intLookBackDays);

    longLiqPoint := SMA (Bar, #close, intlookBackDays);
    shortLiqPoint := longLiqPoint;

    if not LastPositionActive then
    { Entry Rules }
    begin
    if (PriceClose (Bar) > upBand) then
    BuyAtStop (Bar + 1, buyPoint, 'DBO Buy');
    if (PriceClose (Bar) < downBand) then
    ShortAtStop (Bar + 1, sellPoint, 'DBO Sell');
    end
    else
    { Exit Rules }
    begin
    if (PositionLong (LastPosition)) then
    SellAtStop (Bar + 1, longLiqPoint,
    LastPosition, 'DBO Long Cover')
    else
    CoverAtStop (Bar + 1, shortLiqPoint,
    LastPosition, 'DBO Short Cover');
    end;
    end;
     
  2. DBOII系统在000001上的应用
     
  3. 多谢,运行通过。
     
  4. ZWS

    ZWS

    谢redchina这样的热心人为大家多做贡献!

    谢redchina这样的热心人为大家多做贡献!


    龙卷风的比喻很形象,只是不知道龙卷风的模型
     
  5. ZWS

    ZWS

    redchina你好!,我想把下面的线画到主图上,但它总提示出错,类

    PlotSeries(upBand, 0, #GREEN, #Thick);
    PlotSeries(downBand , 0, #Red, #Thick);
    PlotSeries(longLiqPoint, 0, #Blue, #Thick);



    先谢了!!
     
  6. Re: redchina你好!,我想把下面的线画到主图上,但它总提示出错


    下面的语句调试通过。多注意数据类型:
    PlotSeries(BBandUpperseries ( #close, intLookBackDays, BolBandTrig), 0, #GREEN, #Thick );
    PlotSeries(BBandlowerseries ( #close, intLookBackDays, BolBandTrig) , 0, #Red, #Thick );
    PlotSeries(SMAseries ( #close, intlookBackDays), 0, #Blue, #Thick );
     
  7. ZWS

    ZWS

    谢redchina

    谢redchina
     
  8. ZWS

    ZWS

    请教integer 和 float有何区别??

    请教integer 和 float在用法上有何区别??
     
  9. Re: 谢redchina

    在每个函数的下面有说明,可仔细看一下。
     
  10. Re: 请教integer 和 float有何区别??

    integer 和 float的区别是
    integer是整数型,放置整数;
    float是浮点型,放小数.
     
  11. 另外,redchina 贴出来的好像就是WLD 的CS库里面的DBO II 代码? 我试着跑了一下,模拟交易结果不是很好,用的DOW30 数据
     
  12. 你说得对,是WLD 的CS库里面的DBO II 代码,能将你的测试贴出来大家看一看吗,我在A股市场测试了几次都没有得出结果。CS库?
     
  13. 不要指望在公开的资料中找到一个盈利的系统,学习的是这些方法的思想和理念,使之与自己的思想结合才会成为自己的方法。
     
  14. 对DBOII系统应当学习的是它的自适应调整技术,这是一些更复杂方法的雏形。另外它还是一个多空交易系统。在配合适当的资金调整模型,就成为一个完整的交易系统了。至于这个系统是否能够在市场中盈利,我的看法是不加改进很难了。就像海龟交易系统一样,我们应当取其精华为我所用。
     
  15. 我是用DOW30的数据跑的,跑出来的结果竟然是略有亏损或者微利;而同期buy and hold 是翻了好多倍的. 没有抓图,下次记得就抓上来.

    我用A股也是出错,呵呵和你的一样.
     
  16. 明白的,看来redchina 是一位WLD高手,以后要多向你请教交流才行.
    说到WLD库里面的系统, 你有没有留意"Simplicity T1 w Booster" ? 跑出来的结果好像不错.
     
  17. ZWS

    ZWS

    请教cs库是什么?在哪里可以找到?

    请教cs库是什么?在哪里可以找到?

    ”配合适当的资金调整模型“是否指set share size??
     
  18. Re: 请教cs库是什么?在哪里可以找到?

    cs库 就是在WLD里面带有的CS例子
    WLD好像没有现成的资金调整模型,只有简单的几个调整模式,set share size 是其中之一
     

  19. 贴出来结果,就是跑的这个DBOII代码,没有做任何修改和调整,资金调度是每次20%,DOW30的数据好像是到2004年5月吧

    可以看出,结果不太好,而同期DOW30升上了很多

    [​IMG]
     
  20. Re: redchina你好!,我想把下面的线画到主图上,但它总提示出错

    "如果我想在simulator的情况下符合某一个条件的股票买进,同一个股票符合某一个条件卖出,如何表达?"这是看你的交易策略的啊。