设为首页收藏本站

 找回密码
 注册
楼主: 柳长街
打印 上一主题 下一主题

请大侠帮忙改写一个自动交易系统 [复制链接]

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
11#
发表于 2007-10-11 11:36:20 |只看该作者
原帖由 柳长街 于 2007-10-11 11:23 发表
测试了下,成交到是非常迅速。可能是我表达的不够完整,我的意思单子应该是在收盘的时候下单,比如15分钟,应该在9.15 9.30 9.45等收盘时间下单,还有一个问题是开的空单,向上穿越牙齿后立马平了空单,开了多单,这个执行的很好,可 ...


这样就复杂很多啦。等我考虑考虑先~

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
1
UID
387
积分
2724
帖子
167
主题
33
阅读权限
80
注册时间
2007-9-21
最后登录
2020-2-24
12#
发表于 2007-10-13 21:26:51 |只看该作者

这样加入止损可以吗?

Vars
    NumericSeries MyPrice;
    NumericSeries MidPrice;        // 定义变量用于保存高低价的平均值。
    NumericSeries Value1;
    NumericSeries Value2;
Begin
    MidPrice = (High + Low)/2;
    Value1 = WAverage(MidPrice,8);
    Value2 = Value1[5];
        If(CrossOver(Close,Value2))
    {
        Buy(1,Close);
                MyPrice=Close;
    }

    If(CrossUnder(Close,Value2))
    {
        SellShort(1,Close);
                MyPrice=Close;
    }
         
        If(Permutation==1&&Myprice-Close>60)
        {  Sell(1,close) ;}
       
         If(Permutation==-1&&Close-Myprice>60)
        {  BuyToCover(1,close) ;}   
End
已有 1 人评分威望 收起 理由
柳长街 + 828 谢谢大侠的帮助,开盘后我检验一下 ...

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

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
1
UID
387
积分
2724
帖子
167
主题
33
阅读权限
80
注册时间
2007-9-21
最后登录
2020-2-24
13#
发表于 2007-10-15 23:05:12 |只看该作者
原帖由 柳长街 于 2007-10-11 11:23 发表
测试了下,成交到是非常迅速。可能是我表达的不够完整,我的意思单子应该是在收盘的时候下单,比如15分钟,应该在9.15 9.30 9.45等收盘时间下单,还有一个问题是开的空单,向上穿越牙齿后立马平了空单,开了多单,这个执行的很好,可 ...

1.加入MarketPosition!=1和MarketPosition!=-1后,
Vars
    NumericSeries MyPrice;
    NumericSeries MidPrice;        // 定义变量用于保存高低价的平均值。
    NumericSeries Value1;
    NumericSeries Value2;
Begin
    MidPrice = (High + Low)/2;
    Value1 = WAverage(MidPrice,8);
    Value2 = Value1[5];

    If(MarketPosition!=1)
     {   If(CrossOver(Close,Value2))
              {Buy(1,Close);
                MyPrice=Close;}
     }

    If(MarketPosition!=-1)
    {    If(CrossUnder(Close,Value2))
         {SellShort(1,Close);
                MyPrice=Close; }
    }
  可以平单,但买卖信号反复出现,原来只设置一手合约,结果有好几手合约在帐号中.
 
 如有合约在手,必须先平合合约,后再开仓,该如何设置?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
14#
发表于 2007-10-16 07:46:58 |只看该作者
交易设置里面,不能连续开仓

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
1
UID
165
积分
55357
帖子
83
主题
11
阅读权限
200
注册时间
2007-8-22
最后登录
2011-2-11
15#
发表于 2007-10-16 11:32:12 |只看该作者
这些信号是不该有的,因为我们设置的是穿越牙齿也就是红线才产生信号的,谢谢
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
0
UID
397
积分
4818
帖子
87
主题
13
阅读权限
80
注册时间
2007-9-22
最后登录
2021-6-8
16#
发表于 2007-10-16 15:28:15 |只看该作者
原帖由 柳长街 于 2007-10-11 11:23 发表
测试了下,成交到是非常迅速。可能是我表达的不够完整,我的意思单子应该是在收盘的时候下单,比如15分钟,应该在9.15 9.30 9.45等收盘时间下单,还有一个问题是开的空单,向上穿越牙齿后立马平了空单,开了多单,这个执行的很好,可 ...



