c语言递推公式原理,【图】指标高手的进阶之-公式迭代(原理及应用)_迭代法怎么求收敛阶,牛顿切线法迭代公式,迭代公式,迭代算法,递推公式_指标编写互助答疑论坛_理想论坛 - 股票论坛...
在掌握了公式语言的一些常用编写方法之后,进阶之路在哪里呢?它们分别是公式分支、公式循环、公式数组、公式迭代和公式接口,只有进一步学习这些高级编程技巧,才能真正达到编写中所思便所得的自如境界。在这其中,比较难以理解的是公式迭代,但一旦掌握将会为我们解决很多过去无法解决的问题。
公式迭代就是公式语言中的迭代算法,迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。
我们在做证券分析时常常会用到迭代算法,比如:
EMA求指数平滑移动平均。
用法:
EMA(X,N),求X的N日指数平滑移动平均。算法:若Y=EMA(X,N)
则Y=[2*X+(N-1)*Y']/(N+1),其中Y'表示上一周期Y值。
今日指数平滑移动平均线等于昨日指数平滑移动平均线乘上(N-1)加上近日收盘价乘2,然后再除以N+1。涉及迭代的问题还包括SMA、DMA、MEMA等。所谓迭代,就是用上一周期的数值来计算本周期的数值。迭代公式就是指用现在的值,代到一个公式里面,算出下一个值再用下一个值代入公式,如此往复地代。
以EMA为例:
e:=(2*c+(n-1)*e)/(n+1);
我们只需按照其原理直接写入就可以了,简单吧!下面就来分析一下为什么可以这么写?赋值符号“:=”左边的e表示本周期的数值,而右边的e由于还没有赋值,仍保持为上一周期的数值,也就是说e还维持着上次计算的结果,它等同于ref(e,1)。
那么,计算第一天的时候,e的数值是多少呢?其初始变量设为0?显然如此设定是不正确,因为e等于0的话,计算结果就等于close/n,这当然不是第一天的均值,因此我们需要作如下说明,完整的写法要这样:
{ema}
INPUT:n(5,0,1000);
VARIABLE:e=0;
e:if(barpos=1,c,(2*c+(n-1)*e)/(n+1));
当计算第一天的时候,e等于收盘价,后面的等于指数平滑移动平均。
迭代应用实例1:MACD(平滑异同平均线)
{macd}
INPUT:long(26,20,100),short(12,5,40),m(9,2,60);
VARIABLE:e=0,e1=0,dea=0;
e:=if(barpos=1,c,(2*c+(short-1)*e)/(short+1));
e1:=if(barpos=1,c,(2*c+(long-1)*e1)/(long+1));
diff:e-e1;
dea:(2*diff+(m-1)*dea)/(m+1);
macd:2*(diff-dea),colorstick;
迭代应用实例2:
我们在学习成本分布原理的时候,常会看到下面一段文字:
成本分布原理:
投资者一般对股票平均成本感兴趣,移动平均MA、指数平滑移动平均EMA等算法都是计算股票平均成本的算法,但是这些算法没有考虑到成交量对平均成本的影响。例如,假设最近一段时间某股票在10-20元间波动,其平均价MA为15元,但观察其成交量发现在20元附近成交量巨大,而在10元附近成交量较少,我们认为其平均成本显然应该比15元更高才合理。为此我们可以引入换收率移动平均概念;以当天的换手率作为平滑因子计算指数平滑移动平均,用公式来表示为:
Y=(1-A)*Y'+A*C
其中A表示换手率,C表示收盘价,Y和Y'分别表示今日平均价和昨日平均价。
加权平均的计算方法是:∑aX,其中X位待统计数值,a为X占总量的比例。当日的平均成本Y可以表示为两个部分,当日买入的和以前买入的,当日买入的成本为收盘价C,以前买入的成本为Y',而当日买入的占总流通盘的比例为换收率A,而以前买入的则占1-A,因此今日的加权平均成本为(1-A)*Y'+A*C。因此,用这个公式更能反映股票的真实成本。
查阅指标函数,我们找到了这样一个函数:
DMA求动态移动平均。
用法:
DMA(X,A),求X的A日动态移动平均。
算法: 若Y=DMA(X,A)
则 Y=A*X+(1-A)*Y',其中Y'表示上一周期Y值,A必须小于1。
例如:DMA(CLOSE,VOL/CAPITAL)表示求以换手率作平滑因子的平均价
显然DMA(CLOSE,VOL/CAPITAL)就是成本分布中的加权平均成本(1-A)*Y'+A*C。
用迭代可以这样表述:
VARIABLE:y=0;
a:=vol/capital;
y:if(barpos=1,c,(1-a)*y+a*c);
迭代应用实例3:
有一求助贴
请问老师如何定义可以一直递归到开盘第一天的递归函数?
本文来自:理想论坛 www.55188.com 作者:天赢 浏览:164次
________________________________________
如何有递归函数需要一个公式 F: IF (是开盘日前一日 就返回发行价,((流通盘- vol)* REF(F,1)+close*vol)/流通盘); 可以一直递归到开盘第一天的
https://www.55188.com/viewthread.php?tid=4086339&page=1#pid84240961
这个命题用迭代可以完美的解决,同样的命题用C语言写,迭代的运算速度会大大超过递归。说到运算速度,有人会问迭代算法用在公式语言中会不会很慢,答案是否定的。无论是分析家还是在使用某些循环公式慢如蜗牛的大智慧,既是在不联网、不下载本地数据的情况下,使用迭代运算速度都非常的快。
好了,上面提到过在公式语言中用到迭代的还有SMA、DMA、MEMA、TMA等,现在就可以自己来动手试试,就算留道算术题吧,成功了!那么恭喜你---您进阶了!
注:二楼给出了SMA、DMA、MEMA、TMA的迭代公式写法。
c语言递推公式原理,【图】指标高手的进阶之-公式迭代(原理及应用)_迭代法怎么求收敛阶,牛顿切线法迭代公式,迭代公式,迭代算法,递推公式_指标编写互助答疑论坛_理想论坛 - 股票论坛...相关推荐
- python 源代码 macd双底 高 低_MACD双底背离_选股公式,炒股软件,炒股公式,股票软件,股票公式_指标编写互助答疑论坛_理想论坛 - 股票论坛...
请老师将以下公式双MACD背离时间不超过30天,写个选股,谢谢了 STICKLINE(100,90,0,5,0),COLOR666600; XIAO1:=REF((LOW+OPEN+CLOSE+HIG ...
- php 教师批改作业代码,【图】请老师改一下_请老师修改文章的敬辞,请老师批改作业用敬语,请老师修改作文怎么说_指标编写互助答疑论坛_理想论坛 - 股票论坛...
大智慧用波神凯线指标主图 (也许比你这个好用) INPUT:年(8,0,100),月(1,1,12),日(1,1,31),年2(8,0,100),月2(1,1,12),日2(1,1,31),做多吗(1 ...
- 软件测试的指标成功率靠谱吗,【图】怎么样才能测试公式的成功率?_股票公式,股票,炒股,股票软件,炒股软件_指标编写互助答疑论坛_理想论坛 - 股票论坛...
只要你的选股指标中选股符号是:XG(如果是别的选股符号,你可以将它改成"XG"符号) 就可以在原选股代码下面加上下面这段代码,就可以在副图上显示你手上选股指标的成功率了. 注:本例 ...
- c语言反推三角函数,【图】MACD反推公式的问题_反三角函数公式大全,年龄问题的所有公式,配套问题公式大全,反导数公式大全,拉氏反变换公式_指标编写互助答疑论坛_理想论坛 - 股票论坛...
MACD是常用的公式,这两天心血来潮就反推一下各曲线走平时的对应价格,但是发现DEA走平价格与交叉价格是一样的?从原理上来讲,似乎不应该一样,不知是不是自己搞错了?向老师请教.(写的比较简略,稍加修改 ...
- php股票公式,【图】请老师帮忙编写个选股公式_股票公式,选股公式,股票论坛,炒股软件,股票指标_指标编写互助答疑论坛_理想论坛 - 股票论坛...
EMA13:=EMA(C,13); EMA21:=EMA(C,21); EMA34:=EMA(C,34); EMA60:=MA(C,60); VA2:=(2*CLOSE+HIGH+LOW)/4; VA ...
- matlab日线转周线的做法,【图】请问如何才能把日线选股公式改成周线选股公式_金叉_指标编写互助答疑论坛_理想论坛 - 股票论坛...
请问如何才能把日线选股公式改成周线选股公式,谢谢. 如下面3个日线选股公式如何才能改成周线选股公式: (一). MTM:=C-REF(C,1); DX:=100*EMA(EMA(MTM,6),6)/E ...
- matlab输入矢量场求散度,微波仿真论坛_附录 COMSOL Multiphysics的MATLAB矢量计算基础.doc...
您所在位置:网站首页 > 海量文档  > 电子工程/通信技术 > 天线/微波/雷达 微波仿真论坛_附录 COMSOL ...
- 软件技术论坛_新一代三维GIS软件技术论坛在南宁召开
10月24日上午,新一代三维GIS软件技术论坛在南宁召开.论坛围绕新一代三维GIS技术的应用展开,来自多个领域的专家就新一代三维技术应用的最新进展情况.取得的成效及对未来工作进行探讨.论坛由超图集团平 ...
- 游戏开发论坛_国内游戏开发站点与论坛
用户下载APP习惯: 1.周末为用户一周下载的高峰期 2.20点-22点为用户一天的下载高峰 76%的应用下载行为来源于第三方引用商店 希望成为策划的同志应该培养的习惯. 1. 浏览,对于大量的资料要 ...
最新文章
- 框架模式与设计模式之区别
- Linux之复制、移动文件及目录命令
- 【腾讯Bugly干货分享】Android Linker 与 SO 加壳技术
- LVM基本应用 扩展及缩减实现
- 【2012百度之星资格赛】J:百度的新大厦
- mysql lock not wait_【MySQL】关于MySQL出现lock wait timeout exceeded 的解决方案
- POJ-1149(网络流)
- python画蜡烛致敬烈士_Python量化交易-绘制蜡烛图 !这个图不像你的钱哦!
- MySQL空间索引简单使用
- 分布式服务框架选型:面对Dubbo,阿里巴巴为什么选择了HSF?
- iOS面试题:Socket原理
- 一台服务器能承载多少用户_干货系列三:一台服务器能承载多少人同时访问?...
- table.render 中 cols 属性 【【问题】】
- 爬取今日头条街拍美女图片
- 华为云弹性云服务器助力打造更安全可靠、灵活高效的云空间
- 用于说明卷积神经网络(ConvNet)的Python脚本
- 大数据三维可视化展示系统的应用分析
- WHT, SLANT, Haar
- linux人脸识别终端是什么意思,瑞芯微如何看待天波首发得RV1109 Linux人脸识别终端...
- 2017湖湘杯Writeup
热门文章
- 计算机文化基础在线作业答案,2016春华东石油《计算机文化基础》第一阶段在线作业.doc...
- 教小白白Hue安装部署
- HBase的实现基础 Google Bigtable论文中文翻译
- 大家小心~~财付通故意留下bug给骗子留下后门
- C/C++ _beginthreadex 多线程操作
- Python:实现tower of hanoi河内塔算法(附完整源码)
- 最好用的截图软件Faststone Capture 6.9 安装包及注册码
- NSString中 initwithformat与stringwithformat区别
- Cow Contest POJ - 3660 Floyd算法,关系链图
- hdu 4022 Bombing