设为首页收藏本站

 找回密码
 注册
查看: 2529|回复: 5
打印 上一主题 下一主题

[信号消失专贴] 被信号消失弄得很烦,专门开贴写日记 [复制链接]

Rank: 2

精华
0
UID
114140
积分
94
帖子
53
主题
24
阅读权限
30
注册时间
2012-12-16
最后登录
2015-4-9
跳转到指定楼层
1#
发表于 2013-3-5 10:07:11 |只看该作者 |倒序浏览
本帖最后由 woomin1985 于 2013-3-5 10:22 编辑

让大家不要再在这里坑掉,浪费宝贵时间去查信号消失,能专心写策略.
说明:这是一个很简单的顺势模型,已经通过编译,没有 IF while的问题.
进程:已经在做paper的压力测试,所以offset我一般会设置大点,或者极端点. 老外一般都很喜欢把事情做极端,这样才不会出问题,一般问题都小CASE了.中国人都喜欢把问题往好了改.
问题:paper测试中出现的问题. 1.出现最后的bar的交易时间提示,模型算法无效. 2. KD信号消失,提示与模型不符,要我检查算法.
排查:1.基本的公式计算. 2.系统的函数.
针对:1.RSV这个是标准的KD代码,我只是简单的移植,这个出问题的概率不大.
我查了下资料,有2种说法,一是说是crossover有问题,我看了下别人的源码,也有用crossover.为了避免K=D的假信号,我用必须'大于'(或者是小于)来过滤假信号.
2.就是大家诟病的close函数,这个我正在换算法.或者换其它函数. 现在用的是open等结果.

Params
  Numeric Length(30); //N 30                     
  Numeric SlowLength(10);   //M1
  Numeric SmoothLength(10);  //M2
  Numeric lots(1);
  Numeric offset(2);
  Numeric Stoploss(40);

Vars
NumericSeries HighestValue;                                
NumericSeries LowestValue;                                       
NumericSeries KValue;//TB中的K值
NumericSeries DValue;//TB中的K值
NumericSeries RSV;        
NumericSeries K1;//正规的K值
NumericSeries D1;//正规的D值
Numeric i_offset;
Numeric BuyPosition;
Numeric SellPosition;
Numeric myEntryPrice;                  
Numeric myExitPrice;     

Begin
{
       HighestValue = HighestFC(High, Length);
       LowestValue = LowestFC(Low, Length);
       RSV = (Close-LowestValue)/(HighestValue-LowestValue)*100;
       K1 = SMA(RSV,SlowLength,1);
       D1 = SMA(K1,SmoothLength,1);                 
       KValue = SummationFC(Close - LowestValue,SlowLength)/SummationFC(HighestValue-LowestValue,SlowLength)*100;
       DValue = AverageFC(KValue,SmoothLength);
       PlotNumeric("RSV",RSV);

if(MarketPosition == 0)
{
     if(K1 > D1)
     {
         buy(lots,high);  //<---原来这里用的buy(lots,close[1]);
         Return;
     }  
}         
   else if (MarketPosition == 1) //平多
   {
     if(K1 < D1)
         {
           sell(lots,open);//<--这里用的是sell(lots,close);
                   Return;
         }
   }
  //止损
        If(MarketPosition == 1)
        {
                If(Low < EntryPrice - StopLoss * MinMove*PriceScale)
                {
                        myExitPrice = EntryPrice - (StopLoss+1) * MinMove*PriceScale;
                        myExitPrice = max(low,myExitPrice);
                        Sell(lots,myExitPrice);
                }
        }
        Else If(MarketPosition == -1)
        {
                If(High > EntryPrice + StopLoss * MinMove*PriceScale)
                {
                        myExitPrice = EntryPrice + (StopLoss+1) * MinMove*PriceScale;
                        myExitPrice = min(high,myExitPrice);
                        BuyToCover(lots,myExitPrice);
                }
        }      
}
end

Rank: 2

精华
0
UID
114140
积分
94
帖子
53
主题
24
阅读权限
30
注册时间
2012-12-16
最后登录
2015-4-9
2#
发表于 2013-3-5 10:33:18 |只看该作者
本帖最后由 woomin1985 于 2013-3-5 10:34 编辑

沙发是我的.

留着位置准备改模型.

使用道具 举报

Rank: 2

精华
0
UID
114140
积分
94
帖子
53
主题
24
阅读权限
30
注册时间
2012-12-16
最后登录
2015-4-9
3#
发表于 2013-3-5 10:33:24 |只看该作者
沙发是我的.

使用道具 举报

Rank: 2

精华
0
UID
114140
积分
94
帖子
53
主题
24
阅读权限
30
注册时间
2012-12-16
最后登录
2015-4-9
4#
发表于 2013-3-5 10:33:56 |只看该作者
板凳也是我的.

使用道具 举报

Rank: 2

精华
0
UID
114140
积分
94
帖子
53
主题
24
阅读权限
30
注册时间
2012-12-16
最后登录
2015-4-9
5#
发表于 2013-3-5 10:34:13 |只看该作者
床还是我的.

使用道具 举报

Rank: 4

精华
0
UID
50057
积分
304
帖子
175
主题
17
阅读权限
50
注册时间
2011-6-27
最后登录
2015-1-4
6#
发表于 2013-3-6 11:29:03 |只看该作者
好贴

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-19 00:46

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部