Rss & SiteMap

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

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

标题:简单的后台模型,麻烦帮忙修改

1楼
eric917 发表于:2013/2/21 9:53:08

我已经经过多番修改,但还是没有找到原因

这是一个简单的单均线 上穿BPK   下破SPK的 模型

 

要求:出信号立即开仓不进行复核,每根K线只开仓一次,在总账号有其他持仓的情况,不能平掉或者影响其他交易系统的持仓

 

下面为代码:麻烦老师帮忙修改,谢谢!

 

SS:=1; //手数
 
EXTGBDATASET('POSITIONAA',0);

MAA:MA(C,5);

BPK:=CROSS(H,MAA);
SPK:=CROSS(MAA ,L);

//初次开仓
IF  EXTGBDATA('POSITIONAA')=0    THEN BEGIN
     IF BPK THEN  BEGIN
         BUY(HOLDING=0,SS,MARKET);
         TBUY(1,SS,MKT);
         POSITIONAA:=1;
         EXTGBDATASET('POSITIONAA',1);
     END
    
     IF  SPK THEN  BEGIN
          BUYSHORT(HOLDING=0,SS,MARKET);
          TBUYSHORT(1,SS,MKT);
          POSITIONAA:=-1;
          EXTGBDATASET('POSITIONAA',-1);
      END
 END

//后续开仓
IF BPK AND EXTGBDATA('POSITIONAA')=-1    THEN BEGIN
   SELLSHORT(HOLDING<0,SS,MARKET);
   TSELLSHORT(1,SS,MKT);
END

 

IF BPK AND EXTGBDATA('POSITIONAA')=-1   AND TENTERBARS>=1 THEN BEGIN
   BUY(HOLDING<0,SS,MARKET);
   TBUY(1,SS,MKT);
   POSITIONAA:=1;
   EXTGBDATASET('POSITIONAA',1);
END

 

IF SPK AND EXTGBDATA('POSITIONAA')=1    THEN BEGIN
   SELL(HOLDING>0,SS,MARKET);
   TSELL(1,SS,MKT);
END

 

IF SPK AND EXTGBDATA('POSITIONAA')=1  AND TENTERBARS>=1  THEN BEGIN
   BUYSHORT(HOLDING>0,SS,MARKET);
   TBUYSHORT(1,SS,MKT);
   POSITIONAA:=-1;
   EXTGBDATASET('POSITIONAA',-1);
END

 

AA:=TENTERBARS;
BB:=TEXITBARS;

DEBUGOUT('POSITIONAA=%.0f' ,POSITIONAA) ;
DEBUGOUT('AA=%.0f' ,AA) ;
DEBUGOUT('BB=%.0f' ,BB) ;
DEBUGFILE2('D:\Debug\DEBUGFILE.TXT','POSITIONAA=%.0f' ,POSITIONAA,1) ;
DEBUGFILE2('D:\Debug\DEBUGFILE.TXT','AA=%.0f' ,AA,1) ;
DEBUGFILE2('D:\Debug\DEBUGFILE.TXT','BB=%.0f' ,BB,1) ;


 

 

2楼
eric917 发表于:2013/2/21 10:12:39

我在后台测试后,只有开仓的操作而没有平仓的操作,找不到原因

 

3楼
eric917 发表于:2013/2/21 10:39:05
都没有人帮忙看一下的吗?大侠们都去哪里了
4楼
eric917 发表于:2013/2/21 14:07:52
我提出的这个问题有这么难吗?应该很容易就能解决的啊,是没人看还是不会写
5楼
jinzhe 发表于:2013/2/21 14:13:00

系统判断不出某个单子是不是特定公式下的

6楼
just 发表于:2013/2/21 14:13:21
是否满足平仓条件?
你用debugfile调试语句输出你的平仓条件看看是否满足条件。
还有勾选一下记录下单日志 方便查找运行过程的出现的问题
7楼
eric917 发表于:2013/2/21 14:30:09

