一个可实盘交易的系统

Discussion in 'Philosophy and Strategy' started by maharaj, Jan 10, 2009.

  1. rypan说的很有道理,我也是这么看的。而且,推广的时候可以通过放到模型中进行扩展。
     
  2. 不错的系统,学习了。
     
  3. sis

    sis

    請問這個系統跟突破昨天的最高買入或最低賣出的分別有多大?有那位同時做過對比?強弱評估。
     
  4. 我的解决方法:
    1. 加一个跳空参数GapLimit,比如今天开盘比昨天收盘(本来应该用结算价但TB历史数据里没有)跳空高开2%以上,如果昨天持空单则以今天开盘价立刻止损,这样处理后即使遇到开盘一字板,至少也有止损的动作,能否成功就另说了。
    2. 用小周期来操作,比如用5M周期,这样在一根K线里能同时达到两条线的机会就小很多了,而日内如果有反复来回,那就有几次就操作几次。

    下面是我写的TB代码,用5M周期测试的效果不错。

    Params
    Numeric KBuy(0.7); //做多的K值
    Numeric KSell(0.7); //做空的K值
    Numeric GapLimit(2); //第二天开盘如果与持仓方向相反跳空超过此百分点立刻止损
    Vars
    Numeric StartValue; //触发值
    Numeric BuyPrice; //开多价
    Numeric SellPrice; //开空价
    Begin
    StartValue = Max(HighD(1)-CloseD(1), CloseD(1)-LowD(1));
    BuyPrice = OpenD(0)+StartValue*KBuy;
    SellPrice = OpenD(0)-StartValue*KSell;
    PlotNumeric("BuyLine", BuyPrice, 0, Red);
    PlotNumeric("SellLine", SellPrice, 0, Green);
    If(BarsSinceToday == 1)
    {
    If(MarketPosition == 1 And (Open/Close[1] < 1-GapLimit/100)) //跳空低开止损多单
    {
    Sell(0, Open);
    }
    Else If(MarketPosition == -1 And (Open/Close[1] > 1+GapLimit/100)) //跳空高开止损空单
    {
    BuyToCover(0, Open);
    }
    }
    If(High > BuyPrice And MarketPosition <= 0)
    {
    Buy(0, BuyPrice);
    Return;
    }
    Else If(Low < SellPrice And MarketPosition >= 0)
    {
    SellShort(0, SellPrice);
    Return;
    }
    End
     
  5. TB是说的 TradeBlazer 开拓者吗? 还是 Matlab
     
  6. 前者
     
  7. 牛逼,几个钟头就搞定了,数据这么多
     
  8. 为什么你们翻这么沉的老帖子!楼上的