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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 小周期级别上记录大周期指标的问题

   

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


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

主题:小周期级别上记录大周期指标的问题

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


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2020/1/10 9:03:54
小周期级别上记录大周期指标的问题  发帖心情 Post By:2020/2/8 17:34:18    Post IP:39.128.14.225[只看该作者]

在阿火帖子上看到这个:

十、在小周期级别上记录大周期指标的实际走势的方法

这里以1分钟引用3分钟的macd为例,常规方法只能在1分钟K线上显示3分钟K线的macd走势,至于3分钟内部每根1分钟K线的macd走势不知道

方法原理:获取上一根3分钟的diff、dea、macd,然后配合1分钟的CLOSE计算出实际的diff、dea、macd

第一步、首先在macd指标里加入以下2句:

   ema12: ema(c,12),linethick0;
   ema26: ema(c,26),linethick0;

第二步、复制以下代码即可

runmode:1;
em1:=stkindi(stklabel,'macd.ema12',0,17,-1);
em2:=stkindi(stklabel,'macd.ema26',0,17,-1);
ema12:=em1*11/13+c*2/13;
ema26:=25/27* em2 +c*2/27;

diff:ema12-ema26;
dea1:=stkindi(stklabel,'macd.dea',0,17,-1);
dea:dea1*4/5+diff/5;


求问:标红部分的数字是怎么计算出来的,其他指标如KD、RSI等指标是否也可以用同样方法编写


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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2020/2/8 19:50:30    Post IP:101.88.243.76[只看该作者]

这个地方是吧ema的算法拆解了。

