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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 求波幅平均值

   

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


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

主题:求波幅平均值

帅哥哟,离线,有人找我吗?
新华字典1949
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:69 积分:0 威望:0 精华:0 注册:2017/5/25 16:51:06
  发帖心情 Post By:2017/8/9 13:40:18    Post IP:60.191.66.218[显示全部帖子]

老师好!
     我做了改变,用MA5和MA10的交叉来代替KD交叉,结果也是这样,
当增加窗口显示K线数量后,近日的倍数值 比 远日的倍数值要大。
K线数量变大前的倍数值要比K线数量变大后的倍数值小。
     假设 MA(c,5)这种函数不属于递归算法,不知道成立不成立?
特请教。

  


Variable: frontBoFu[]=0,
          my_bar=0;

ma5:=ma(c,5),linethick0;
ma10:=ma(c,10),linethick0;
bjmajc:cross(ma5,ma10),linethick0;
bjmasc:cross(ma5,ma10),linethick0;

bar:=sumbars(bjmajc=1 or bjmasc=1,10);//取得10个波段占用的周期数
BoDuanLLV:=ref(llv(l,3),sumbars(bjmajc,1)),linethick0;                     //波段低点
BoDuanHHV:=ref(hhv(h,3),sumbars(bjmasc,1)),linethick0;          //波段高点

if   bjmajc or bjmasc then
 begin
      frontBoFu:=abs(BoDuanHHV-BoDuanLLV),linethick0; 
      my_bar:=BARPOS; //记录在金叉或死叉时k线所在位置,作为求平均波段的其中一个计算因子。
 end
else
 BEGIN
  frontBoFu:=0; //非金叉死叉的情况下,序列变量frontBoFu赋值为0.那么求100个波段的总和就是bar个周期范围内非0的总和,而不受k线变化的影响
 end

pjBoFu : =sum(frontBoFu,bar)/my_bar;//,linethick0;                           //平均波段值
bjKDFrontBoFuMulti: FrontBoFu[my_bar]/pjBoFu;//,linethick0;       //前一波大于平均波段倍数a


 回到顶部
帅哥哟,离线,有人找我吗?
新华字典1949
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:69 积分:0 威望:0 精华:0 注册:2017/5/25 16:51:06
  发帖心情 Post By:2017/8/9 15:19:17    Post IP:60.191.66.218[显示全部帖子]

真心感谢您的耐心解答。

我就是有一点想不通:

相同点:
1、收盘价C是变化的数组序列,应该没有递归算法的,
2、MA5与ma10交叉的波幅也同样是一个变化的数组序列,应该也是没有递归算法的。

结果不同:
1、无论是100根K线还是500根K线,MA(c,10)           不会   随着K线的数量的变化而变化。
2、为什么100根K线 与  500根K线,MA(波幅,10)    会   随着K线的数量的变化而变化?

 回到顶部
帅哥哟,离线,有人找我吗?
新华字典1949
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:69 积分:0 威望:0 精华:0 注册:2017/5/25 16:51:06
  发帖心情 Post By:2017/8/9 15:24:45    Post IP:60.191.66.218[显示全部帖子]

看帮助文档,看不太懂,抄了一段,也许类似下面的这种写法可能有效?

INPUT:N(5,2,500);      //参数申明 

RUNMODE:0;            //工作于 逐K线模式

IF BARPOS <= N THEN //从计算周期开始计算 

 EXIT; 

  

MA1:C; 

FOR J=1 TO N-1 DO 

 MA1:=MA1+CLOSE[BARPOS-J]; 

MA1:=MA1/N;



连同上一帖,如果我说的有点道理,麻烦再帮我看看,如果我说的没有道理,就放弃算了,不要再在这个问题上折腾了。我也不用这个 指标了。


 回到顶部
帅哥哟,离线,有人找我吗?
新华字典1949
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:69 积分:0 威望:0 精华:0 注册:2017/5/25 16:51:06
  发帖心情 Post By:2017/8/9 15:27:51    Post IP:60.191.66.218[显示全部帖子]

会不会是因为前面的算法中,把 0值 和 0值所占的K线数量一并计入有关?因为0值计入后,总波幅没有增加,K线数量却增加了,平均波幅就降低了,得把0值的K线数量不计入才行,可惜我不会写,麻烦再帮我看看?


[此贴子已经被作者于2017/8/9 15:29:03编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
新华字典1949
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:69 积分:0 威望:0 精华:0 注册:2017/5/25 16:51:06
  发帖心情 Post By:2017/8/9 16:15:22    Post IP:60.191.66.218[显示全部帖子]

你这样一说估计能解了。再次谢谢!

 回到顶部
总数 16 上一页 1 2