以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 交易策略发布专区 (http://222.73.7.161/bbs/list.asp?boardid=10) ---- 简易文华模型改金字塔方法(原来用文华的小伙伴看过来!) (http://222.73.7.161/bbs/dispbbs.asp?boardid=10&id=51340) |
-- 作者:RogarZ -- 发布时间:2013/4/23 12:10:49 -- 简易文华模型改金字塔方法(原来用文华的小伙伴看过来!) 这是一个简易文华模型改金字塔教程
1、简易模型改法 文华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
2、解决AUTOFILTER 通过实际工作中的交流,发现用户经简单转换后,稍了解下金字塔机制,改用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; //中间变量 MID:MA(CLOSE,N);//求N个周期的收盘价均线,称为布林通道中轨 TMP2:=STD(CLOSE,M);//求M个周期内的收盘价的标准差 TOP:MID+P*TMP2;//布林通道上轨 BOTTOM:MID-P*TMP2;//布林通道下轨 //交易条件 开多平空条件:=C>BOTTOM and holding<=0;//当最新价上穿下轨时,并且持空仓或无仓的情况下,做多 开空平多条件:=TOP>C and holding>=0;//当最新价下穿上轨时 并且持多仓或无仓的情况下,做空
加仓条件:=c>mid and holding=1;//当最新价大于中轨,且持一手多单,加仓 buy(加仓条件,手数,matket); 得到当前策略虚拟持仓量,多仓返回正数,空仓返回负数,无持仓返回0。
3、BARSBP、BARSSK、BAESSP在金字塔的实现 借助variable(全局变量)实现。 可以设置一个全局变量 以开多为例 variable:a=0; if 开多条件 then begin buy(); A:=A+1;//开始计数 end …… …… if TYPEBAR(1 , 1)>0 then A:=A+1;//每根K线+1 补充: typebar函数说明 得到当前位置之前上N次信号指定类型距当前周期 用法: 例如:TYPEBAR(2,1)表示:倒数第2个开多信号历时 更多variable用法请参考金字塔初级教程。
4、BKPRICE、BPPRICE、SKPRICE、SPPRICE在金字塔的实现。 金字塔对于开平仓价格 只有2个函数 enterprice(上次开仓价)和exitprice(上次平仓价)。 策略若需更灵活的使用,请参考variable(全局变量)的使用。 http://www.weistock.com:8080/page/video/013.php
至于金字塔的后台是什么,它与图表程序化的差别,请看论坛置顶的帖子 [此贴子已经被作者于2014/11/19 11:01:03编辑过]
|
-- 作者:reboot -- 发布时间:2013/9/21 23:32:09 -- 多谢分享。 |