设为首页收藏本站

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

这个模型烦老师们给休改一下 [复制链接]

Rank: 2

精华
0
UID
1086
积分
77
帖子
7
主题
3
阅读权限
30
注册时间
2008-1-18
最后登录
2008-9-1
跳转到指定楼层
1#
发表于 2008-1-21 10:24:49 |只看该作者 |倒序浏览
Params
        Numeric length(50);
        Numeric windots(50);
Vars
        Numeric minmoveprice;
       
       
Begin
        minmoveprice=MinMove*PriceScale;
                If(MarketPosition==0)
        {
                If(CrossOver(close,AverageFC(close,length)))
                        buy;
                Else If(CrossUnder(close,AverageFC(close,length)))
                        SellShort;
        }
        Else If(MarketPosition==1)
        {       
                If(Close>(AvgEntryPrice()+minmoveprice*windots));
                        SellShort;
        }
        Else If(MarketPosition==-1)
        {
                If(Close<(AvgEntryPrice()-MinMoveprice*windots));
                        Buy;
        }
       
End
这个模型理念是上破50日均线开多仓,50点止赢,下破均线开空仓50点止赢,多仓开完后只开空仓,空仓开完后只开多仓。
还没写止损条件,不知哪里编错了,和图上的开仓时间不一样,烦老师们给改改。

Rank: 10Rank: 10Rank: 10

精华
11
UID
1
积分
25127
帖子
6291
主题
149
阅读权限
255
注册时间
2007-7-20
最后登录
2024-4-22
2#
发表于 2008-1-21 12:49:35 |只看该作者
上面的代码主要错误在If语句后面加了分号。
除了这个之外,还会出现信号消失的问题,下面是修改后的代码
  1. Params
  2.         Numeric length(50);
  3.     Numeric windots(50);
  4. Vars
  5.         NumericSeries MAValue;
  6.         Numeric minmoveprice;
  7.         Numeric myPrice;
  8.         Numeric Lots(1);
  9. Begin
  10.         minmoveprice=MinMove*PriceScale;
  11.     MAValue = AverageFC(Close,length);
  12.        
  13.         If(MarketPosition == 0)
  14.     {
  15.                 If(CrossOver(Close,MAValue))
  16.                 {
  17.                         buy(lots,NextOpen,True);
  18.                 }
  19.                
  20.                 If(CrossUnder(Close,MAValue))
  21.                 {
  22.                         SellShort(lots,NextOpen,True);
  23.                 }
  24.         }Else If(MarketPosition==1)
  25.         {
  26.                 If(High > (AvgEntryPrice() + minmoveprice*windots))
  27.                 {
  28.                         myPrice = AvgEntryPrice + minmoveprice*windots;       
  29.                         SellShort(lots,myPrice);
  30.                 }
  31.         }Else If(MarketPosition==-1)
  32.         {
  33.                 If(Low < (AvgEntryPrice()-MinMoveprice*windots))
  34.                 {
  35.                         myPrice = AvgEntryPrice - MinMovePrice*WinDots;
  36.                         Buy(lots,myPrice);
  37.                 }
  38.         }
  39. End
复制代码
交易开拓者 - 期货程序化与量化系统自动交易领航者

网站已支持在线开通模拟账户功能

使用道具 举报

Rank: 2

精华
0
UID
1086
积分
77
帖子
7
主题
3
阅读权限
30
注册时间
2008-1-18
最后登录
2008-9-1
3#
发表于 2008-1-21 13:13:29 |只看该作者
我引用了一下,我把止赢设为2,怎么图上乱七八糟啊!用1分线

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
1
UID
387
积分
2724
帖子
167
主题
33
阅读权限
80
注册时间
2007-9-21
最后登录
2020-2-24
4#
发表于 2008-1-21 23:25:41 |只看该作者
原帖由 zhangkai008 于 2008-1-21 13:13 发表
我引用了一下,我把止赢设为2,怎么图上乱七八糟啊!用1分线



tradeblazer 的回复是按你在1#的交易思想编写的.

你把止赢设为2是指?
程序在什么品种上用?

使用道具 举报

Rank: 2

精华
0
UID
1086
积分
77
帖子
7
主题
3
阅读权限
30
注册时间
2008-1-18
最后登录
2008-9-1
5#
发表于 2008-1-22 12:07:52 |只看该作者
是我编写的。
还有问题。
我想设置10:00,11:25,14:05,14:55无论持有多空仓,自动平仓。怎么写啊?

使用道具 举报

Rank: 2

精华
0
UID
1086
积分
77
帖子
7
主题
3
阅读权限
30
注册时间
2008-1-18
最后登录
2008-9-1
6#
发表于 2008-1-22 15:15:30 |只看该作者
把我的贴子顶起来,盼忘老师给解答

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
11
UID
1
积分
25127
帖子
6291
主题
149
阅读权限
255
注册时间
2007-7-20
最后登录
2024-4-22
7#
发表于 2008-1-22 15:49:30 |只看该作者
注意,以下代码只在1分钟或5分钟有效。
  1. If(Time == 0.1000 || Time == 0.1125 || Time == 0.1405 || Time == 0.1455)
  2. {
  3.     Sell;
  4.     BuyToCover;
  5. }
复制代码
交易开拓者 - 期货程序化与量化系统自动交易领航者

网站已支持在线开通模拟账户功能

使用道具 举报

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

bottom

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

GMT+8, 2024-5-3 18:54

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部