以文本方式查看主题

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

--  作者:魔鬼-杀手
--  发布时间:2012/5/17 16:09:35
--  请教
我的程序已经写了15:13强行平仓,但是到了时间没有执行,请教这是怎么回事?
--  作者:rushtaotao
--  发布时间:2012/5/17 16:11:35
--  

time>151300

发出你的代码瞧瞧


--  作者:魔鬼-杀手
--  发布时间:2012/5/17 16:14:00
--  
MA1:=MA(OPEN,20);                                                                                                                                                                                                                                                     
IF HOLDING = 0 AND MA1 > REF(MA1,1) AND REF(MA1,1) > REF(MA1,2) AND REF(MA1,2) > REF(MA1,3) THEN                                                                                                                                                                           
    BS_DIR := 1;                                                                                                                                                                                                                                                         
IF HOLDING = 0 AND MA1 < REF(MA1,1) AND REF(MA1,1) < REF(MA1,2) AND REF(MA1,2) < REF(MA1,3) THEN                                                                                                                                                                           
    BS_DIR := -1;                                                                                                                                                                                                                                                        
PBS_DIR := 0;                                                                                                                                                                                                                                                         
IF HOLDING > 0 AND CLOSE < ENTERPRICE-10 THEN                                                                                                                                                                                                                          
 PBS_DIR := 1;                                                                                                                                                                                                                                                        
IF HOLDING < 0 AND CLOSE> ENTERPRICE+10 THEN                                                                                                                                                                                                                           
 PBS_DIR := -1;              

--  作者:魔鬼-杀手
--  发布时间:2012/5/17 16:14:29
--  
IF TIME() > 090000 AND  TIME() < 144500 THEN BEGIN                                                                                                                                                                                                                     
    IF PBS_DIR = 1 THEN BEGIN                                                                                                                                                                                                                                          
        SELL(HOLDING > 0, HOLDING, MARKET);                                                                                                                                                                                                                            
        PBS_DIR := 0;                                                                                                                                                                                                                                                  
    END;                                                                                                                                                                                                                                                               
    IF PBS_DIR = -1 THEN BEGIN                                                                                                                                                                                                                                         
        SELLSHORT(HOLDING < 0, HOLDING, MARKET);                                                                                                                                                                                                                       
        PBS_DIR := 0;                                                                                                                                                                                                                                                  
    END;                                                                                                                                                                                                                                                                
      

--  作者:魔鬼-杀手
--  发布时间:2012/5/17 16:14:52
--  
 IF BS_DIR = 1 THEN BEGIN                                                                                                                                                                                                                                           
        BUY(HOLDING = 0, 1, MARKET);                                                                                                                                                                                                                                   
        BS_DIR := 0;                                                                                                                                                                                                                                                   
    END;                                                                                                                                                                                                                                                               
    IF BS_DIR = -1 THEN BEGIN                                                                                                                                                                                                                                          
        BUYSHORT(HOLDING = 0, -1, MARKET);                                                                                                                                                                                                                             
        BS_DIR := 0;                                                                                                                                                                                                                                                   
    END;                                                                                                                                                                                                                                                               
 END;                                                                                                                                                                                                                                                                  


--  作者:魔鬼-杀手
--  发布时间:2012/5/17 16:15:06
--  
IF TIME() >= 140000 THEN BEGIN                                                                                                                                                                                                                                         
    SELL(HOLDING > 0, HOLDING, MARKET);                                                                                                                                                                                                                                
    SELLSHORT(HOLDING < 0, HOLDING, MARKET);                                                                                                                                                                                                                           
END;  
--  作者:just
--  发布时间:2012/5/17 16:43:01
--  

楼主你写的是time>=140000,


--  作者:rushtaotao
--  发布时间:2012/5/17 16:44:59
--  
语法吧,time后面不需要()
--  作者:魔鬼-杀手
--  发布时间:2012/5/17 16:53:32
--  
多谢!我明天再试一下看怎么样!多谢
--  作者:threefootcat
--  发布时间:2012/5/17 23:07:28
--  

检查一下你的时间周期,如果是在 5 分钟周期,最后一个周期没有执行到,可能不能平仓;