设为首页收藏本站

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

求一个简单策略 [复制链接]

Rank: 1

精华
0
UID
198104
积分
8
帖子
7
主题
1
阅读权限
10
注册时间
2014-12-1
最后登录
2014-12-16
跳转到指定楼层
1#
发表于 2014-12-2 15:43:28 |只看该作者 |倒序浏览
已给出沪深300指数期货和沪深300指数现货20140521-20141120共6个月125日的日收盘数据。
设定如下交易策略(只做多策略):
开仓:如果期货今日收盘价较上个交易日收盘价上涨,则在今日以收盘价做多期货;
平仓:如果期货今日收盘价较上个交易日收盘价下跌,则以今日收盘价平掉原有多单;
以20141120日期货收盘价平掉持有仓位(如有)。
每次开仓一手。不考虑交易成本和滑点。

金融工程老师让练习的,自己尝试写了一个,但是历史测试的时候失败了,也不知道是哪个地方的问题,求大神帮忙写一下。感激不尽!!

Rank: 1

精华
0
UID
198104
积分
8
帖子
7
主题
1
阅读权限
10
注册时间
2014-12-1
最后登录
2014-12-16
2#
发表于 2014-12-2 16:03:02 |只看该作者
这是我尝试写的,请大家看一下有没有什么问题??感激不尽!!

Begin
        if (Close>Close[1])
        {
                Buy(1,Close);
        }
        if (Close[1]>Close)
        {
                Sell(0,Close);
        }
End

使用道具 举报

Rank: 2

精华
0
UID
196294
积分
92
帖子
47
主题
6
阅读权限
30
注册时间
2014-11-1
最后登录
2016-8-5
3#
发表于 2014-12-3 14:10:24 |只看该作者
close的写法必须加【1】,因为TB机制是每个tick(变动)都更新价格,所以close价是变动的,不能作为开仓判断!
您这个思路无法实现,请改条件:比如
开仓:如果期货昨日收盘价较上个交易日收盘价上涨,则在今日以开盘价做多期货;
平仓:如果期货昨日收盘价较上个交易日收盘价下跌,则以今日开盘价平掉原有多单;

使用道具 举报

Rank: 2

精华
0
UID
194546
积分
65
帖子
47
主题
13
阅读权限
30
注册时间
2014-9-29
最后登录
2017-11-16
4#
发表于 2014-12-3 15:18:13 |只看该作者
你这个策略都不完善的,比较的是两天的收盘价,收盘了当日肯定没法操作了,那第三天的价格范围内有没有第二天的收盘价了都不一定。

使用道具 举报

Rank: 1

精华
0
UID
198104
积分
8
帖子
7
主题
1
阅读权限
10
注册时间
2014-12-1
最后登录
2014-12-16
5#
发表于 2014-12-5 20:03:06 |只看该作者
LEXUSNX200T 发表于 2014-12-3 14:10
close的写法必须加【1】,因为TB机制是每个tick(变动)都更新价格,所以close价是变动的,不能作为开仓判 ...

那按您的条件应该怎么写呢?求指教,我真的是刚接触这个东西。
谢谢咯
没能及时回复,还请见谅

使用道具 举报

Rank: 1

精华
0
UID
198104
积分
8
帖子
7
主题
1
阅读权限
10
注册时间
2014-12-1
最后登录
2014-12-16
6#
发表于 2014-12-5 20:04:38 |只看该作者
haoliangbohai 发表于 2014-12-3 15:18
你这个策略都不完善的,比较的是两天的收盘价,收盘了当日肯定没法操作了,那第三天的价格范围内有没有第二 ...

这个策略就是老师给的。。。没办法呀。。可能他只是想让我们练一下操作吧。
要是将错就错,怎么写呢?

使用道具 举报

Rank: 2

精华
0
UID
196294
积分
92
帖子
47
主题
6
阅读权限
30
注册时间
2014-11-1
最后登录
2016-8-5
7#
发表于 2014-12-5 23:09:12 |只看该作者
本帖最后由 LEXUSNX200T 于 2014-12-6 10:02 编辑
Angel1ove 发表于 2014-12-5 20:03
那按您的条件应该怎么写呢?求指教,我真的是刚接触这个东西。
谢谢咯
没能及时回复,还请见谅 ...


开仓:如果期货昨日收盘价较上个交易日收盘价上涨,则在今日以开盘价做多期货;
平仓:如果期货昨日收盘价较上个交易日收盘价下跌,则以今日开盘价平掉原有多单;
因为您老师的要求,在TB上是无法正确实现的。


     if(close[1]>close[2] )
        {
            Buy(1, Open);
         }
     if(close[1]<close[2])
         {
           Sell(0,Open) ;
         }
    }

使用道具 举报

Rank: 1

精华
0
UID
198104
积分
8
帖子
7
主题
1
阅读权限
10
注册时间
2014-12-1
最后登录
2014-12-16
8#
发表于 2014-12-6 10:48:08 |只看该作者
LEXUSNX200T 发表于 2014-12-5 23:09
开仓:如果期货昨日收盘价较上个交易日收盘价上涨,则在今日以开盘价做多期货;
平仓:如果期货昨日收盘 ...

1、我把这个复制过去,在你写的第一行发生了c0010的错误,(无法识别的字符串)。
2、我按照我最初写的那个(在2L)去做历史测试,也能得出一个测试报告,能不能就按照这个报告去作文。尽管老师给的策略本身就是错误的。。。。换句话说,就是我写的程序跟老师给的策略是不是相一致的?
再次感谢!!

使用道具 举报

Rank: 2

精华
0
UID
196294
积分
92
帖子
47
主题
6
阅读权限
30
注册时间
2014-11-1
最后登录
2016-8-5
9#
发表于 2014-12-6 15:31:17 |只看该作者
Angel1ove 发表于 2014-12-6 10:48
1、我把这个复制过去,在你写的第一行发生了c0010的错误,(无法识别的字符串)。
2、我按照我最初写的那 ...

小括号的问题
我重写了下 可直接复制过去
          
  if(close[1]>close[2] )
        {
            Buy(1, Open);
         }
     if(close[1]<close[2])
         {
           Sell(0,Open) ;
         }
    }
您老师的给的写法 只能用于历史测试,不能用来跑盘。

使用道具 举报

Rank: 1

精华
0
UID
198104
积分
8
帖子
7
主题
1
阅读权限
10
注册时间
2014-12-1
最后登录
2014-12-16
10#
发表于 2014-12-7 00:59:48 |只看该作者
LEXUSNX200T 发表于 2014-12-6 15:31
小括号的问题
我重写了下 可直接复制过去
          

在做历史测试的时候,怎么把交易成本去除啊,要求是不考虑交易成本的

使用道具 举报

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

bottom

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

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

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部