由于K线内的判断条件,开仓、平仓都需要在K线走完后才下单,能否做这样的变动:图表是看5秒钟的,但判断条件使用1分钟的K线进行判断?
原来的开仓条件是MACD金叉以及MA在20日上开多:
IF DIFF>DEA AND OPEN>MA20 THEN BUY(1,P0,MARKET);
这样的条件需要如何修改?能否达到我前面说的目的?
使用跨周期引用
diff:=stkindi('','macd.diff',0,1);
dea:=stkindi('','macd.dea',0,1);
ma20:=stkindi('','ma.ma4',0,1);
oo:=callstock(stklabel,vtopen,1);
IF DIFF>DEA AND oo>MA20 THEN BUY(1,P0,MARKET);
ma公式里面的ma4,你打开下ma公式看下ma4是什么
有个错误这里写错了,是ma3
diff:=stkindi('','macd.diff',0,1);
dea:=stkindi('','macd.dea',0,1);
ma20:=stkindi('','ma.ma3',0,1);
oo:=callstock(stklabel,vtopen,1);
ASI:=stkindi('','ASI.ASI',0,1);
MASI:=MA(ASI,20);
提示我BEGIN缺少END,很奇怪。
很明显不是这里却,你仔细看下代码哪里的begin少end
没有begin啊,前面只有两行定义变量的,我检查过都有分号结尾。
//参数设置:
INPUT:P0(1,0,200,1){建仓量},P1(8,1,50,1){止损点数},P2(2,1,100,1){止盈点数},P3(5,5,600,1){回撤点数};
VARIABLE:MAXPROFIT=0,{有仓位时最大获利幅度}VMIN = 090000{用于隔夜高开或低开时间差},MGT=0{金叉计数器},MDT=0;{死叉计数器}
WIN1:=0;
WIN2:=0;//止盈、止损、回撤控制
//主程序
diff:=stkindi('','macd.diff',0,1);
dea:=stkindi('','macd.dea',0,1);
ma20:=stkindi('','ma.ma3',0,1);
oo:=callstock(stklabel,vtopen,1);
ASI:=stkindi('','ASI.ASI',0,1);
MASI:=MA(ASI,20);
这里就是开头了,为啥会有那个错误提示?之前还好好的。
说了不是这里啊,你再看看哪里有begin没有配对啊,你一直发些没错的代码干什么?

此主题相关图片如下:1.png