Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共14 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:传递参数的话会发现不能正常修改。

1楼
qq代人发帖 发表于:2016/3/21 8:51:13
 请教:金字塔的模块化编程,如果传递参数的话会发现不能正常修改。
 TR1 :=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR: MA(TR1,length),nodraw;
atr2:#atr.atr(length)#,NODRAW;//这个初始的length,修改参数后还是初始化效果。
2楼
jinzhe 发表于:2016/3/21 8:59:18

自己引用自己?

3楼
liveup 发表于:2016/3/21 9:12:06
不是自己引用自己,是另一个公式。我把引用和原始算法弄一起,对比一下效果。比如初始length=20,调整length的话,原始算法可以看到改变。 模块编程的效果却没有变化。
4楼
jinzhe 发表于:2016/3/21 9:13:10
那么引用公式里面的length是怎么定义的?
5楼
liveup 发表于:2016/3/21 11:00:07
input:length(20,1,100,1);
就是一个input的参数。我就是在编写策略的时候发现模块编程的参数传递,在公式修改参数的时候无效。故意简单用个测试的公式对比。就是简单的传递参数进去,对比就知道了。
6楼
jinzhe 发表于:2016/3/21 11:06:47
还是不懂你的意思和结论,你把两个公式的代码都贴一下
7楼
liveup 发表于:2016/3/21 13:29:33
测试模块编程参数传递
{幅图代码}
input:length(20,1,100,1);

TR1 :=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR: MA(TR1,length);
atr2:#atr.atr(length)#;

{代码结束}


把这段代码作为幅图检测一下
后来测试发现:1.用序列模式,这个模块是正常的传递参数。2.如果用逐K线模式,会导致参数传递部正常。
但一般的策略都是用逐K线模式,模块编程引用的部分多数是序列模式。于是就出现冲突了。
8楼
jinzhe 发表于:2016/3/21 13:38:21
你不是写了两个策略了吗?上面那4句要怎么划分的?
9楼
liveup 发表于:2016/3/21 13:44:23
把上面的代码,作为幅图测试一下序列模式和逐K线模式就知道了。引用的ATR系统公式是序列模式。如果上面的代码用逐K模式,就会导致传递的参数不能正常调整。
不知道算不算bug,还是因为程序构建的兼容性没考虑到这个细节。
10楼
jinzhe 发表于:2016/3/21 14:01:46
本地没有发现在逐k线模式下有不正常的地方,用户截图一下自己碰到的问题
共14 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.04297 s, 3 queries.