以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  策略编写求助区  (http://weistock.com/bbs/list.asp?boardid=11)
----  策略:Dynamic Break Out II改进版,希望高手改成金字塔的策略  (http://weistock.com/bbs/dispbbs.asp?boardid=11&id=80095)

--  作者:citscwb
--  发布时间:2015/6/24 22:43:19
--  策略:Dynamic Break Out II改进版,希望高手改成金字塔的策略
策略:Dynamic Break Out II改进版
作者:George Pruitt(1996)
类型:短线系统(短周期)、趋势系统(长周期)
原理:布林带+市场波动率自适应
编译:猫在思考
介绍:Http://Www.Hs633.Com/Forum.Php?Mod=Viewthread&Tid=42281
版本:1.2
日期:2015.6.15
}
//百分比止损  
//  Setstoplosspercent:=-25; //亏损-25%时止损
//BOLL
Upper:=Round(Ref(Ma(C,M)+N*Std(C,M),1));//布林上轨
Lower:=Round(Ref(Ma(C,M)-N*Std(C,M),1));//布林下轨
//自适应模块
Todayv:=Ref(Std(C,D),1);
Yesterdayv:=Ref(Std(C,D),2);
Deltav:=(Todayv-Yesterdayv)/Todayv;
Backdays:=M;                     //预设回溯值  
Backdays:=(1+Deltav)*Backdays;
Backdays:=Intpart(Backdays);     //取整
Backdays:=Min(Backdays,60);      //确认回溯值不大于60
Backdays:=Max(Backdays,20);      //确认回溯值不小于20
上轨:Ref(Hhv(H,Backdays),1),Colorred,Linedot;    //X周期最高价
下轨:Ref(Llv(L,Backdays),1),Colorgreen,Linedot;  //X周期最低价
中轨:Ref(Round(Ma(C,Backdays)),1),ColorYellow;   //X周期收盘移动平均
  
//突破上轨做多,突破下轨开空
  {多头开仓:跳空高开时}
  If Marketposition<1
     And O>=上轨 
     And 上轨>=Upper
  Then Buy(\'\', Default, 0, 2, Ot_market, Ob_thisbar);       //跳空高开时,开仓时机为开盘价(开仓价取开盘价)
  {多头开仓:盘中价格突破时}
  If Marketposition<1
     And H>=上轨 And O<上轨 
     And 上轨>=Upper
  Then Buy(\'\', Default, 上轨, 2, Ot_market, Ob_thisbar);   //盘中价格突破上轨时开仓(开仓价即上轨值)
  
  {空头开仓:跳空低开时}
  If Marketposition>-1
     And O<=下轨 
     And 下轨<=Lower
  Then Sellshort(\'\', Default, 0, 2, Ot_market, Ob_thisbar);   //跳空低开时,开仓时机为开盘价(开仓价取开盘价)
  {空头开仓:盘中价格突破时}
  If Marketposition>-1
     And L<=下轨 And O>下轨  
     And 下轨<=Lower
  Then Sellshort(\'\', Default, 下轨, 2, Ot_market, Ob_thisbar);
  
//价格运行至中轨时出场(需将参数P即"中轨平仓"设为1)
  {多头平仓:跳空低开时}
  If Marketposition=1 
     And P=1
     And O<=中轨 
     And Barsentry>0 
  Then Sell(\'\', Default, 0, 2, Ot_market, Ob_thisbar);      //跳空低开时,平仓时机为开盘价(开盘即平仓)
  {多头平仓:盘中价格突破时}
  If Marketposition=1 
     And P=1
     And L<=中轨 And O>中轨 
     And Barsentry>0 
  Then Sell(\'\', Default, 中轨, 2, Ot_market, Ob_thisbar);      //盘中价格突破中轨时平仓(平仓价即中轨值)
  
  {空头平仓:跳空高开时}
  If Marketposition=-1
     And P=1
     And O>=中轨 
     And Barsentry>0
  Then Buytocover(\'\', Default, O, 2, Ot_market, Ob_thisbar); //跳空高开时,平仓时机为开盘价(开盘即平仓)
  {空头平仓:盘中价格突破时}
  If Marketposition=-1
     And P=1
     And H>=中轨 And O<中轨 
     And Barsentry>0
  Then Buytocover(\'\', Default, 中轨, 2, Ot_market, Ob_thisbar); //盘中价格突破中轨时平仓(平仓价即中轨值)
  
//止损处理
  Zs:=Floor(Abs(Entryprice*Setstoplosspercent/Bigpointvalue/100),Mindiff);
  Setstopcontract;
  Setstoploss(Zs*Bigpointvalue);   

--  作者:CITSCWB
--  发布时间:2015/8/16 16:23:46
--  
没人解答????
--  作者:全文完
--  发布时间:2015/8/31 16:37:28
--  
 4555555555555555555555555555555555555
--  作者:全文完
--  发布时间:2015/8/31 16:38:09
--  
楼主,我回复了你,你的金币呢?

--  作者:yukizzc
--  发布时间:2015/9/15 14:20:32
--  

  Then Buy(\'\', Default, 0, 2, Ot_market, Ob_thisbar);     这里各个参数都是代表什么,default是??

Then Sell(\'\', Default, 中轨, 2, Ot_market, Ob_thisbar);      //盘中价格突破中轨时平仓(平仓价即中轨值),这里也解释下参数中轨是指c>中轨吗?

 

  Setstopcontract;
  Setstoploss(Zs*Bigpointvalue);    //最后这两个函数我们么有,说明下作用

 

其他部分金字塔里面都直接可用的,就修改上面这几处地方就可以了

 


--  作者:私生活
--  发布时间:2015/12/8 9:28:01
--  
牛啊 啊  
--  作者:zurich
--  发布时间:2016/11/13 13:30:41
--  
这个公式是金语言(kingtrader),变量好像没有初始化,没有返回值。
default默认值, 买入数量的默认值,
Setstopcontract;设置与单口持仓,使内建平仓出场函数
Setstoploss(Zs*Bigpointvalue);  ,设置止损平仓