设为首页收藏本站

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

nopain版主您好,请教一个您编写30分钟日内突破系统的问题? [复制链接]

Rank: 3Rank: 3

精华
0
UID
3452
积分
163
帖子
31
主题
7
阅读权限
40
注册时间
2009-2-7
最后登录
2012-8-16
跳转到指定楼层
1#
发表于 2009-2-16 13:53:19 |只看该作者 |倒序浏览
我是初学者,能否解释一下代码的含义吗?另外我在测试时发生在突破时频繁开仓的问题,如何解决?

一个30分钟突破的日内系统

基本思想来源于《完美日内交易商II》-  (作 者: (美)杰克.伯恩斯坦)中描述,做了部分调整及修改。
30分钟可以通过参数进行调整。。
代码如下:

Params
        Numeric nMins(30);                // N分钟的突破
    Numeric nOffset(3);                // 突破式的价格偏移
Vars
        NumericSeries HighestOf30Min;
    NumericSeries lowestOf30Min;
    Numeric myPrice;
    Numeric MinPoint;
    Numeric lots(1);
Begin
        MinPoint = MinMove*PriceScale;
        If(Date <> Date[1])
        {
                HighestOf30Min = High;
                lowestOf30Min = Low;
        }Else If(Time < 0.0900+nMins*0.0001)
        {
                HighestOf30Min = max(high,HighestOf30Min[1]);
                lowestOf30Min = min(Low,lowestOf30Min[1]);
        }Else
        {
                HighestOf30Min = HighestOf30Min[1];
                lowestOf30Min = lowestOf30Min[1];
        }
        
        If(High >= HighestOf30Min + nOffset*MinPoint && MarketPosition != 1)
        {
                myPrice = HighestOf30Min + nOffset*MinPoint;
                If(Open > myPrice) myPrice = Open;
                Buy(lots,myPrice);
        }

        If(Low <= lowestOf30Min - nOffset*MinPoint && MarketPosition != -1)
        {
                myPrice = lowestOf30Min - nOffset*MinPoint;
                If(Open < myPrice) myPrice = Open;
                SellShort(lots,myPrice);
        }

        If(Time >= 0.1459)
        {
                Sell(lots,Open);
                BuyToCover(lots,Open);
        }
End

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
2#
发表于 2009-2-16 14:58:03 |只看该作者
不知道您说的频繁开仓是什么样的,应该是不会重复开仓的。

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
3452
积分
163
帖子
31
主题
7
阅读权限
40
注册时间
2009-2-7
最后登录
2012-8-16
3#
发表于 2009-2-16 15:56:16 |只看该作者

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
4#
发表于 2009-2-16 16:26:15 |只看该作者
贴个图看看。

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
3452
积分
163
帖子
31
主题
7
阅读权限
40
注册时间
2009-2-7
最后登录
2012-8-16
5#
发表于 2009-2-16 21:13:13 |只看该作者
我把下面语句:

If(High >= HighestOf30Min + nOffset*MinPoint && MarketPosition != 1)
If(Low <= lowestOf30Min - nOffset*MinPoint && MarketPosition != -1)

改成:

If(close >= HighestOf30Min + nOffset*MinPoint && MarketPosition != 1)
If(close <= lowestOf30Min - nOffset*MinPoint && MarketPosition != -1)

所以在同一个价位频繁开仓

错在哪里?

nopain老师您能否帮我写一个系统,交易想法如下:
1.收盘价大于上一颗k线最高价后,下一颗k线开盘价买入,如果回调k线高低点一半下方止损。
2.收盘价小于上一颗k线最低价后,下一颗k线开盘价卖出,如果反弹k线高低点一半上方止损。

我不会贴图教教我,谢谢

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
3452
积分
163
帖子
31
主题
7
阅读权限
40
注册时间
2009-2-7
最后登录
2012-8-16
6#
发表于 2009-2-16 21:31:34 |只看该作者
做交易难,做日内交易更难,实现完善的自动化交易难上加难;
希望能向nopain老师多多学习,提高交易水平。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
7#
发表于 2009-2-17 09:47:16 |只看该作者
因为是使用了CLOSE,所以会产生易消失的信号,才有了反复开仓的情况.

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
3452
积分
163
帖子
31
主题
7
阅读权限
40
注册时间
2009-2-7
最后登录
2012-8-16
8#
发表于 2009-2-17 09:52:43 |只看该作者
你好小米版主!

使用道具 举报

Rank: 4

精华
0
UID
3136
积分
331
帖子
61
主题
11
阅读权限
50
注册时间
2008-12-23
最后登录
2013-10-13
9#
发表于 2009-2-17 15:52:18 |只看该作者
楼主的程序是在什么周期下的?

还有你的程序在开完第一次仓后就一定要到2点59分平仓了,如果碰到假突破的行情在止损这块还不够灵活吧 ?

说说看你这个日内交易系统的思想吧

我的理解是取30分钟的最高点 最低点后,如果后面突破最高点3个价位买开 要是成交了 后面就等2点59分平仓了 中间也不会涉及到止损啊 反手啊等等, 同理做空的话下破30分钟最低点 就开空了当天收盘前不会有任何动作,就等收盘平仓是不是?

使用道具 举报

Rank: 4

精华
0
UID
3136
积分
331
帖子
61
主题
11
阅读权限
50
注册时间
2008-12-23
最后登录
2013-10-13
10#
发表于 2009-2-17 15:53:38 |只看该作者
我QQ :11907545 希望和广大TB编程的朋友一起学习 交流 进步

使用道具 举报

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

bottom

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

GMT+8, 2024-5-7 16:14

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部