当根K线满足条件①②③后,若之后某根K线满足条件④(此时不需要满足①②③),再之后的某根K线满足条件⑤(此时不需要满足①②③④),做多。
这个要怎么编写?
参考:
N:=BARSLAST(TJ1&&TJ2&&TJ3)+1;
M:=BARSLAST(TJ4)+1;
TJ5&&COUNT(TJ5,M)=1&&COUNT(TJ5,N)=1&&N>M,BK;
这边有个问题,假设条件④在当根K线前10个周期满足了一次,而条件①②③则在当根K线前15周期和5周期处分别满足了一次,这样就N<M,但按我的模型这边还是要开仓的。
就是说,开仓条件是单次逐个触发的:条件①②③满足一次之后,等待条件④满足一次,这期间条件①②③是否持续满足都不管,等条件④满足一次之后,再等待条件⑤满足一次,这期间条件①②③④是否持续满足都不管,等满足条件⑤的那根K线出现,开仓。
如下修改
N:=BARSLAST(TJ1&&TJ2&&TJ3)+1;
M:=BARSLAST(TJ4)+1;
TJ5&&COUNT(TJ5,M)=1&&COUNT(TJ5,N)=1,BK;
这句里面能不能再添个条件:
TJ5&&COUNT(TJ5,M)=1&&COUNT(TJ5,N)=1&&(在距离当根K线M周期前存在满足条件①②③的K线),BK;
这样就能满足逐个触发原则了。
我之前的写法哪里有问题?
A:=IF(A=0,IF(TJ1&&TJ2&&TJ3,1,0),A);
B:=IF(B=0,IF(A=1&&TJ4,1,0),B);
B=1&&TJ5,BK&&A=0&&B=0;
这边如果能有个初始赋值函数,当模型开始运行时,把A、B都赋值0,这样我这个写法应该就能用了。
分析后回复