以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  急!macd公式在策略中发生数值变化  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=171803)

--  作者:maxuser2004
--  发布时间:2019/8/26 17:48:30
--  急!macd公式在策略中发生数值变化
MACD公式如下:
input:P(26,20,100,8),S(12,5,40,4),M(9,2,60,6);

DIFF : EMA(CLOSE,S) - EMA(CLOSE,P),COLORMAGENTA;
DEA  : EMA(DIFF,M);
MACD : 2*(DIFF-DEA), COLORSTICK;

单独放在一个公式编辑中,显示值与指标值相同,但是放在自己的策略中,不知道为啥数值变化与指标值不同。
反复试了好多次,拷贝出来后加载数值就正常,放在策略中后数值就改变。。。烦死了

--  作者:maxuser2004
--  发布时间:2019/8/26 18:00:01
--  
刚才又仔细观察发现P值在策略中的表格值会自动改变,就是运行模式下面的参数表中,缺省自动改为5,最小自动变为1,与自己代码中的P(26,20,100,8)不同。请大佬指导
--  作者:FireScript
--  发布时间:2019/8/27 8:53:52
--  
 有变量名重复了吧。比如某个参数变量和你现在代码中某个变量重名了。

你贴下你代码。macd那部分代码看不出来什么情况的。

--  作者:maxuser2004
--  发布时间:2019/8/27 16:25:22
--  
已经处理了,谢谢老师。另外,请教下OPENPROFITPER这个函数,是不是已经默认值为百分比数值了。
比如想回撤为30%触发告警,是设置OPENPROFITPER>30%还是OPENPROFITPER>30?


--  作者:wenarm
--  发布时间:2019/8/27 16:30:37
--  
是的,等价于(close-AvGENTERPRICE)/AvGENTERPRICE*100;
[此贴子已经被作者于2019/8/27 16:30:49编辑过]

--  作者:maxuser2004
--  发布时间:2019/9/4 18:11:14
--  
继续请教:

1、OPENPROFITPER>30%还是OPENPROFITPER>30

按照公式,如果想算止盈在30%,是前面还是后面设置正确?

2、OPENPROFITPER=(close-AvGENTERPRICE)/AvGENTERPRICE*100,好像没有手数,是不是OPENPROFITPER和几手无关?

2、AvGENTERPRICE是怎么计算的,是以K线的最低价格来算的吗(假设开多的话)?

3、在策略在不同的品种加载上时,mindiff怎么计算的?比如我加载相同的策略在螺纹钢K线与黄金K线上,它如何让策略识别出不同的两种种类。并以不同的mindiff数值分别止盈止损?

--  作者:FireScript
--  发布时间:2019/9/5 9:01:25
--  
 1.OPENPROFITPER>0.3  这样就可以了。
2.不是最低价 是按照一次或多次开仓的开仓价统计计算的。开仓价又要看你开仓指令了。是限价还是市价,限价那就是限价指令的那个价格,市价那就是收盘价。
3.自适应,函数会自行读取相应的值的。

--  作者:wenarm
--  发布时间:2019/9/5 9:04:57
--  

1.后者。OPENPROFITPER>30

这类问题,建议您自己输出结果看下,有助于理解函数

2.本来就和手数没关系,上面公式中也体现出来了。

3.AvGENTERPRICE只和你下单指令有关系。图表历史中计算按什么价格计算,请查看下单指令的函数说明,其中都有明确解释。

4.每个窗格中的策略执行都是独立的副本,副本与副本之间没有任何关联。

mindiff函数,说明中也说明了其变动价位的来源。建议您自己在合约设置中查看下就明白了。