您现在的位置:程序化交易>> 期货公式>> 博易大师>> 博易大师知识>>正文内容

开发商品的交易系统 - 基础篇 [1] (转) [博易POBO]

咨询内容:

开发商品的交易系统 - 基础篇 [1] (转)

本帖最后由 小培 于 2015-1-13 09:19 编辑

张贴者: EasyTrader

当我们在开发系统时,应该遵循一定的经验法则。这些是指导方针。例如,你应该知道有三种基本类型的市场 — 趋势性、 波动性和无方向性 —,没有一个系统能在三个市场中同时表现很好。

开发一个系统的关键是,要能够在一个市场类型表现好同时能限制了在其他市场类型的损失。这是一个基本但很重要的概念。另一个概念是你不需等到有完整的进出想法才开始作交易系统规划。例如,您可以有一个很棒的进场信号,但还不知道怎么出场。这并不意味着你不能开始写一个大系统。

它意味着你可以先从开发进场规则开始,直到它们符合需求,然后才开始作出场的调整。系统开发的第一步是决定你想要交易的市场类型。这是一个重要的决定,因为它决定了您将开发的交易系统类型。接下来将帮您瞭解发生在不同类型的市场可能发生的一些条件,并説明一些可能应用的交易系统。一旦你熟悉了基本的系统类型,您将能够选择您想要使用的类型。

一般来说,有三种类型的市场,它们是有趋势的,波动的,和无方向的,每一种可以由特定的价格活动来表现特徵。每种市场都是可交易,但明显的是不同的交易系统。现在让我们看看每种类型的市场行为和适用于该类型的市场的交系统。趋势型市场的特点是较大又持续在价格的上升或下跌。

图 1 显示市场趋势的一个例子。这个趋势的市场特点是持续的动作与小的、 短暂的修正了。顾名思义,趋势性系统针对趋势市场而设计,获取所有可能会出现大的趋势移动的优势。


在创建一个趋势型交易系统的首要工作是,永远不要错过任何一个大的价格变动。为了作到这一点的最简单方法是在市场上手中总是持仓,那就是总有多单或空单在手。如果你总是有在仓部位,大价格移动发生时就能掌握。另一种方法是在市场上,总是在当前价格的上方或下方挂突破单 (这与停损单相同,但它用意是进入市场,而不是退出)。

这样,不管在往任一方向快速移动的市场,你都会停在大动作开始之前进场。请记住,趋势系统往往会在波浪似的摆荡市场或毫无方向感的阶段亏损。系统的胜率较小,意味着大的获利来自于几个大的交易。

这也意味着如果你错过了大的价格变动,你可能没有足够的资本来坚持到等待下一次大的价格变动趋势。另一个设计特徵应该是在市场的横盘模式期间限制你的损失。请记住,没有任何一个交易系统会在每个市场条件下赚钱。

所以设计上的优先考虑应该是在振盪的市场裡让损失降到最低。许多趋势系统在一年内主要的盈利来自于其中的两三个月,其他月份只是损平或是小额亏损。在趋势追随系统中最常用的指标是移动平均线,经常是两个 — 短期的移动平均线和长期移动平均线。

趋势分析系统具有以下特点:
百分之八十的获利来自于百分之二十的交易 ,它在交易中所所面临的困难课题是 - 胜率低 在 60%~ 70 %的交易次数中面临亏损 ,特别是在盘整期,交易等待的过程中信心建立是很重要的,许多研究人员估计任何市场 15%的时间是在趋势模式,而无方向的 佔85%的时间。但如果你认为你能成功地通过此类型的心理挑战,它被证明是非常有利可图的。

接下来我们就开始介绍这个交易系统,所有参数仅是预设值,读者需自己再根据习惯的方式作参数的调整

宣告必要参数与变数
inputs:Price(Close),FastLen(9),SlowLen(18),EntLen(12),TrailLen(8),ReEntLen(15),Ratio(3) ;
Vars:FastMA(0),SlowMA(0),EntPriceL(0),EntPriceS(0),CountL(-999),CountS(-999),ReEntCount(0);

FastMA = Average(Price,FastLen) ;
SlowMA = Average(Price,SlowLen) ;

