以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  [求助]多周期引用测试通过图表无显示  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=165762)

--  作者:qhds
--  发布时间:2018/10/7 1:17:31
--  [求助]多周期引用测试通过图表无显示
引用 公式一名:macddzq

DIFF :=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  :=EMA(DIFF,9);
MACD1 :=2*(DIFF-DEA);


M30:=ref(macd1,1) > 0 and macd1>ref(macd1,1),close;  //MACD1上一周期大于0,且本周期MACD1大于上一周期
M15:=ref(macd1,1) > 0 and macd1>ref(macd1,1),close;  //MACD1上一周期大于0,且本周期MACD1大于上一周期

M20:=ref(macd1,1) < 0 and macd1<ref(macd1,1),close; //MACD1上一周期小于0,且本周期MACD1小于上一周期
M21:=ref(macd1,1) < 0 and macd1<ref(macd1,1),close; //MACD1上一周期小于0,且本周期MACD1小于上一周期


公式2

DIFF :=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  :=EMA(DIFF,9);
MACD1 :=2*(DIFF-DEA);

M31:=STKINDI(\'\',\'macddzq.M30\',0,4);       //30分钟MACD1上一周期大于0,且本周期MACD1大于上一周期

M16:=STKINDI(\'\',\'macddzq.M15\',0,3);       //15分钟MACD1上一周期大于0,且本周期MACD1大于上一周期

M330:=STKINDI(\'\',\'macddzq.M20\',0,4);   //30分钟MACD1上一周期小于0,且本周期MACD1小于上一周期
M150:=STKINDI(\'\',\'macddzq.M21\',0,3);   //15分钟MACD1上一周期小于0,且本周期MACD1小于上一周期

AA:=DIFF>0;

MM:=DIFF<0; 



手数:=ss;
//交易条件

if M31 AND M16 AND AA then begin //

   sellshort(1,手数,market);

   buy(holding=0,手数,market);

end

 

if  M330 AND M150 AND MM then begin

    sell(1,手数,market);

   buyshort(holding=0,手数,market);

end

当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;


测试通过,加载图表上没有反应,是不是哪里不对劲大神们?交易当前周期 1   3     5分钟都没反应
交易思想是,当前图表比如  5分钟周期DIFF>0,判断30分钟MACD大于0,且比上一周期MACD值大,15分钟也是,开多

 5分钟周期DIFF<0,判断30分钟MACD<0,且比上一周期MACD值小,15分钟也是,开空

--  作者:wenarm
--  发布时间:2018/10/7 22:25:59
--  
M30:=ref(macd1,1) > 0 and macd1>ref(macd1,1),close;
这是个条件语句,你在后面跟着",close;"是什么意思?
如果你引用的均是同一个条件,在被引用的macddzq公式中,不需要重复写,只要引用公式中控制好周期和偏移量即可。

注:被引用的变量,必须使用":"赋值,你用的全部是":="