龙听期货论坛's Archiver

C
+
+


 微信: QQ:

龙听 发表于 2019-1-6 22:07

简易文华模型改金字塔方法

[b][color=#ED1C24][size=16px]注:BLOG 上就把2个帖子并一块吧[/size][/color][/b]
[align=center][b][url=http://www.weistock.com/bbs/dispbbs.asp?boardid=10&id=25480&page=1&star=1]简易文华模型改金字塔方法[/url][/b][size=24px] (—)[/size][/align]
[p=18, 2, left][font=微软雅黑][size=16px]此贴原为第一届模拟大赛专区的帖子[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]希望对原来用文华的用户有帮助。[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px] [/size][/font][/p][p=18, 2, left][b][font=微软雅黑][size=16px]文华boll模型[/size][/font][/b][/p][p=18, 2, left][font=微软雅黑][size=16px]MID:MA(CLOSE,N);//求N个周期的收盘价均线,称为布林通道中轨[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]TMP2:=STD(CLOSE,M);//求M个周期内的收盘价的标准差[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]TOP:MID+P*TMP2;//布林通道上轨[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]BOTTOM:MID-P*TMP2;//布林通道下轨[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]CROSS(C,BOTTOM),BPK;//当最新价上穿下轨时,做多[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]CROSS(TOP,C),SPK;//当最新价下穿上轨时,做空[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]AUTOFILTER;[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px] [/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px][b]金字塔模型 简单改法:[/b][/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]input:n(26,5,300,1),M(26,1,100,1),P(2,1,10,1);//定义参数[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]MID:MA(CLOSE,N);//求N个周期的收盘价均线,称为布林通道中轨[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]TMP2:=STD(CLOSE,M);//求M个周期内的收盘价的标准差[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]TOP:MID+P*TMP2;//布林通道上轨[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]BOTTOM:MID-P*TMP2;//布林通道下轨[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]CROSS(C,BOTTOM),BPK,[color=#FF0000]TFILTER[/color];[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]CROSS(TOP,C),SPK,[color=#FF0000]TFILTER[/color];[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px] [/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px][b]金字塔模型 新交易系统改法:[/b][/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]input:n(26,5,300,1),M(26,1,100,1),P(2,1,10,1);//定义参数[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]MID:MA(CLOSE,N);//求N个周期的收盘价均线,称为布林通道中轨[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]TMP2:=STD(CLOSE,M);//求M个周期内的收盘价的标准差[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]TOP:MID+P*TMP2;//布林通道上轨[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]BOTTOM:MID-P*TMP2;//布林通道下轨[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px] [/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]if CROSS(C,BOTTOM) and holding<=0 then begin//当收盘价上穿下轨且有空仓或无仓时[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]sellshort(1,1,market);//平空 第一个1代表100%成立,第二个1代表下单手数(下同)[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]buy(1,1,market);//开多[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]end[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px] [/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]if CROSS(TOP,C) and holding>=0 then begin //当收盘价下穿上轨且有多仓或无仓时[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]sell(1,1,market);//平多[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]buyshort(1,1,market);//开空[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]end[/size][/font][/p][table=98%]
[tr][td][font=Verdana][p=21, 2, left][font=微软雅黑][size=16px]
[/size][/font][/p][p=21, 2, left][font=微软雅黑][size=16px]
[/size][/font][/p][p=21, 2, left][font=微软雅黑][size=16px]
[/size][/font][/p][p=21, 2, left][font=微软雅黑][size=16px]
[/size][/font][/p][p=21, 2, left][font=微软雅黑][size=16px]
[/size][/font][/p][p=21, 2, center][size=24px][b]简易文华模型改金字塔方法(二)[/b][font=&quot] [/font][/size][/p][p=21, 2, left][font=微软雅黑]去年模拟大赛期间,曾做过一个[/font][font=微软雅黑] [b][url=http://www.weistock.com/bbs/dispbbs.asp?boardid=10&id=25480&page=1&star=1]简易文华模型改金字塔方法[/url][/b] [/font][font=微软雅黑]的帖子。解决了刚上手金字塔用户对于[/font][font=微软雅黑][b]AUTOFILTER[/b][/font][font=微软雅黑]转换的疑问[/font][font=微软雅黑]。[/font][font=微软雅黑]之后的工作中,发现论坛上有很多使用过文华的用户,提出许多共性的问题。此贴意在总结经验。[/font][/p][/font]
[font=Verdana][size=14px]
[/size][/font]
[font=Verdana][size=14px][font=微软雅黑][b]1、Autofilter与Holding[/b][/font][/size][/font]
[font=Verdana][size=14px][p=21, 2, left][font=微软雅黑, sans-serif][size=18pt]    [/size][/font][font=微软雅黑, sans-serif][size=13.5pt]首先,还是要讲这个函数。虽然之前的《简易文华模型改金字塔方法(一)》解决了初级的代码转换的问题。通过实际工作中的交流,发现用户经简单转换后,稍了解下金字塔机制,改用Holding函数来控制,不再使用此函数的非常多,我想通过此贴,让大家少走弯路。  [/size][/font][/p][p=21, 2, left][font=微软雅黑, sans-serif][size=13.5pt]     [/size][/font][font=微软雅黑, sans-serif][size=13.5pt]我们来研究下Autofilter的机制,它实际作用是,当我第一次满足条件后开仓,之后再满足条件不在开仓。即用成立条件和持仓来判断。[/size][/font][/p][p=21, 2, left][font=微软雅黑, sans-serif][size=13.5pt]我们依然以文华的Boll模型为例:[/size][/font][/p][p=21, 2, left][font=微软雅黑, sans-serif][size=13.5pt](这里我们不用cross函数,因为它是一个点.为了更直观的达到效果,我们用C>bottom ;C来替代金叉,死叉)[/size][/font][/p][/size][/font]
[p=18, 2, left][font=微软雅黑]文华boll模型[/font][/p][p=18, 2, left][font=微软雅黑][size=16px]MID:MA(CLOSE,N);//求N个周期的收盘价均线,称为布林通道中轨[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]TMP2:=STD(CLOSE,M);//求M个周期内的收盘价的标准差[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]TOP:MID+P*TMP2;//布林通道上轨[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]BOTTOM:MID-P*TMP2;//布林通道下轨[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]C>BOTTOM,BPK;//当最新价上穿下轨时,做多[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]TOP>C,SPK;//当最新价下穿上轨时,做空[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]AUTOFILTER;[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]
[/size][/font][/p][p=18, 2, left][font=微软雅黑][b]现在我们在金字塔中用Holding函数可改为:[/b][/font][/p][p=30, 2, left] [/p][p=18, 2, left][font=微软雅黑][size=16px]//中间变量[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]MID:MA(CLOSE,N);//求N个周期的收盘价均线,称为布林通道中轨[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]TMP2:=STD(CLOSE,M);//求M个周期内的收盘价的标准差[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]TOP:MID+P*TMP2;//布林通道上轨[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]BOTTOM:MID-P*TMP2;//布林通道下轨[/size][/font][/p][p=30, 2, left][font=微软雅黑]手数:=ss;//这个参数 自己定义下[/font][/p][p=18, 2, left][font=微软雅黑][size=16px]//交易条件[/size][/font][/p][p=18, 2, left][font=微软雅黑][size=16px]开多平空[/size]条件:=C>BOTTOM and holding<=0;//当最新价上穿下轨时,并且持空仓或无仓的情况下,做多[/font][/p][p=18, 2, left][font=微软雅黑][size=16px]开空平多条件:=TOP>C and holding>=0;//当最新价下穿上轨时 并且持多仓或无仓的情况下,做空[/size][/font][/p][p=30, 2, left]
[/p][p=30, 2, left] [/p][p=30, 2, left][font=微软雅黑]//交易系统[/font][/p][p=30, 2, left][font=微软雅黑]平空:SELLSHORT(开多平空条件,手数,MARKET);[/font][/p][p=30, 2, left][font=微软雅黑]平多:SELL(开空平多条件,手数,MARKET);[/font][/p][p=30, 2, left][font=微软雅黑]开多:BUY(开多平空条件,手数,MARKET);[/font][/p][p=30, 2, left][font=微软雅黑]开空:BUYSHORT(开空平多条件,手数,MARKET);[/font][/p][p=30, 2, left]
[/p][p=30, 2, left][font=微软雅黑]大家乐于使用holding的原因是,用此函数对于实现复杂的加减仓策略(如:金字塔式加减仓) 就非常方便了。[/font][/p][p=30, 2, left][font=微软雅黑]比如在上面的例子我加入一个加仓条件:[/font][/p][p=30, 2, left][font=微软雅黑]加仓条件:=c>mid and holding=1;//当最新价大于中轨,且持一手多单,加仓[/font][/p][p=30, 2, left][font=微软雅黑]对应加仓的语句:[/font][/p][p=30, 2, left][font=微软雅黑]buy([/font][font=微软雅黑]加仓条件,手数,matket);[/font][/p][p=30, 2, left]
[/p][p=30, 2, left][font=微软雅黑]Holding函数说明:[/font][/p][p=30, 2, left] [/p][p=30, 2, left][font=微软雅黑]得到当前策略虚拟持仓量,多仓返回正数,空仓返回负数,无持仓返回0。[/font][/p][p=30, 2, left][font=微软雅黑]用法:HOLDING[/font][/p][p=30, 2, left]
[/p][p=30, 2, left][font=微软雅黑][b]2、[/b][/font][font=微软雅黑][b]BARSBK、[/b][/font][font=微软雅黑][b]BARSBP、[/b][/font][font=微软雅黑][b]BARSSK、[/b][/font][font=微软雅黑][b]BARSSP在金字塔的实现[/b][/font][/p][p=30, 2, left]      这些函数金字塔没有刻意的去做封装,而是提供了更自由的方式。普通的可通过[b]Barslast(X)[/b]函数实现。[/p][p=30, 2, left]      复杂的,可通过[b]variable(全局变量)[/b]实现。[/p][p=30, 2, left]      以barsbk为例:[/p][p=30, 2, left]      可以设置一个全局变量variable:a=0;并在代码最后增加 A:=A+1;[/p][p=30, 2, left]      if 开多条件 then begin[/p][p=30, 2, left]          buy();
          a:=0;[/p][p=30, 2, left]      end[/p][p=30, 2, left]      ……[/p][p=30, 2, left]      A:=A+1;[/p][p=30, 2, left]      那么如何判断某根K线是上次开仓到现在的距离呢?[/p][p=30, 2, left]      我们来分析下,每根K线都有一个A的值,当开多单后,这个值被重置为0 并在之后重新计算。[/p][p=30, 2, left]      那么判断开多这根K就可以用下列公式来判断[/p][p=30, 2, left]      REF(a,1)>0 and a=0  //上一根K的a值大于0 并且 当根K线的a值等于0.[/p][p=30, 2, left]      这种方式能很灵活的与其他各种条件混用。[/p][p=30, 2, left]      Variable是金字塔初级用户必学的一个技巧,掌握它就能很好的实现移动止损等等模块。相关资料请阅读金字塔的相关教程,此贴不再赘述。[/p]
[p=30, 2, left][b][font=微软雅黑]3、BKPRICE、BPPRICE、SKPRICE、SPPRICE在金字塔的实现。[/font][/b][/p][p=30, 2, left][font=微软雅黑][b]      [/b] 金字塔对于开平仓价格 只有2个函数[b] enterprice[/b](上次开仓价)和[b]exitprice[/b](上次平仓价)[b]。[/b][/font][/p][p=30, 2, left][font=微软雅黑][b]       [/b]策略若需更灵活的使用,请参考variable(全局变量)的使用。[/font][/p][p=30, 2, left][font=微软雅黑] [/font][/p][p=30, 2, left][font=微软雅黑][b]4、关于后台[/b][/font][/p][p=30, 2, left][font=微软雅黑]    金字塔的后台与文华的后台是2个完全不同的概念。[/font][/p][p=30, 2, left][font=微软雅黑]    文华的后台是用于图表程序化交易的。而金字塔的图表下单的方式与其不同。具体的实现请看以下视频。(10分钟)[/font][/p][p=30, 2, left][font=微软雅黑]    [/font][font=微软雅黑][url=http://www.weistock.com:8080/page/video/013.php]http://www.weistock.com:8080/page/video/013.php[/url][/font][/p][p=30, 2, left][font=微软雅黑]    [/font][font=微软雅黑]至于金字塔的后台是什么,它与图表程序化的差别,请看论坛置顶的帖子[url=http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=29594]《[b]深度理解金字塔公式系统的工作机理》[/b][/url][/font][/p][p=30, 2, left][font=微软雅黑]    考虑到后台需要掌握较多的知识,我们建议刚上手的新用户忽略其相关的要点,先专注于使用好图表程序化交易。[b]    [/b][/font][/p]




[/td][/tr]
[/table]

页: [1]