程序流程不太明白,帮解释一下,以方便后面编写程序
前面的写法与后面两种结果相同,但不明白为什么程序会这样运行,如果按顺序运行,第2种应该不会开仓才对,为什么他能开仓
第1种 能理解,当前面的条件达成即开仓
KD:=1;//开多
if cross(0.5,突破L )then 开仓:BUY(KD AND HOLDING=0,手数,THISCLOSE);
第2种 这个过程是反的,但是结果是与上面完全相同
不明白的问题有两个,1 :为什么他在KD:=0的情况下后面一句还能开仓 2:为什么他只在第一根有效
//KD:=1;//这里是没有的靠下面条件达成时写的
if cross(0.5,突破L ) then KD:=1;
if cross(0.5,突破L )=0 then KD:=0; // 这个为什么在不达成时清0了还能开仓
KDD:kd; //从这个变量观察发现,他只有在前面条件达成的第一根K柱有效
开仓:BUY(KD AND HOLDING=0,手数,THISCLOSE);
第3种 与上面完全相同 ,但多了一根有效开仓K柱
不明白的问题 :为什么他和上面不同他有两根有效K柱 (有效是指KD=1)
//KD:=1;//这里是没有的靠下面条件达成时写的
if cross(0.5,突破L ) then KD:=1;
KDD:kd; //从这个变量观察发现,他只有在前面条件达成的 第1根与第2根K柱有效?为什么两根有效
开仓:BUY(KD AND HOLDING=0,手数,THISCLOSE);
if cross(0.5,突破L )=0 then KD:=0;
1.2不是一个意思?kd成立就开仓,不一样在哪里?
3.这个和上面也是一个意思,有不一样的截图说明
这个没有图呀,看2的程序,我加个!号
第2种 这个过程是反的,但是结果是与上面完全相同
不明白的问题有两个,1 :为什么他在KD:=0的情况下后面一句还能开仓 2:为什么他只在第一根有效
//KD:=1;//这里是没有的靠下面条件达成时写的
if cross(0.5,突破L ) then KD:=1;
if cross(0.5,突破L )=0 then KD:=0; // 这个为什么在不达成时清0了还能开仓!!!!!!!!!!!!!!!!!!!!!!!!!
KDD:kd; //从这个变量观察发现,他只有在前面条件达成的第一根K柱有效!!!!!!!!!!!!!!!!!!!!!!!!!!!!
开仓:BUY(KD AND HOLDING=0,手数,THISCLOSE);
没看出你第二个有反的意思,
第二个和第一个意思一样,就是cross(0.5,突破L)成立时开仓