以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 请老师帮助编写 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=159960) |
|
-- 作者:yuanman -- 发布时间:2017/11/29 8:57:03 -- 请老师帮助编写 请老师帮助,这个是阿火所编写的跨周期MACD指标,一分钟周期引用3分钟周期数据的。 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; 我要在15分钟周期引用20分钟周期的MACD的数据,请老师给予帮助编写。谢谢
|
|
-- 作者:wenarm -- 发布时间:2017/11/29 9:09:14 -- EM1:=STKINDI(STKLABEL,\'MACD.EMA12\',0,11,-1);//在工具--选项--常规中把多分钟改成20.
|
|
-- 作者:yuanman -- 发布时间:2017/11/30 9:25:01 -- 请教老师;1;其他的几处是否也要这样该?2;红色的-1是什么意思?是按前一根数据计算吗?3;老师说的“在工具--选项--常规中把多分钟改成20.”可我的软件运行的模型中还有其他跨周期数据(如40分钟等)如果按老师说的该了,会不会影响其他模型的运行?4;STKINDI函数中还有一个(21,自定义N分钟线)是否可以这样使用;DEA\';=STKINDI(\'\',\'MACD.DEA\',0,21,20);;和
EMA12: EMA(C,12),LINETHICK0; EMA26: EMA(C,26),LINETHICK0; RUNMODE:1; EM1:=STKINDI(STKLABEL,\'MACD.EMA12\',0,11,-1); EM2:=STKINDI(STKLABEL,\'MACD.EMA26\',0,11,-1); EMA12:=EM1*11/13+C*2/13; EMA26:=25/27* EM2 +C*2/27; DIFF:EMA12-EMA26; DEA1:=STKINDI(STKLABEL,\'MACD.DEA\',0,11,-1); DEA:DEA1*4/5+DIFF/5; |
|
-- 作者:FireScript -- 发布时间:2017/11/30 9:37:01 -- 1.其他几处也要这样修改。 2.-1是指引用的是上一个20分钟周期的数据的意思。 3.工具-选项-多分钟那个是会影响其他地方的多分钟引用的。 4.你说的那种直接指定周期数的操作是可以的,但是就没办法设置“-1”的偏移了。2种做法引用的数据周期一样,但是位置上不是同一个20分钟K了。 |
|
-- 作者:yuanman -- 发布时间:2017/11/30 15:29:42 -- 谢谢老师的耐心解答!使用阿火的这种编写方法,其目的是想解决小周期引用大周期出现大信号漂移问题,如果加-1引用前一根的数据就得不偿失,更没有意义了,可不可以不加-1这样编写哪?
|
|
-- 作者:FireScript -- 发布时间:2017/11/30 15:41:13 -- 如果不进行偏移的话,那样写也是可以的。 EMA12:=EM1*11/13+C*2/13; EMA26:=25/27* EM2 +C*2/27;
DIFF:EMA12-EMA26;
DEA1:=STKINDI(STKLABEL,\'MACD.DEA\',0,21,20);
DEA:DEA1*4/5+DIFF/5;
这里面ema的那个计算和周期都没关系。你只要改STKINDI里面的参数即可。 |
|
-- 作者:yuanman -- 发布时间:2017/11/30 15:59:46 -- 如果可以这样用的话,数据是及时的了,还会不会出现信号漂移哪? |
|
-- 作者:FireScript -- 发布时间:2017/11/30 16:12:33 -- 小周期引用大周期漂移还是可能的,本质如此不好避免。 |
|
-- 作者:yuanman -- 发布时间:2017/11/30 16:22:04 -- 1;这种写法和下面的这种写法有什么区别吗?2;还是目前金字塔无法解决跨周期漂移问题,不管用什么方法?谢谢 DEA10:=STKINDI(\'\',\'MACD.DEA\',0,18);
DIFF10:=STKINDI(\'\',\'MACD.DIFF\',0,18); MACD10:=STKINDI(\'\',\'MACD.MACD1\',0,18); |
|
-- 作者:FireScript -- 发布时间:2017/11/30 16:42:07 -- 1. 常规的引用就是你上面9楼说的那种啊,不过你填18 好像是10分钟周期了。阿火的那个我没研究。你要问我差别我也没法说清楚。需要你自己实际多测试下效果了。 2.偏移不是无法解决。这东西本质就是如此啊。比如c>o这种判断条件,只有价格在动c就会变得,结果就会动,结果动肯定会涉及到偏移问题了啊。一根K线内o不会变,h,l是单向变。最高价刷新肯定只能是更高价了,最低价刷新肯定是更低的价格。一般在大周期引用小周期的漂移应该比小周期引用大周期严重点。 |