设为首页收藏本站

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

[求助] 请帮助编一个交易模型 [复制链接]

Rank: 2

精华
1
UID
1108
积分
110
帖子
11
主题
2
阅读权限
30
注册时间
2008-1-23
最后登录
2015-3-17
跳转到指定楼层
1#
发表于 2008-4-7 20:51:00 |只看该作者 |倒序浏览
[求助] 请帮助编一个交易模型

各位论坛的老师或者高手,我在<高级技术分析>上看到一个交易模型,请帮助编成TB公式.模型如下:

      昨天的最高价高于过去130天的最高价或者最低价低于过去130天的最低价.在此条件下,按下列步骤进行:

      1.等待至今天收盘;

      2.测量过去20个交易日最高价与最低价之间的差值;

      3.将差值加到今天的收盘价,此即为买进点;

      4.将差值从今天的收盘价中扣除,此既为卖出点;

      5.等待市场触及买进点或卖出点.如果交易首先触及买进点,则于当天收盘买进,以卖出点作为止损转向点;如果市场首先触及卖出点,则于当天收盘卖出,以买进点作为止损转向点.

      6.资金管理:亏损2500美圆止损出场.

      如果市场在触及买进点或卖出点之前,又创130天的新高或新低价位,则重复1.2.3.4.的步骤.如果新的卖出点高于先前的卖出点,则以它代替前者.如果新的买进点低于先前的买进点,则以它取代前者.否则便保留原有的买进点和卖出点.

      建立多头头寸之后,如果市场再创130天新高,则重复1.2.3.4.的步骤.如果新的卖出点高于先前的卖出点,则以它代替前者,否则便保留原有的卖出点.如果新的买进点与原有买进点不同,追踪新的买进点,万一触及2500美圆止损或反转为空头时,此价位将成为新的买进点.建立空头尺寸之后,市场再创130天新低,情况与此相仿.

      谢谢

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
2#
发表于 2008-4-7 21:12:01 |只看该作者
期货上面做130天周期?怕是不可行吧。

使用道具 举报

Rank: 4

精华
1
UID
1078
积分
347
帖子
46
主题
7
阅读权限
50
注册时间
2008-1-15
最后登录
2023-5-19
3#
发表于 2008-4-8 09:42:52 |只看该作者
估计是要模型框架
参数自己调整
比小强还强

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1196
积分
1403
帖子
65
主题
0
阅读权限
60
注册时间
2008-2-19
最后登录
2008-8-11
4#
发表于 2008-4-8 09:58:51 |只看该作者
这个我有兴趣写写,等我写出来了肯请高手们多指教啊

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
1227
积分
1107
帖子
231
主题
43
阅读权限
60
注册时间
2008-2-24
最后登录
2015-8-26
5#
发表于 2008-4-8 10:20:39 |只看该作者
原帖由 nopain 于 2008-4-7 21:12 发表
期货上面做130天周期?怕是不可行吧。

原文如此。作者BABCOCK自创的长线交易系统。

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
427
积分
1600
帖子
175
主题
20
阅读权限
70
注册时间
2007-9-26
最后登录
2021-11-6
6#
发表于 2008-4-8 12:38:41 |只看该作者
期货的分析周期一百天就已经很好了  除非你做研究 而不是做交易 对吧

使用道具 举报

Rank: 2

精华
1
UID
1108
积分
110
帖子
11
主题
2
阅读权限
30
注册时间
2008-1-23
最后登录
2015-3-17
7#
发表于 2008-4-8 15:20:34 |只看该作者

回复 #2 nopain 的帖子

原文确是如此.

    由于合约不连续,K线不够,我想有两种解决办法:
    1.在指数合约上使用,指导当前活跃合约的操作;
    2.把K线周期缩短,例如使用30分钟K线.
    由于第一种方法有一定的主观性,我使用第二种方法,从去年11月开始进行实盘操作检验,效果如下(30分钟K线,交易1手,1%止损,手续费已扣除):
    品种       交易次数      盈利次数        亏损次数       累计盈利
     铜             10               4                   6              +38012元
     橡胶          14               5                   9              +6095
     燃油          10               2                   8              +220           (只用到2月底)
     豆一          14               4                  10             +4160
     白糖          14               4                  10             +8876
     麦子          12               5                   7              +1890
    我想总体效果还是可以的(当然比不上网上一些一个月翻几倍的模型),至少没有一个品种亏损.燃油因为跳空太多,不好用.至于130天\30分钟K线\1%止损等等是否合适,我就不知道了.这就是我求助公式的原因.借助公式模型,可适当进行优化.
     请老师辛苦一下,帮我编出公式模型.
     谢谢.

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1384
积分
1102
帖子
212
主题
40
阅读权限
60
注册时间
2008-3-28
最后登录
2019-4-26
8#
发表于 2008-4-8 17:00:55 |只看该作者
原帖由 huqinghou 于 2008-4-8 15:20 发表
原文确是如此.

    由于合约不连续,K线不够,我想有两种解决办法:
    1.在指数合约上使用,指导当前活跃合约的操作;
    2.把K线周期缩短,例如使用30分钟K线.
    由于第一种方法有一定的主观性,我使用第二种方法,从 ...


