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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 老师好,请教问题

   

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


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

主题:老师好,请教问题

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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2021/2/9 13:13:54    Post IP:180.169.30.6[显示全部帖子]

你是要统计单根K线上ma1同时上穿ma20和ma60算一次,这个可以容易理解。其他的还有哪种情况计数呢?你说的没有上穿最后一条线是什么意思,麻烦再描述下。

 回到顶部
帅哥哟,离线,有人找我吗?
gxx978
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2021/2/9 13:48:49    Post IP:180.169.30.6[显示全部帖子]

参考以下代码呢
VARIABLE:A=0;   

MA1:=MA(C,1);
MA20:=MA(C,20);
MA60:=MA(C,60);

CON1:CROSS(MA1,MA20) AND CROSS(MA1,MA60);                                                                    //一根K线上同时上穿
CON2:CROSS(MA1,MA20) AND BARSLAST(CROSS(MA1,MA20))>BARSLAST(CROSS(MA1,MA60));   //MA1上穿MA20,且上一次上穿是MA1上穿MA60
CON3:CROSS(MA1,MA60) AND BARSLAST(CROSS(MA1,MA60))>BARSLAST(CROSS(MA1,MA20));   //MA1上穿MA60,且上一次上穿是MA1上穿MA20

IF CON1 OR CON2 OR CON3 THEN
  A:=A+1;
  
X:A;     //x就是满足条件的上穿次数

 回到顶部
帅哥哟,离线,有人找我吗?
gxx978
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2021/2/9 13:56:41    Post IP:180.169.30.6[显示全部帖子]

谢谢,也预祝您新年快乐!

 回到顶部
帅哥哟,离线,有人找我吗?
gxx978
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2021/2/9 15:04:58    Post IP:180.169.30.6[显示全部帖子]

我在这个品种上看,只有统计出3个,那你可以截图,看哪个位置你认为是成立的,应该计数,但是代码中这个位置上con1-3的值都是为0的。代码的逻辑就是按你给的要求写的
[此贴子已经被作者于2021/2/9 15:05:22编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
gxx978
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2021/2/9 15:20:25    Post IP:180.169.30.6[显示全部帖子]

修改了一下,你看下呢,主要看CON2和CON3的定义
VARIABLE:A=0;   

MA1:MA(C,1);
MA20:MA(C,20);
MA60:MA(C,60);

CON1:CROSS(MA1,MA20) AND CROSS(MA1,MA60);      //一根K线上同时上穿
CON2:CROSS(MA1,MA20) AND BARSLAST(REF(CROSS(MA1,MA20),1))>=BARSLAST(CROSS(MA1,MA60));   //MA1上穿MA20,且上一次上穿是MA1上穿MA60
CON3:CROSS(MA1,MA60) AND BARSLAST(REF(CROSS(MA1,MA60),1))>=BARSLAST(CROSS(MA1,MA20));   //MA1上穿MA60,且上一次上穿是MA1上穿MA20

IF CON1 OR CON2 OR CON3 THEN
  A:=A+1;
  
X:A;     //x就是满足条件的上穿次数

 回到顶部
帅哥哟,离线,有人找我吗?
gxx978
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2021/2/9 15:27:33    Post IP:180.169.30.6[显示全部帖子]

12楼的代码已经做了修改,你再看下。

 回到顶部
帅哥哟,离线,有人找我吗?
gxx978
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2021/2/9 15:41:42    Post IP:180.169.30.6[显示全部帖子]

那你可以先看下是哪个位置的图标是不应该画的,再看条件中怎么排除掉这种情况了。否则我们不知道你数出来的11个的标准是什么。

 回到顶部