Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共19 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:求解 为什么历史测试成交里面没有开空单

1楼
魔鬼-杀手 发表于:2012/5/3 14:49:36

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;                     

2楼
魔鬼-杀手 发表于:2012/5/3 14:50:54
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;                                                                                                                                                                                                                                                                
      
3楼
魔鬼-杀手 发表于:2012/5/3 14:51:19
    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;                                                                                                                                                                                                                                                                  
4楼
魔鬼-杀手 发表于:2012/5/3 14:51:32
IF TIME() >= 140000 THEN BEGIN                                                                                                                                                                                                                                         
    SELL(HOLDING > 0, HOLDING, MARKET);                                                                                                                                                                                                                                
    SELLSHORT(HOLDING < 0, HOLDING, MARKET);                                                                                                                                                                                                                           
END;                                 
5楼
魔鬼-杀手 发表于:2012/5/3 14:52:46
是不是写法有问题!请人工人员指点一下
6楼
魔鬼-杀手 发表于:2012/5/3 14:56:10
是不是写法有问题!请工做人员指点一下
7楼
just 发表于:2012/5/3 15:08:18
楼主所示代码没有什么问题, 猜测可能是你的变量永远不会等于-1造成的永远没有开空。还有就是楼主只有开仓语句 没有平仓语句,(只是收盘前平仓)图表程序化交易是不支持双向仓位同时持有的 故可能造成楼主的这种情况。
[此贴子已经被作者于2012-5-3 15:09:46编辑过]
8楼
魔鬼-杀手 发表于:2012/5/3 15:09:35
麻烦帮忙修改一下
9楼
just 发表于:2012/5/3 15:17:34
                                                 

IF BS_DIR = 1 THEN BEGIN                                                                                                                                                                                                                        sellshort(holding<0,0,market);                   
        BUY(HOLDING = 0, 1, MARKET);                                                                                                                                                                                                                                   
        BS_DIR := 0;                                                                                                                                                                                                                                                   
    END;                                                                                                                                                                                                                                                               
    IF BS_DIR = -1 THEN BEGIN                                                                                                                                                                                                                   sell(holding>0,0,market);                       
        BUYSHORT(HOLDING = 0, -1, MARKET);                                                                                                                                                                                                                             
        BS_DIR := 0;                                                                                                                                                                                                                                                   
    END;                                                                                                               

END;               

10楼
魔鬼-杀手 发表于:2012/5/3 15:18:51
不会出现这问题吧!我的意思有持仓就不开仓了!
共19 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.06641 s, 3 queries.