//申明全局变量
variable : TIMES=0; //开仓次数
variable : EXCPT=0; //平仓次数
//多单减仓后再加仓
IF EXCPT=1 AND KDTJ=1 AND HOLDING>0 AND TIMES<1 THEN BEGIN
BUY(HOLDING>0,20%,LIMITR,HH20+MINDIFF),ignorecheckprice; //开多单
TIMES:=1;
END
//空单减仓后再加仓
IF EXCPT=1 AND KKTJ=1 AND HOLDING<0 AND TIMES<1 THEN BEGIN
BUY(HOLDING<0,20%,LIMITR,LL20+MINDIFF),ignorecheckprice; //开多单
TIMES=1;
END
这几行代码在测试中不运行,请教老师帮忙看看,问题出在哪?
我的意思就是减仓后,只要再满足开仓条件,把减掉的单子重新加仓回去。
能否把完整代码贴下,不方便你就发给客服。 上面代码没办法看出问题。
这里你原本意思是加空方向的仓?
BUY(HOLDING<0,20%,LIMITR,LL20+MINDIFF),ignorecheckprice; //开多单
如果是,那你要用buyshort.
金字塔图表不支持锁仓,有空仓情况下不能下多方向的单,反之同理。一般是先平再开。
这个是错了。但是多单减仓后满足开多单条件他也没有开仓多单的信号。
代码看了,别的地方没问题。就是5楼回复的那个地方错了。
//空单减仓后再加仓
IF EXCPT=1 AND KKTJ=1 AND HOLDING<0 AND TIMES<1 THEN BEGIN
BUY(HOLDING<0,20%,LIMITR,LL20+MINDIFF),ignorecheckprice; //开多单 这里错了。
TIMES=1;
END
改成buyshort
箭头位置应该出现信号的,但是没有。请教老师我这写法上在哪有问题,还是要使用循环语句来写?

此主题相关图片如下:qq图片20171218112520.png
那个品种,那个周期,有没有复权,你所指的K线的时间是在什么位置。 我直接本地看下更方便。