Vars
        NumericSeries MidPrice;   // 定义变量用于保存高低价的平均值。
        NumericSeries myEntryPrice;     // 用来保存中间变量
Begin
        MidPrice = (High + Low)/2;

        myEntryPrice = Average(MidPrice[1],8);

        
        If(CrossOver(high, myEntryPrice[5] ))
        {
                myEntryPrice = IIF(myEntryPrice[5] < Open, Open,myEntryPrice[5]);  
                buy(1, myEntryPrice[5] );
        }

        If(CrossUnder(low, myEntryPrice[5]  ))
        {
                myEntryPrice = IIF(myEntryPrice[5] > Open, Open,myEntryPrice[5]);
                SellShort(1, myEntryPrice[5] );
        }
End

[ 本帖最后由 ilian 于 2007-10-16 15:30 编辑 ]
已有 1 人评分威望 收起 理由
柳长街 + 828 谢谢您的指点,辛苦了

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

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
1
UID
165
积分
55357
帖子
83
主题
11
阅读权限
200
注册时间
2007-8-22
最后登录
2011-2-11
17#
发表于 2007-10-16 15:42:16 |只看该作者
原帖由 ilian 于 2007-10-16 15:28 发表



Vars
        NumericSeries MidPrice;   // 定义变量用于保存高低价的平均值。
        NumericSeries myEntryPrice;     // 用来保存中间变量
Begin
        MidPrice = (High + Low)/2;

        myEntryPric ...



谢谢,有很多信号不对啊,要求股价穿越牙齿也就是红线发出信号
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
0
UID
397
积分
4818
帖子
87
主题
13
阅读权限
80
注册时间
2007-9-22
最后登录
2021-6-8
18#
发表于 2007-10-16 19:21:32 |只看该作者
原帖由 柳长街 于 2007-10-16 15:42 发表



谢谢,有很多信号不对啊,要求股价穿越牙齿也就是红线发出信号


修改了个版本,这个会精确啦 :
Vars
        NumericSeries MidPrice;   // 定义变量用于保存高低价的平均值。
        NumericSeries AvePrice;     // 用来保存中间变量
                NumericSeries EnterPoint;
                Numeric myEntryPrice ;
               
Begin
    // IF (Currentbar>9)
         //{
            MidPrice = (High[1] + Low[1])/2;

            AvePrice = Average(MidPrice,8);
     
        
             EnterPoint=AvePrice[5];
                 Commentary("触发价:"+Text(EnterPoint));
                If(CrossOver(high, EnterPoint ))
        {
                myEntryPrice = IIF(EnterPoint < Open, Open,EnterPoint);  
                buy(1, myEntryPrice);
        }

        If(CrossUnder(low, EnterPoint ))
        {
                myEntryPrice = IIF(EnterPoint > Open, Open,EnterPoint);
                SellShort(1, myEntryPrice);
        }
                //}
End

[ 本帖最后由 ilian 于 2007-10-16 19:31 编辑 ]
已有 1 人评分威望 收起 理由
柳长街 + 828 这个就好很多了,不过我看是穿越黄线发出信号 ...

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

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
20
积分
810
帖子
153
主题
19
阅读权限
60
注册时间
2007-7-22
最后登录
2013-7-9
19#
发表于 2007-10-16 20:34:46 |只看该作者
原帖由 nopain 于 2007-10-10 17:01 发表
偶也没有搞明白这家伙什么时候这么有钱!威望,积分都比俺高~


我也不明白,这些积分有什么用,如果有用的话还可以考虑考虑多挣点.
天生我才必有用
不拘一格交英才

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
1
UID
165
积分
55357
帖子
83
主题
11
阅读权限
200
注册时间
2007-8-22
最后登录
2011-2-11
20#
发表于 2007-10-16 22:20:39 |只看该作者
原帖由 轮回 于 2007-10-16 20:34 发表


我也不明白,这些积分有什么用,如果有用的话还可以考虑考虑多挣点.


呵呵,是没有什么用,不过推广出去了知道tb的人多了,高人就多了,象我没有文化的人就有老师可以请教了

使用道具 举报

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

bottom

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

GMT+8, 2024-5-6 06:00

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部