分析家公式网,提供指标公式,股票软件 用户登录  |  用户 注册

软件名称:[B]文华交易模型策略改编成金字塔方法[金字塔模型][/B]
软件类型:国产软件
运行环境:Win2000/WinXP/Win2003/WinVista
软件语言:简体中文
授权方式:共享软件
软件大小:0 Bytes
官方主页:Home Page
更新时间:2013-11-12 00:53:53
软件简介:


文华boll模型

MID:MA(CLOSE,N);//求N个周期的收盘价均线,称为布林通道中轨

TMP2:=STD(CLOSE,M);//求M个周期内的收盘价的标准差

TOP:MID+P*TMP2;//布林通道上轨

BOTTOM:MID-P*TMP2;//布林通道下轨

CROSS(C,BOTTOM),BPK;//当最新价上穿下轨时,做多

CROSS(TOP,C),SPK;//当最新价下穿上轨时,做空

AUTOFILTER;

 

金字塔模型 简单改法:

input:n(26,5,300,1),M(26,1,100,1),P(2,1,10,1);//定义参数

MID:MA(CLOSE,N);//求N个周期的收盘价均线,称为布林通道中轨

TMP2:=STD(CLOSE,M);//求M个周期内的收盘价的标准差

TOP:MID+P*TMP2;//布林通道上轨

BOTTOM:MID-P*TMP2;//布林通道下轨

CROSS(C,BOTTOM),BPK,TFILTER;

CROSS(TOP,C),SPK,TFILTER;

 

金字塔模型 新交易系统改法:

input:n(26,5,300,1),M(26,1,100,1),P(2,1,10,1);//定义参数

MID:MA(CLOSE,N);//求N个周期的收盘价均线,称为布林通道中轨

TMP2:=STD(CLOSE,M);//求M个周期内的收盘价的标准差

TOP:MID+P*TMP2;//布林通道上轨

BOTTOM:MID-P*TMP2;//布林通道下轨

 

if CROSS(C,BOTTOM) and holding<=0 then begin//当收盘价上穿下轨且有空仓或无仓时

sellshort(1,1,market);//平空 第一个1代表99.99%成立,第二个1代表下单手数(下同)

buy(1,1,market);//开多

end

 

if CROSS(TOP,C) and holding>=0 then begin //当收盘价下穿上轨且有多仓或无仓时

sell(1,1,market);//平多

buyshort(1,1,market);//开空

end

1、Autofilter与Holding

    首先,还是要讲这个函数。虽然之前的《简易文华模型改金字塔方法(一)》解决了初级的代码转换的问题。通过实际工作中的交流,发现用户经简单转换后,稍了解下金字塔机制,改用Holding函数来控制,不再使用此函数的非常多,我想通过此贴,让大家少走弯路。  

     我们来研究下Autofilter的机制,它实际作用是,当我第一次满足条件后开仓,之后再满足条件不在开仓。即用成立条件和持仓来判断。

我们依然以文华的Boll模型为例:

(这里我们不用cross函数,因为它是一个点.为了更直观的达到效果,我们用C>bottom ;C<top来替代金叉,死叉)

文华boll模型

MID:MA(CLOSE,N);//求N个周期的收盘价均线,称为布林通道中轨

TMP2:=STD(CLOSE,M);//求M个周期内的收盘价的标准差

TOP:MID+P*TMP2;//布林通道上轨

BOTTOM:MID-P*TMP2;//布林通道下轨

C>BOTTOM,BPK;//当最新价上穿下轨时,做多

TOP>C,SPK;//当最新价下穿上轨时,做空

AUTOFILTER;

 

现在我们在金字塔中用Holding函数可改为:

 

//中间变量

MID:MA(CLOSE,N);//求N个周期的收盘价均线,称为布林通道中轨

TMP2:=STD(CLOSE,M);//求M个周期内的收盘价的标准差

TOP:MID+P*TMP2;//布林通道上轨

BOTTOM:MID-P*TMP2;//布林通道下轨

手数:=ss;//这个参数 自己定义下

//交易条件

开多平空条件:=C>BOTTOM and holding<=0;//当最新价上穿下轨时,并且持空仓或无仓的情况下,做多

开空平多条件:=TOP>C and holding>=0;//当最新价下穿上轨时 并且持多仓或无仓的情况下,做空

 

 

//交易系统

平空:SELLSHORT(开多平空条件,手数,MARKET);

平多:SELL(开空平多条件,手数,MARKET);

开多:BUY(开多平空条件,手数,MARKET);

开空:BUYSHORT(开空平多条件,手数,MARKET);

 

大家乐于使用holding的原因是,用此函数对于实现复杂的加减仓策略(如:金字塔式加减仓) 就非常方便了。

比如在上面的例子我加入一个加仓条件:

加仓条件:=c>mid and holding=1;//当最新价大于中轨,且持一手多单,加仓

对应加仓的语句:

buy(加仓条件,手数,matket);

 

Holding函数说明:

 

得到当前策略虚拟持仓量,多仓返回正数,空仓返回负数,无持仓返回0。

用法:HOLDING

 

2、BARSBK、BARSBP、BARSSK、BARSSP在金字塔的实现

      这些函数金字塔没有刻意的去做封装,而是提供了更自由的方式。普通的可通过Barslast(X)函数实现。

      复杂的,可通过variable(全局变量)实现。

      以barsbk为例:

      可以设置一个全局变量variable:a=0;并在代码最后增加 A:=A+1;

      if 开多条件 then begin

          buy();
          a:=0;

      end

      ……

      A:=A+1;

      那么如何判断某根K线是上次开仓到现在的距离呢?

      我们来分析下,每根K线都有一个A的值,当开多单后,这个值被重置为0 并在之后重新计算。

      那么判断开多这根K就可以用下列公式来判断

      REF(a,1)>0 and a=0  //上一根K的a值大于0 并且 当根K线的a值等于0.

      这种方式能很灵活的与其他各种条件混
[url=http://www.70822.com/soft/sort013/sort068/down-66995.html]文华交易模型策略改编成金字塔方法[金字塔模型][/url]

关于本站 | 网站帮助 | 广告合作 | 声明 | 友情连接 | 网站地图 |
分析家公式网声明:本站所有股票公式软件资料均网上公开收集,如侵权请联系删帖。站内所有广告,均与本站无关!
Copyright © 2003-2024 70822.Com. All Rights Reserved .
页面执行时间:46.87500 毫秒