当持有仓位的时候,平多仓同时开空仓,平空仓同时会开多仓,既然符合开仓的条件,为什么不复核平仓的条件呢?

 

看日志记录,AA 和 POSITIONAA 都是会变化的,但BB一直都没有变化

8楼
eric917 发表于:2013/2/21 14:31:41

图片点击可在新窗口打开查看此主题相关图片如下:1111.jpg
图片点击可在新窗口打开查看
9楼
eric917 发表于:2013/2/21 14:36:39
以下是引用jinzhe在2013-2-21 14:13:00的发言:

系统判断不出某个单子是不是特定公式下的

什么意思呢?不太明白,能否详细说明一下

10楼
eric917 发表于:2013/2/21 14:59:54
以下是引用just在2013-2-21 14:13:21的发言:
是否满足平仓条件?
你用debugfile调试语句输出你的平仓条件看看是否满足条件。
还有勾选一下记录下单日志 方便查找运行过程的出现的问题

这样写对吗?

SS:=1; //手数
 
EXTGBDATASET('POSITIONAA',0);

MAA:MA(C,5);

BPK:=CROSS(H,MAA);
SPK:=CROSS(MAA ,L);

//初次开仓
IF  EXTGBDATA('POSITIONAA')=0    THEN BEGIN
     IF BPK THEN  BEGIN
         BUY(HOLDING=0,SS,MARKET);
         TBUY(1,SS,MKT);
         POSITIONAA:=1;
         EXTGBDATASET('POSITIONAA',1);
     END
    
     IF  SPK THEN  BEGIN
          BUYSHORT(HOLDING=0,SS,MARKET);
          TBUYSHORT(1,SS,MKT);
          POSITIONAA:=-1;
          EXTGBDATASET('POSITIONAA',-1);
      END
 END

//后续开仓
IF BPK AND EXTGBDATA('POSITIONAA')=-1    THEN BEGIN
   SELLSHORT(HOLDING<0,SS,MARKET);
   TSELLSHORT(1,SS,MKT);
   平空条件:=1;
END

IF BPK AND EXTGBDATA('POSITIONAA')=-1   AND TENTERBARS>=1 THEN BEGIN
   BUY(HOLDING<0,SS,MARKET);
   TBUY(1,SS,MKT);
   POSITIONAA:=1;
   EXTGBDATASET('POSITIONAA',1);
END

IF SPK AND EXTGBDATA('POSITIONAA')=1    THEN BEGIN
   SELL(HOLDING>0,SS,MARKET);
   TSELL(1,SS,MKT);
    平多条件:=1;
END

IF SPK AND EXTGBDATA('POSITIONAA')=1  AND TENTERBARS>=1  THEN BEGIN
   BUYSHORT(HOLDING>0,SS,MARKET);
   TBUYSHORT(1,SS,MKT);
   POSITIONAA:=-1;
   EXTGBDATASET('POSITIONAA',-1);
END

AA:=TENTERBARS;
BB:=TEXITBARS;


DEBUGOUT('POSITIONAA=%.0f' ,POSITIONAA) ;
DEBUGOUT('AA=%.0f' ,AA) ;
DEBUGOUT('BB=%.0f' ,BB) ;
DEBUGFILE2('D:\Debug\DEBUGFILE.TXT','POSITIONAA=%.0f' ,POSITIONAA,1) ;
DEBUGFILE2('D:\Debug\DEBUGFILE.TXT','AA=%.0f' ,AA,1) ;
DEBUGFILE2('D:\Debug\DEBUGFILE.TXT','BB=%.0f' ,BB,1) ;

DEBUGFILE2('D:\Debug\DEBUGFILE.TXT','平空条件=%.0f' ,平空条件,1) ;
DEBUGFILE2('D:\Debug\DEBUGFILE.TXT','平多条件=%.0f' ,平多条件,1) ;

 

 

 

共29 条记录, 每页显示 10 条, 页签: [1] [2][3]


Powered By Dvbbs Version 8.3.0
Processed in 0.01563 s, 2 queries.