以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  程序流程不太明白  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=99832)

--  作者:黄金精算师
--  发布时间:2016/6/29 22:00:16
--  程序流程不太明白
程序流程不太明白,帮解释一下,以方便后面编写程序
前面的写法与后面两种结果相同,但不明白为什么程序会这样运行,如果按顺序运行,第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;         

--  作者:jinzhe
--  发布时间:2016/6/30 9:11:12
--  

1.2不是一个意思?kd成立就开仓,不一样在哪里?

3.这个和上面也是一个意思,有不一样的截图说明


--  作者:黄金精算师
--  发布时间:2016/6/30 20:06:12
--  
这个没有图呀,看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);   

--  作者:jinzhe
--  发布时间:2016/7/1 8:58:46
--  

没看出你第二个有反的意思,

第二个和第一个意思一样,就是cross(0.5,突破L)成立时开仓