算法:若Y=EMA(X,N),则Y=[2*X+(N-1)*Y']/(N+1),其中Y'表示上一周期Y值。

em1是当前周期对应的3分钟周期的上一根k的结果,即Y'.  已知N=12,X=CLOSE。带入上面算法中即

Y=[2*CLOSE+(12-1)*EM1]/(12+1)=em1*11/13+c*2/13;

 



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
casey
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2020/1/10 9:03:54
  发帖心情 Post By:2020/2/9 16:38:51    Post IP:39.128.14.225[只看该作者]

麻烦老师帮忙看下哪里编写有问题
原指标:
LC := REF(CLOSE,1);
RSI1:SMA(MAX(CLOSE-LC,0),13,1)/SMA(ABS(CLOSE-LC),13,1)*100,COLORBLACK;
RSI:SMA(RSI1,3,1),COLORRED;
TSL:SMA(RSI1,8,1),COLORCYAN;
MBL:SMA(RSI1,34,1),DOT,COLORYELLOW;
A:=SMA(MAX(CLOSE-LC,0),13,1);
B:=SMA(ABS(CLOSE-LC),13,1);

引用:
A3:=stkindi(stklabel,'TDI.A',0,17,-1);
B3:=stkindi(stklabel,'TDI.B',0,17,-1);
RSI3:=stkindi(stklabel,'TDI.RSI',0,17,-1);
TSL3:=stkindi(stklabel,'TDI.TSL',0,17,-1);
MBL3:=stkindi(stklabel,'TDI.MBL',0,17,-1);
LC := REF(CLOSE,1);
A1:=A3*12/13+MAX(CLOSE-LC,0)/13;
B1:=B3*12/13+ABS(CLOSE-LC)/13;
RSI1:=A1/B1*100;
RSI:RSI3*2/3+RSI1/3,COLORRED;
TSL:TSL3*7/8+RSI1/8,COLORCYAN;
MBL:MBL3*33/34+RSI1/34,DOT,COLORYELLOW;

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


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2020/1/10 9:03:54
  发帖心情 Post By:2020/2/9 16:41:32    Post IP:101.88.243.247[只看该作者]

还有下面这个指标

VAr6:=(2*CLOSE+HIGH+LOW)/4;
VAR8:=LLV(LOW,34);
VAR11:=HHV(HIGH,34);
VAR12:EMA((VAr6-VAR8)/(VAR11-VAR8)*100,21);
VAR13:EMA(0.667*REF(VAR12,1)+0.333*VAR12,2);
生命线:EMA(VAR13,5); 

只需要改EMA部分还是其它部分也需要改麻烦老师告知下,谢谢

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


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2020/1/10 9:03:54
  发帖心情 Post By:2020/2/9 16:44:22    Post IP:101.88.243.247[只看该作者]

还有下面这个指标只需要改EMA还是其他部分也要改麻烦老师告知一下,谢谢
VAr6:=(2*CLOSE+HIGH+LOW)/4;
VAR8:=LLV(LOW,34);
VAR11:=HHV(HIGH,34);
VAR12:EMA((VAr6-VAR8)/(VAR11-VAR8)*100,21);
VAR13:EMA(0.667*REF(VAR12,1)+0.333*VAR12,2);
生命线:EMA(VAR13,5);

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2020/2/9 19:11:01    Post IP:101.88.243.217[只看该作者]

您代码现在碰到了什么问题?要做什么。



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
casey
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2020/1/10 9:03:54
  发帖心情 Post By:2020/2/9 19:33:04    Post IP:39.128.14.225[只看该作者]

把这两个指标改成上面的MACD这样

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


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2020/1/10 9:03:54
  发帖心情 Post By:2020/2/9 19:39:32    Post IP:101.88.243.247[只看该作者]

指标1:

LC := REF(CLOSE,1);

RSI1:SMA(MAX(CLOSE-LC,0),13,1)/SMA(ABS(CLOSE-LC),13,1)*100,COLORBLACK;

RSI:SMA(RSI1,3,1),COLORRED;

TSL:SMA(RSI1,8,1),COLORCYAN;

MBL:SMA(RSI1,34,1),DOT,COLORYELLOW;

 

指标2:

VAR7:=(2*CLOSE+HIGH+LOW)/4;

VAR8:=LLV(LOW,34); V

AR11:=HHV(HIGH,34);

VAR12:EMA((VAR7-VAR8)/(VAR11-VAR8)*100,21);

VAR13:EMA(0.667*REF(VAR12,1)+0.333*VAR12,2);

生命线:EMA(VAR13,5);

这两个是原指标,想要跟上面例子MACD一样在1分钟引用3分钟走势,我自己试着编了代码但是加载出来不对不知道哪里的问题


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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2020/2/9 20:11:44    Post IP:101.88.96.209[只看该作者]

请您仔细看你一楼的范例。理解原理和代码逻辑。而不是浅尝而止。

1,stkindi引用的数据位置不对。

2.引用的结果拆分不对。

 

自己对比下一楼和您自己写的代码



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
casey
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2020/1/10 9:03:54
  发帖心情 Post By:2020/2/9 20:30:58    Post IP:101.88.243.247[只看该作者]

原指标:

LC := REF(CLOSE,1);

RSI1:SMA(MAX(CLOSE-LC,0),13,1)/SMA(ABS(CLOSE-LC),13,1)*100,COLORBLACK;

RSI:SMA(RSI1,3,1),COLORRED;

TSL:SMA(RSI1,8,1),COLORCYAN;

MBL:SMA(RSI1,34,1),DOT,COLORYELLOW;

A:=SMA(MAX(CLOSE-LC,0),13,1);

B:=SMA(ABS(CLOSE-LC),13,1);

 

引用:

A3:=stkindi(stklabel,'TDI.A',0,17,-1);

B3:=stkindi(stklabel,'TDI.B',0,17,-1);

RSI3:=stkindi(stklabel,'TDI.RSI',0,17,-1);

TSL3:=stkindi(stklabel,'TDI.TSL',0,17,-1);

MBL3:=stkindi(stklabel,'TDI.MBL',0,17,-1);

LC := REF(CLOSE,1);

A1:=A3*12/13+MAX(CLOSE-LC,0)/13;

B1:=B3*12/13+ABS(CLOSE-LC)/13;

RSI1:=A1/B1*100;

RSI:RSI3*2/3+RSI1/3,COLORRED;

TSL:TSL3*7/8+RSI1/8,COLORCYAN;

MBL:MBL3*33/34+RSI1/34,DOT,COLORYELLOW;

能不能具体点哪行不对,是SMA算的不对还是哪里,具体怎么改?


 回到顶部
总数 14 1 2 下一页