欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 过滤连续信号的问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4065人关注过本帖树形打印复制链接

主题:过滤连续信号的问题

帅哥哟,离线,有人找我吗?
xlxl
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:62 积分:0 威望:0 精华:0 注册:2017/8/8 15:35:19
  发帖心情 Post By:2018/12/25 14:28:59    Post IP:124.239.252.39[只看该作者]

持仓 容易被其他策略的持仓混淆,TBUYHOLDINGEX无法识别哪个策略的买入

用虚拟持仓HOLDING,DAYHOLDING好像也不行

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/12/25 14:33:36    Post IP:180.169.30.6[只看该作者]

 那个虚拟持仓是图表的,不能用在后台的。用这个试试呢?TTYPE( ) 这个可以读取上次交易信号的情况,然后做判断。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
xlxl
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:62 积分:0 威望:0 精华:0 注册:2017/8/8 15:35:19
  发帖心情 Post By:2018/12/25 14:42:10    Post IP:124.239.252.39[只看该作者]

谢谢,我来试试

 回到顶部
帅哥哟,离线,有人找我吗?
xlxl
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:62 积分:0 威望:0 精华:0 注册:2017/8/8 15:35:19
  发帖心情 Post By:2018/12/25 16:08:37    Post IP:124.239.252.35[只看该作者]

更改后的交易系统

 

ZH1:='';
PZ1:='SH510500';

 
//条件判断
DIFF := EMA(CLOSE,10) - EMA(CLOSE,30);
DEA  := EMA(DIFF,9);
MACD1 := 2*(DIFF-DEA);

CONDBUY:= MACD1>0;
CONDSELL:=  MACD1<0;

//控制日内交易次数
//IF TTOTALDAYTRADE>=2 THEN EXIT;
 

//LASTBUY:= TENTERBARS(0)>0 AND (  TEXITBARS(0)<0   OR (TENTERBARS(0)<TEXITBARS(0)) )  ;
//LASTSELL:=TEXITBARS(0)>0  AND   (TEXITBARS(0)<TENTERBARS(0)  )  ;

//LASTBUY:= HOLDING>0;
//LASTSELL:= HOLDING<=0 AND TODAYHOLDING<=0  ;
LASTBUY:= TTYPE(1)=1 ;
LASTSELL:= TTYPE(1) =2 OR TTYPE(1)=0;//无信号是最开始?

a:=TBUYHOLDINGEX(ZH1 ,PZ1 ,2 );
DEBUGOUT('持仓=%.0f',a);
DEBUGOUT('TODAYHOLDING=%.0f',TODAYHOLDING);
DEBUGOUT('HOLDING=%.0f',HOLDING);
DEBUGOUT('TTYPE(1)=%.0f',TTYPE(1));
DEBUGOUT('TEXITBARS=%.0f',TEXITBARS(1));

DEBUGOUT('LASTBUY=%.0f',LASTBUY );
DEBUGOUT('LASTSELL=%.0f', LASTSELL);


DEBUGFILE('C:\金字塔测试\test2.txt','持仓=%.0f',a);
//DEBUGFILE('C:\金字塔测试\test2.txt','TODAYHOLDING=%.0f',TODAYHOLDING);
//DEBUGFILE('C:\金字塔测试\test2.txt','HOLDING=%.0f',HOLDING);
DEBUGFILE('C:\金字塔测试\test2.txt','TTYPE(1)=%.0f',TTYPE(1));
DEBUGFILE('C:\金字塔测试\test2.txt','TENTERBARS=%.0f',TENTERBARS(0));
DEBUGFILE('C:\金字塔测试\test2.txt','TEXITBARS=%.0f',TEXITBARS(0));

DEBUGFILE('C:\金字塔测试\test2.txt','LASTBUY=%.0f',LASTBUY );
DEBUGFILE('C:\金字塔测试\test2.txt','LASTSELL=%.0f', LASTSELL);


//如果上次不是买入

TBUY(CONDBUY AND  LASTSELL ,10000,MKT,0,0,ZH1,PZ1 );
//BUY(CONDBUY AND not(LASTBUY) ,10000,MKT)

//如果上次不是卖出

TSELL(CONDSELL AND LASTBUY ,10000,MKT,0,0,ZH1,PZ1);
//SELL(CONDSELL AND not(LASTSELL) ,10000,MKT)

 

结果全是买入,没有卖出,不知道哪里有问题,

debugfile: 显然持仓在增加,但是不论TENTERBARS 还是TTYPE(1)都没显示买进信号

