文华交易模型策略改编成金字塔方法[金字塔模型]
-
相关简介:文华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
-
文章来源:公式网 发布时间:2015-10-23浏览次数:
文华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代表100%成立,第二个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 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函数说明: 得到当前策略虚拟持仓量,多仓返回正数,空
文华boll模型


现在就去充值积分
加入VIP可下载100以下的所有资源