设为首页收藏本站

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

使用用CrossOver出现的疑问 [复制链接]

Rank: 5Rank: 5

精华
0
UID
31697
积分
671
帖子
137
主题
13
阅读权限
60
注册时间
2011-4-2
最后登录
2020-10-8
跳转到指定楼层
1#
发表于 2012-2-29 21:09:16 |只看该作者 |倒序浏览
当用两条移动平均线交叉(CrossOver/CrossUnder)作为判断条件时,是否会出现交叉点刚好在两个相邻Bar之间,而导致信号消失?

Rank: 5Rank: 5

精华
0
UID
31697
积分
671
帖子
137
主题
13
阅读权限
60
注册时间
2011-4-2
最后登录
2020-10-8
2#
发表于 2012-3-1 14:07:52 |只看该作者
本帖最后由 傻了吧 于 2012-3-1 14:08 编辑

用TB自带的KD指标写一个简单判断前一根Bar的K和D值,金叉做多,死叉做空的代码,因为曾经看小米管理说过:
crossover,corssunder,除了可以使用close,open,high,low等K线原有数据的回溯值外,不可以使用A[1],B[1]等这样的变量回溯。
可以使用变通的方法。如果使用回溯的值来计算A,B,再代入这两个crossover,crossunder的函数就可以了。
(参见:http://www.tradeblazer.net/forum ... p;extra=&page=1
所以增加红色字体部分(黑色是TB的KD指标原代码),但图表上无交易信号。请帮忙看看是什么原因,谢谢

Params
        Numeric Length(14);                       
        Numeric SlowLength(3);       
        Numeric SmoothLength(3);
Vars
        NumericSeries HighestValue;                               
        NumericSeries LowestValue;               
        NumericSeries KValue;
        Numeric SumHLValue;
        Numeric SumCLValue;
        NumericSeries DValue;
        NumericSeries TmpK;
        NumericSeries TmpD;


Begin
        HighestValue = HighestFC(High, Length);
        LowestValue = LowestFC(Low, Length);
        SumHLValue = SummationFC(HighestValue-LowestValue,SlowLength);
        SumCLValue = SummationFC(Close - LowestValue,SlowLength);
        If(SumHLValue <> 0)
        {
                KValue = SumCLValue/SumHLValue*100;
        }Else
        {
                KValue = 0;
        }
         DValue = AverageFC(KValue,SmoothLength);

        TmpK=KValue[1];
        TmpD=DValue[1];
               
        If(CrossOver(TmpK,TmpD)){
                Buy(1,Open);
        }
        else if(CrossUnder(TmpK,TmpD)){
                SellShort(1,Open);
        }
       
        PlotNumeric("K",KValue);
        PlotNumeric("D",DValue);
        PlotNumeric("Ref1",20);
        PlotNumeric("Ref2",80);
End
百川

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
31697
积分
671
帖子
137
主题
13
阅读权限
60
注册时间
2011-4-2
最后登录
2020-10-8
3#
发表于 2012-3-1 14:40:21 |只看该作者
本帖最后由 傻了吧 于 2012-3-1 14:41 编辑

非常奇怪的是,为检查问题,特意在图表上输出Bool值,有“笑脸”但没有开仓讯号,

红色部分替换为以下代码
  1. ConBuy=CrossOver(KValue[1],DValue[1]);
  2.         ConSell=CrossUnder(KValue[1],DValue[1]);
  3. //        If(CrossOver(TmpK,TmpD)){
  4.         If(ConBuy) {
  5.                 Buy(1,Open);
  6.                 PlotBool("B",ConBuy);
  7.         }
  8.         else if(ConSell){
  9.                 SellShort(1,Open);
  10.                 //PlotBool("S",ConSell);
  11.         }
复制代码
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
百川

使用道具 举报

Rank: 8Rank: 8

精华
0
UID
17581
积分
5464
帖子
275
主题
27
阅读权限
100
注册时间
2010-10-13
最后登录
2021-8-30
4#
发表于 2012-3-1 15:30:55 |只看该作者
我试了下2楼的代码,没有问题啊,开仓什么都好好的
可能不是代码问题,是你其他设置问题,自己查查看

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
31697
积分
671
帖子
137
主题
13
阅读权限
60
注册时间
2011-4-2
最后登录
2020-10-8
5#
发表于 2012-3-1 15:43:38 |只看该作者
本帖最后由 傻了吧 于 2012-3-1 16:35 编辑

谢谢zzzlondon 提醒,不是代码问题

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
31697
积分
671
帖子
137
主题
13
阅读权限
60
注册时间
2011-4-2
最后登录
2020-10-8
6#
发表于 2012-3-1 15:47:37 |只看该作者
刚才又用商品测试了一下,铜和豆油5分钟都有信号
百川

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
31697
积分
671
帖子
137
主题
13
阅读权限
60
注册时间
2011-4-2
最后登录
2020-10-8
7#
发表于 2012-3-1 16:33:28 |只看该作者
我试了下2楼的代码,没有问题啊,开仓什么都好好的
可能不是代码问题,是你其他设置问题,自己查查看 ...
zzzlondon 发表于 2012-3-1 15:30

是设置问题,谢谢提醒

使用道具 举报

Rank: 1

精华
0
UID
110177
积分
24
帖子
4
主题
0
阅读权限
10
注册时间
2012-4-24
最后登录
2012-8-27
8#
发表于 2012-5-29 13:49:35 |只看该作者
傻了吧 发表于 2012-3-1 16:33
是设置问题,谢谢提醒

请问是什么设置问题,我也遇到了同样的问题,求解

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
31697
积分
671
帖子
137
主题
13
阅读权限
60
注册时间
2011-4-2
最后登录
2020-10-8
9#
发表于 2012-5-29 14:15:19 |只看该作者
洪强 发表于 2012-5-29 13:49
请问是什么设置问题,我也遇到了同样的问题,求解

在【全局交易设置】中,把【初始资金】设置的大些。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-2 12:11

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部