GLOBALVARIABLE: Lc11A:=0;//上一秒的仓位
GLOBALVARIABLE: Cc11A:=0;//当前这一秒的仓位
HD1:=STKINDIEX('IF00','Dagger1.HD',0 ,1, 0,360);
HD2:=STKINDIEX('IF00','Dagger2.HD',0 ,17, 0,360);
HD3:=STKINDIEX('IF00','Dagger3.HD',0 ,1, 0,360);
HD4:=STKINDIEX('IF00','Dagger4.HD',0 ,17, 0,360);
HD5:=STKINDIEX('IF00','Dagger5.HD',0,1, 0,360);
Lc11A:=Cc11A;
Cc11A:=if(Time>=151400,0,IF((HD1>=0 && HD4>=0),(HD1 && HD4 ),IF((HD1<=0 && HD4<=0) ,-(ABS(HD1)&&ABS(HD4)),0))); //151400强制平仓
Nowc11A:=VALUEWHEN(Lc11A=Cc11A,Cc11A );
DEbugout('Lc11a=%.0f',Lc11a);
DEbugout('Cc11a=%.0f',Cc11a);
DEbugout('Nowc11a=%.0f',Nowc11a);
……
后台,工作在1秒周期,打开监控,没有看到Debugout的数据,请大侠帮忙看看哪里写错了?(金字塔V3.11beta2版本)
反复测试了n次,终于找到原因。原来是模型中有一语句如下:
MM:==ref(close,1);
这里的"=="是属于笔误,多输入了一个“=”号,Debugout的时候,完全没有输出,只有“运行结束”
不解的是:为什么编译还是通过?这个“==”在金字塔是什么操作??
不要割裂的看问题
xxx:==ref(c,1)
:=是赋值,把=ref(c,1)赋值给xxx
而=ref(c,1)是没有值的
你一定要用这样的赋值方式吗?既是是没用的?
赋值出错,导致公式后面的代码不运行,造成一系列的连锁反应,避免这样的写法,如果坚持要这样的写法,那么写在最后面