欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 问个小周期套大周期的问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有6052人关注过本帖树形打印复制链接

主题:问个小周期套大周期的问题

帅哥哟,离线,有人找我吗?
FireScript
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/8/27 13:53:28    Post IP:180.169.30.6[显示全部帖子]

 你是否有检查你的DIFDAY  和DEADAY的引用呢?
如下才能正确引用:
DIFDAY:"MACD.DIF#DAY";
DEADAY:"MACD.DEA#DAY";


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/8/27 14:40:12    Post IP:180.169.30.6[显示全部帖子]

 1.你原先的引用方式 我本地甚至都编译不了。
 2.假设正常引用。你代码里面就是判断统计最近4个K  A1=1的数量是否等于1。 所以你可以查看下当天小时K对应的A1值的情况了。  
你可以在小时线上把A1,A2都输出出来。  另外考虑到你是小引大,当日几个小时K线上引用到的 DIFDAY,DEADAY值应该都是一样的吧。

光从代码暂时无法判断你这个是什么情况了,另外你是走完K运行还是固定轮询运行的呢,每个小时K上都有开仓信息?。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/8/27 15:36:57    Post IP:180.169.30.6[显示全部帖子]

 
我知道你这个思路是什么意思。 但是现在问题是如果你是小时K 

DIFDAY:"MACD.DIF#DAY";
DIFDAY:"MACD.DEA#DAY";

这种引用在当天的小时K线上引用的值都应该是一样的,因为他们引用到的都是同一个日线的macd下的dif和dea,这种情况下 COUNT(A1,4)=1;  这个条件 至多在当天的前三个K才可能成立。并且还要要求昨日日线满足macd金叉才行。 

按照正常逻辑 不可能出现你说的情况的,每个K的count都返回1。所以需要你直接在图表上输出你的a1,a2等变量值。
我不清楚你到底如何检查你的变量返回值的,是图表输出?还是根据实际下单信号倒推出来的。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/8/27 17:24:05    Post IP:180.169.30.6[显示全部帖子]

  count函数处理逻辑是这样:如果4个K 的a1都是1,那么在最后一个K上,返回值肯定是4.这个函数机制是没问题
。问题在于按照你的代码 ,今日的几个小时K上的A1值肯定是一样的,不可能是不同的值的,我本地直接测试,是这样不会错的。


图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看
这上面最后面几个K对应的DIFDAY,DIFDAY 都是一样的。也就是说a1值对应的也是一样的。不会有差异的。

你上面发的代码是完整代码吗?我无论如何重现不了你说的情况。

[此贴子已经被作者于2018/8/27 17:24:17编辑过]


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/8/28 9:55:43    Post IP:180.169.30.6[显示全部帖子]

count的统计是基于当前K位置 从历史到现在进行统计的。不是未来函数属性的。

macd源码下没有变量dif,你之前能引用到值是引用方式本身处理的一个BUG。 引用diff才是正确的。

在正确引用diff前提下你这种方式处理的结果应该是这样的:
如果当日日线满足金叉,那么小时线上的A1只在第一个K是1,后面的都是0. 这其实是符合逻辑的。


现在已经搞明白之前的错误了,原因在于#引用自身的bug。你原始需求是怎样的,你描述下,我处理下。








命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/8/28 17:21:04    Post IP:180.169.30.6[显示全部帖子]

 


你是要日线金叉了的话,小时线下只要求一次进场,而不要多次入场?你运行模式是什么模式,是走完K吗?


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/8/29 9:56:11    Post IP:180.169.30.6[显示全部帖子]

 仔细考虑了下,处理不了,你这是经典的小引用大造成的信号变动问题。因为引用的日线K的原因,小周期K即使是历史K也会有信号变动,对下单会造成影响,不好做控制了,另外11楼提到的那个在小周期上计算出日线macd 实现起来也非常困难的。

 


命数如织,当如磐石。
 回到顶部