设为首页收藏本站

 找回密码
 注册
查看: 24464|回复: 42
打印 上一主题 下一主题

发个套利系统 [复制链接]

Rank: 4

精华
0
UID
112550
积分
263
帖子
89
主题
14
阅读权限
50
注册时间
2012-9-17
最后登录
2022-1-19
跳转到指定楼层
1#
发表于 2012-10-7 20:11:00 |只看该作者 |倒序浏览
本帖最后由 ST振翔 于 2012-10-7 20:11 编辑

第一次发帖,前几天洗澡的时候想出来的一个套利系统,测试效果还不错。
原理:价差值小于或大于规定期限内的最低或最高值时,进场进行套利交易。

PTA和RU15分钟指数数据测试结果


代码:
Params
        Numeric Length1(35);
        Numeric Length2(75);
Vars
        NumericSeries Spread;
        NumericSeries High1;  
        NumericSeries High2;
        NumericSeries Low1;
        NumericSeries Low2;
        Numeric Signlogo(0);       
        Numeric Lots(1);

       
Begin
    If(Data0.Close[1]!=InvalidNumeric&&Data1.Close[1]!=InvalidNumeric)
    {
        Spread=Data0.Close[1]-Data1.Close[1]; // 定义价差                                               
    }
      High1=Highest(Spread[1],Length1);
          High2=Highest(Spread[1],Length2);
          Low1=Lowest(Spread[1],Length1);  
          Low2=Lowest(Spread[1],Length2);  
        PlotNumeric("Spread",Spread);
        PlotNumeric("High1",High1);
        PlotNumeric("Low1",Low1);


       
       
        If(Spread[1]<Low1[1] && Spread>Low1)
        {
          Data1.Buy(Lots,Open);
          Data0.SellShort(Lots,Open);
          Signlogo = 1;
        }
    If(Spread[1]>High1[1] && Spread<High1)       
        {
          Data0.Buy(Lots,Open);
          Data1.SellShort(Lots,Open);
          Signlogo = -1;
        }
       
        If(Signlogo == 1 && Spread>High2 )
        {
          Data1.SellShort(0,Open);
          Data0.BuyToCover(0,Open);
        }
        If(Signlogo == -1 && Spread<Low2)
        {
          Data0.SellShort(0,Open);
          Data1.BuyToCover(0,Open);
        }
          
End
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
已有 1 人评分威望 收起 理由
yhp2012 + 4 很给力!

总评分: 威望 + 4   查看全部评分

Rank: 3Rank: 3

精华
0
UID
1318
积分
120
帖子
44
主题
1
阅读权限
40
注册时间
2008-3-13
最后登录
2019-3-31
2#
发表于 2012-10-8 09:33:54 |只看该作者
沙发,不错 谢谢分享

使用道具 举报

Rank: 2

精华
0
UID
39739
积分
75
帖子
22
主题
8
阅读权限
30
注册时间
2011-5-14
最后登录
2018-11-13
3#
发表于 2012-10-9 00:26:52 |只看该作者
你对spread加上滤波器,高通,会发现回撤更小,资金曲线更漂亮。不过实际操作中滑点和手续费能吃掉所有利润吧。还有非主力合约,能成交吗?万一瘸了一条腿就麻烦了。

使用道具 举报

Rank: 4

精华
0
UID
112550
积分
263
帖子
89
主题
14
阅读权限
50
注册时间
2012-9-17
最后登录
2022-1-19
4#
发表于 2012-10-9 19:02:45 |只看该作者
tigerpan 发表于 2012-10-9 00:26
你对spread加上滤波器,高通,会发现回撤更小,资金曲线更漂亮。不过实际操作中滑点和手续费能吃掉所有利润 ...

谢谢指教。
滤波器?高通?怎么加啊?

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
109920
积分
166
帖子
135
主题
1
阅读权限
40
注册时间
2012-4-10
最后登录
2013-5-14
5#
发表于 2012-10-9 19:10:09 |只看该作者
套利不懂

使用道具 举报

Rank: 2

精华
0
UID
39739
积分
75
帖子
22
主题
8
阅读权限
30
注册时间
2011-5-14
最后登录
2018-11-13
6#
发表于 2012-10-9 22:36:00 |只看该作者
ST振翔 发表于 2012-10-9 19:02
谢谢指教。
滤波器?高通?怎么加啊?

指教谈不上,大家讨论:)
我是用matlab做的,在matlab里面,把spread当做输入,加filter模块,然后滤掉低频的信号,得到的结果更可靠。如果要实际使用,可以把matlab里面写好的代码发布成c,然后再调用。不过不知道tb能不能调用dll。而且这样做很可能会过渡优化,需要谨慎

使用道具 举报

Rank: 4

精华
0
UID
112550
积分
263
帖子
89
主题
14
阅读权限
50
注册时间
2012-9-17
最后登录
2022-1-19
7#
发表于 2012-10-9 23:22:19 |只看该作者
tigerpan 发表于 2012-10-9 22:36
指教谈不上,大家讨论:)
我是用matlab做的,在matlab里面,把spread当做输入,加filter模块,然后滤掉 ...

TB不如MT4,调用不了DLL。今晚改代码的时候,还出了问题,前几天写的公式全部消失了。
matlab也没接触过,你说的FILTER模块的这种滤波功能原理是什么?不知在TB里面能否实现呢。

使用道具 举报

Rank: 2

精华
0
UID
21061
积分
89
帖子
54
主题
17
阅读权限
30
注册时间
2010-12-7
最后登录
2014-3-11
8#
发表于 2012-10-16 12:53:45 |只看该作者
楼主代码有误,你是做震荡策略吧?进场方向正好相反。

使用道具 举报

Rank: 2

精华
0
UID
21061
积分
89
帖子
54
主题
17
阅读权限
30
注册时间
2010-12-7
最后登录
2014-3-11
9#
发表于 2012-10-16 13:02:23 |只看该作者
测试的时间范围?手续费的设置?滑点的设置?

使用道具 举报

Rank: 2

精华
0
UID
21061
积分
89
帖子
54
主题
17
阅读权限
30
注册时间
2010-12-7
最后登录
2014-3-11
10#
发表于 2012-10-16 13:05:43 |只看该作者
楼主能否说一下进场的原理啊!你的代码是正确的,但是我不太理解你出场方式。你的进场方式趋势类的,出场方式感觉很奇怪?楼主能否解释一下?

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-3 16:07

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部