你模型还么编出来 实盘倒出来了 难道你每天手动算?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
9#
发表于 2008-4-8 18:40:04 |只看该作者
第一个版本,没有细测,先贴出来看看。
  1. //------------------------------------------------------------------------
  2. // 简称: BBS
  3. // 名称: Bruce Babcock System
  4. // 类别: 交易指令
  5. // 类型: 其他
  6. // 输出:
  7. //------------------------------------------------------------------------

  8. Params
  9.         Numeric Length(130);
  10.         Numeric ShortLength(20);
  11.         Numeric StopSet(50);
  12. Vars
  13.         Numeric MinPoint;
  14.         Numeric HighestValue;
  15.         Numeric LowestValue;
  16.         Numeric ShortHiValue;
  17.         Numeric ShortLoValue;
  18.         Numeric HLRange;
  19.         BoolSeries bReady(False);
  20.         NumericSeries UpLine(0);
  21.         NumericSeries DnLine(0);

  22.         Numeric MyPrice;
  23. Begin
  24.         MinPoint = MinMove * PriceScale;
  25.         If(CurrentBar > 0)
  26.         {
  27.                 bReady = bReady[1];
  28.                 UpLine = UpLine[1];
  29.                 DnLine = DnLine[1];
  30.         }
  31.        
  32.         HighestValue = HighestFC(High[2],Length);
  33.         LowestValue = LowestFC(Low[2],Length);
  34.         ShortHiValue = HighestFC(high[2],ShortLength);
  35.         ShortLoValue = LowestFC(Low[2],ShortLength);
  36.         HLRange = ShortHiValue - ShortLoValue;
  37.        
  38.         Commentary("HighestValue="+Text(HighestValue));
  39.         Commentary("LowestValue="+Text(LowestValue));
  40.         Commentary("ShortHiValue="+Text(ShortHiValue));
  41.         Commentary("ShortLoValue="+Text(ShortLoValue));
  42.         Commentary("HLRange="+Text(HLRange));
  43.         Commentary("UpLine="+Text(UpLine));
  44.         Commentary("DnLine="+Text(DnLine));
  45.        
  46.         If(MarketPosition == 0)
  47.         {
  48.                 If(High[1] > HighestValue || Low[1] < LowestValue)
  49.                 {
  50.                         If(bReady)
  51.                         {
  52.                                 If(Close + HLRange < UpLine)
  53.                                         UpLine = Close + HLRange;

  54.                                 If(Close - HLRange > DnLine)
  55.                                         DnLine = Close - HLRange;
  56.                         }Else
  57.                         {
  58.                                 bReady = True;
  59.                                 UpLine = Close + HLRange;
  60.                                 DnLine = Close - HLRange;                               
  61.                                 Return;
  62.                         }
  63.                                        
  64.                 }       

  65.                 If(bReady)
  66.                 {
  67.                         If(High >= UpLine)
  68.                         {
  69.                                 MyPrice = UpLine;
  70.                                 If(Open > MyPrice) Myprice = Open;
  71.                                 Buy(1,MyPrice);
  72.                                 bReady = False;
  73.                         }Else If(Low <= DnLine)
  74.                         {
  75.                                 MyPrice = DnLine;
  76.                                 If(Open < MyPrice) Myprice = Open;
  77.                                 SellShort(1,MyPrice);
  78.                                 bReady = False;
  79.                         }
  80.                 }
  81.         }Else If(MarketPosition == 1)
  82.         {
  83.                 If(High[1] > HighestValue)
  84.                 {
  85.                         If(Close - HLRange > DnLine)
  86.                         {
  87.                                 DnLine = Close - HLRange;
  88.                         }
  89.                 }
  90.                
  91.                 If(Low <= DnLine)
  92.                 {
  93.                         MyPrice = DnLine;
  94.                         If(Open < MyPrice ) MyPrice = Open;
  95.                         Sell(1,MyPrice);
  96.                 }Else If(Low <= AvgEntryPrice - StopSet*MinPoint)
  97.                 {
  98.                         MyPrice = AvgEntryPrice - StopSet*MinPoint;
  99.                         If(Open < MyPrice) MyPrice = Open;
  100.                         Sell(1,MyPrice);
  101.                 }
  102.         }Else If(MarketPosition == -1)
  103.         {
  104.                 If(Low[1] < LowestValue)
  105.                 {
  106.                         If(Close + HLRange < UpLine)
  107.                         {
  108.                                 UpLine = Close + HLRange;
  109.                         }
  110.                 }
  111.        
  112.                 If(High >= UpLine)
  113.                 {
  114.                         MyPrice = UpLine;
  115.                         If(Open > MyPrice) MyPrice = Open;
  116.                         BuyToCover(1,MyPrice);
  117.                 }Else If(High >= AvgEntryPrice + StopSet*MinPoint)
  118.                 {
  119.                         MyPrice = AvgEntryPrice + StopSet*MinPoint;
  120.                         If(Open > MyPrice) MyPrice = Open;
  121.                         BuyToCover(1,MyPrice);
  122.                 }       
  123.         }
  124.        
  125. End

  126. //------------------------------------------------------------------------
  127. // 编译版本        GS2004.06.12
  128. // 用户版本        2008/04/08 17:03
  129. // 版权所有        nopain
  130. // 更改声明        TradeBlazer Software保留对TradeBlazer平台
  131. //                        每一版本的TrabeBlazer公式修改和重写的权利
  132. //------------------------------------------------------------------------
复制代码

使用道具 举报

Rank: 4

精华
1
UID
1078
积分
347
帖子
46
主题
7
阅读权限
50
注册时间
2008-1-15
最后登录
2023-5-19
10#
发表于 2008-4-8 18:47:53 |只看该作者
LZ很强大
书是7月份正式印刷
到 11月份就已经实盘操作了
比小强还强

使用道具 举报

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

bottom

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

GMT+8, 2024-5-6 02:23

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部