2018-12-25 16:01:04.571    持仓=0
2018-12-25 16:01:04.574    TTYPE(1)=0
2018-12-25 16:01:04.577    TENTERBARS=-1
2018-12-25 16:01:04.580    TEXITBARS=-1
2018-12-25 16:01:04.583    LASTBUY=0
2018-12-25 16:01:04.586    LASTSELL=1
2018-12-25 16:01:04.814    持仓=10000
2018-12-25 16:01:04.816    TTYPE(1)=0
2018-12-25 16:01:04.818    TENTERBARS=-1
2018-12-25 16:01:04.821    TEXITBARS=-1
2018-12-25 16:01:04.824    LASTBUY=0
2018-12-25 16:01:04.826    LASTSELL=1
2018-12-25 16:01:04.831    持仓=20000
2018-12-25 16:01:04.834    TTYPE(1)=0
2018-12-25 16:01:04.836    TENTERBARS=-1
2018-12-25 16:01:04.838    TEXITBARS=-1
2018-12-25 16:01:04.841    LASTBUY=0
2018-12-25 16:01:04.843    LASTSELL=1
2018-12-25 16:01:04.848    持仓=30000
2018-12-25 16:01:04.850    TTYPE(1)=0
2018-12-25 16:01:04.853    TENTERBARS=-1
2018-12-25 16:01:04.856    TEXITBARS=-1
2018-12-25 16:01:04.858    LASTBUY=0
2018-12-25 16:01:04.861    LASTSELL=1
2018-12-25 16:01:04.865    持仓=40000
2018-12-25 16:01:04.868    TTYPE(1)=0
2018-12-25 16:01:04.872    TENTERBARS=-1
2018-12-25 16:01:04.877    TEXITBARS=-1
2018-12-25 16:01:04.880    LASTBUY=0
2018-12-25 16:01:04.882    LASTSELL=1
2018-12-25 16:01:04.890    持仓=50000
2018-12-25 16:01:04.892    TTYPE(1)=0

 


 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/12/25 16:31:32    Post IP:180.169.30.6[只看该作者]

 抱歉弄错了,TTYPE也是依赖实际下单记录的。在回测里面也不行。

或许可以这样子。

ZH1:='';
PZ1:='SH510500';
DIFF := EMA(CLOSE,10) - EMA(CLOSE,30);
DEA  := EMA(DIFF,9);
MACD1 := 2*(DIFF-DEA);
CONDBUY:=cross(MACD1,0);
CONDSELL:=cross(0,MACD1);

TBUY(CONDBUY,10000,MKT,0,0,ZH1,PZ1 );
TSELL(CONDSELL,10000,MKT,0,0,ZH1,PZ1);

最后大致是这样的效果。

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看




命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
xlxl
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:62 积分:0 威望:0 精华:0 注册:2017/8/8 15:35:19
  发帖心情 Post By:2018/12/25 16:38:20    Post IP:124.239.252.33[只看该作者]

谢谢,

这两行只是为了模拟连续买入卖出信号的,实际策略要复杂的多,无法用简单技术指标来滤过后来的信号

 

CONDBUY:= MACD1>0;
CONDSELL:=  MACD1<0;


 回到顶部
帅哥哟,离线,有人找我吗?
xlxl
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:62 积分:0 威望:0 精华:0 注册:2017/8/8 15:35:19
  发帖心情 Post By:2018/12/25 16:39:56    Post IP:124.239.252.39[只看该作者]

主要是我们要监测一个品种,买卖的是另一个品种,所以无法用图表测评来回测,

 回到顶部
帅哥哟,离线,有人找我吗?
xlxl
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:62 积分:0 威望:0 精华:0 注册:2017/8/8 15:35:19
  发帖心情 Post By:2018/12/25 17:16:06    Post IP:124.239.252.35[只看该作者]

那请问 后台交易回测 有没有类似 TFILTER的函数之类的?

 回到顶部
帅哥哟,离线,有人找我吗?
xlxl
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:62 积分:0 威望:0 精华:0 注册:2017/8/8 15:35:19
  发帖心情 Post By:2018/12/25 17:17:06    Post IP:124.239.252.36[只看该作者]

那请问 后台交易回测 有没有类似 TFILTER的函数之类的?

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/12/25 17:23:49    Post IP:180.169.30.6[只看该作者]

 这个没有。你或许可以通过上次开平仓条件的位置来尝试处理下。一般是 用BARSLAST来获取上次某个条件触发的位置。


命数如织,当如磐石。
 回到顶部
总数 22 上一页 1 2 3 下一页