金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 100019690

取交叉值问题,麻烦老师帮忙修正一下

[复制链接]

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-2-18 15:34 | 显示全部楼层
用DRAWNULL 处理下。

llvD : if( macd < 0,llv( D, K_num ),DRAWNULL  ) ;

这样试下
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

15

主题

136

帖子

136

积分

Rank: 2

等级: 标准版

注册:
2021-12-10
曾用名:
 楼主| 发表于 2022-2-18 15:40 | 显示全部楼层
哇塞,这么简单,我弄了半天试不出来,谢谢老师
回复

使用道具 举报

15

主题

136

帖子

136

积分

Rank: 2

等级: 标准版

注册:
2021-12-10
曾用名:
 楼主| 发表于 2022-3-15 11:16 | 显示全部楼层
技术009 发表于 2022-2-18 15:34
用DRAWNULL 处理下。

llvD : if( macd < 0,llv( D, K_num ),DRAWNULL  ) ;

老师能否帮忙做一下取值问题

思路为: KDJ 金叉进场,进场之后,KDJ 的 J 值 最高值 > 80 则平仓

我用如下思路,发现有信号闪烁的问题,代码如下:

            Rsv := ( close - llv( low,9 ) ) / ( hhv( high,9 ) - llv( low,9 ) ) * 100 ;
              K := sma( rsv,3,1 ) ;  
              D := sma( k,3,1 ) ;
              J := 3 * k - 2 * d ;  
           if holding = 0 and ref( cross( K,D ),1 )then buy( 1,1,limitr,open + 1 * mindiff ), ignorecheckprice ;
// 开始取值

         RHJ : if( holding > 0,hhv( ,enterbars+1  ,DRAWNULL ) ;

// 平仓条件 J 最高值大于80 则平仓

        if RHJ > 80 then sell( holding > 0,1,limitr,open - 1 * mindiff  ), ignorecheckprice ;

以上代码我测试过来,有信号闪烁,而且 最高值经常跳动

我想要的效果就像是 按照价格来计算那样,  hhv( high,enterbars+1 ) ;  一旦最高价出来之后,就不会有闪烁, 现在 取进场之后 指标的最高值,我表述不知道怎么表述

烦请老师帮忙给指导一下,谢谢
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-3-15 13:34 | 显示全部楼层
代码没问题,正常是不会闪烁的。除非你限制了一个较小的数据量导致起始位置的K一直在变动。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

15

主题

136

帖子

136

积分

Rank: 2

等级: 标准版

注册:
2021-12-10
曾用名:
 楼主| 发表于 2022-3-15 13:40 | 显示全部楼层
技术009 发表于 2022-3-15 13:34
代码没问题,正常是不会闪烁的。除非你限制了一个较小的数据量导致起始位置的K一直在变动。

         RHJ : if( holding > 0,hhv( J,enterbars+1  ,DRAWNULL ) ;   这里刚刚少了一个J,

我用早上跟盘观察了好几次,用1分钟周期和5分钟周期,确定了确实有闪烁,而且也是这样一个代码

补充内容 (2022-3-15 13:41):
RHJ : if( holding > 0,hhv( J,enterbars+1 ),DRAWNULL )  ;  少了半边括号
回复

使用道具 举报

15

主题

136

帖子

136

积分

Rank: 2

等级: 标准版

注册:
2021-12-10
曾用名:
 楼主| 发表于 2022-3-15 13:53 | 显示全部楼层
Tiger 发表于 2022-3-15 13:40
RHJ : if( holding > 0,hhv( J,enterbars+1  ,DRAWNULL ) ;   这里刚刚少了一个J,

我用早上 ...

刚刚又测了两遍,确实存着信号闪烁问题的
回复

使用道具 举报

15

主题

136

帖子

136

积分

Rank: 2

等级: 标准版

注册:
2021-12-10
曾用名:
 楼主| 发表于 2022-3-15 13:56 | 显示全部楼层
             Rsv := ( close - llv( low,9 ) ) / ( hhv( high,9 ) - llv( low,9 ) ) * 100 ;
               K := sma( rsv,3,1 ) ;  
               D := sma( k,3,1 ) ;
               J := 3 * k - 2 * d ;  


// 开仓
        
            if holding = 0 and ref( cross( K,D ),1 )then buy( 1,1,limitr,open + 1 * mindiff ), ignorecheckprice ;
// 取值

         RHJ : if( holding > 0,hhv( J,enterbars+1 ),DRAWNULL ), NODRAW ;

// 平仓条件 RHJ > 80 则平仓

        if RHJ > 80 then sell( holding > 0,1,limitr,open - 1 * mindiff  ), ignorecheckprice ;
        

就是这个代码表述,,,KDJ 金叉的值都很小,刚刚测试的时候都是 40 以下, 那 J 值也没有走到60,  我是要求 最高值  大于80才走,中间有 预留了 指标运动的 行程
回复

使用道具 举报

15

主题

136

帖子

136

积分

Rank: 2

等级: 标准版

注册:
2021-12-10
曾用名:
 楼主| 发表于 2022-3-15 13:58 | 显示全部楼层
技术009 发表于 2022-3-15 13:34
代码没问题,正常是不会闪烁的。除非你限制了一个较小的数据量导致起始位置的K一直在变动。

老师,重新帮忙检查一下看看哪个 表述出问题了,以至于我没法实现自己的思路
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-3-15 14:11 | 显示全部楼层
你的开仓条件用的是ref前面的条件,肯定是固定的。没有能闪烁的地方。而且我本地加载信号也是稳定的。

所以我让你看看你设置的数据量是多少啊
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

15

主题

136

帖子

136

积分

Rank: 2

等级: 标准版

注册:
2021-12-10
曾用名:
 楼主| 发表于 2022-3-15 14:24 | 显示全部楼层
技术009 发表于 2022-3-15 14:11
你的开仓条件用的是ref前面的条件,肯定是固定的。没有能闪烁的地方。而且我本地加载信号也是稳定的。

...

是平仓 的时候,有闪烁,开仓 用到 ref 肯定是没问题的,现在问题就出在平仓那边

平仓的时候

       RHJ : if( holding > 0,hhv( J,enterbars+1 ),DRAWNULL ), NODRAW ;

这组代码是有闪烁的, 他没法取到一个 市场变化的最高值

就是没法取到  像 :hhv( high,enterbars +1 ) ; 这种 价格的最高值, 这个表述可以取到行情的最高价格

但是下面这个,我思路是想取到指标最高值的,哪怕指标值 跳一下上去,然后再下来,我都是记录取 最高那一下
  
RHJ : if( holding > 0,hhv( J,enterbars+1 ),DRAWNULL ), NODRAW ;

这个表述就取不到,所以想让老师帮忙 看有没有好的 办法 可以实现我想要的


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-12-22 18:19 , Processed in 0.238167 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表