作多进场逻辑
1.当短期均线 ( 9 根K棒 )向上交叉穿越长期均线 ( 18 根K棒 )时 , 找寻最近 8根K棒的最高价 ,将其乘以 1.03 作为作多进场价格

if FastMA Cross over SlowMA and BarNumber > 1 Then Begin
EntPriceL = Highest(High,8)*(1 Ratio/100) ;
CountL = 0 ;
end;

2.当上述条件成立时, 在未来的 12根 K棒中只要价格突破进场价 ,则进场作多
if MP <> 1 and CountL <= EntLen then Buy next Bar at EntPriceL stop ;
计算经过几根 K棒
CountL = CountL 1;

3. 当多单在仓时 ,且因其他出场规则出场后 , 再依据最近的 10根K棒的最高价挂 Stop 突破单 ,并维持自出场后15根K棒的时间 (也就是出场后15根 K棒内没有再突破近10根K最高价,则取消挂单 )

{ Re- Entry }
if MP = 0 and MP = 1 then ReEntCount = 1 ;
if MP = 0 and MP = 1 and ReEntCount < ReEntLen then Begin
ReEntCount = ReEntCount 1;
Buy next bar at Highest(High,10) stop ;
end;

作空进场逻辑
1.当短期均线 ( 9 根K棒 )向下交叉穿越长期均线 ( 18 根K棒 )时 , 找寻最近 8根K棒的最低价 ,将其乘以 0.97 作为作空进场价格

if FastMA Cross under SlowMA and BarNumber > 1 Then Begin
EntPriceS = Lowest(Low,8)*(1-Ratio/100) ;
CountS = 0 ;
end;

2.当上述条件成立时, 在未来的 12根 K棒中只要价格跌破进场价 ,则进场作空
if MP <> -1 and CountS <= EntLen then
Sell next Bar at EntPriceS stop ;
计算经过几根 K棒
CountS = CountS 1;

3. 当空单在仓时 ,且因其他出场规则出场后 , 再依据最近的 10根K棒的最低价挂 Stop 突破单 ,并维持自出场后15根K棒的时间 (也就是出场后15根 K棒内没有再跌破近10根K最低价,则取消挂单 )

{ Re- Entry }
if MP = 0 and MP = -1 then ReEntCount = 1 ;
if MP = 0 and MP = -1 and ReEntCount < ReEntLen then Begin
ReEntCount = ReEntCount 1;
Sell next bar at Lowest(Low,10) stop ;
end;

出场规则
1. 多单在仓时 ,价格到达最近 8根K棒 最低价时平仓出场
if MP = 1 then Begin
CountL = -999 ;
ExitLong next bar at Lowest(Low,TrailLen) stop ;
end;

2. 空单在仓时 ,价格到达最近 8根K棒 最高价时平仓出场
if MP = -1 then Begin
CountS = -999 ;
ExitShort next bar at Highest(High,TrailLen) stop ;
end;

3. 手中有部位时要根据可接受风险度先置放停损单作保护
台指期 日K 留仓 交易週期 2004/6/30 ~ 2014/6/30 交易成本 1200


用最简化的短期均线在长期均线之上,当价格突破短期高点与如意多空网翻多时作多
if FastMA > SlowMA and BarNumber > 1 如意多空网翻多 Then
Buy next bar at Highest(High,FastLen) stop ;
用最简化的短期均线在长期均线之下,当价格跌破短期低点与如意多空网翻空时作空
if FastMA < SlowMA and BarNumber > 1 如意多空网翻空 Then
Sell next bar at Lowest(Low,FastLen) stop ;
台指期 日K 留仓 交易週期 2004/6/30 ~ 2014/6/30 交易成本 1200 绩效图表如下

结论:在创建一个趋势型交易系统的首要工作是,永远不要错过任何一个大的价格变动。为了作到这一点的最简单方法是在市场上手中总是持仓 0003bP5mgy6L0BxEZZF93&690.jpg0003bP5mgy6L0BVxwFBfb&690.jpg0003bP5mgy6L0BNw0xffd&690.jpg0003bP5mgy6L0C3L8Kxdd&690.jpg<!-- 咨询内容:

附件 :

-->

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 511411198  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容