以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  交易策略发布专区  (http://weistock.com/bbs/list.asp?boardid=10)
----  【多头趋势策略】-SAR带移动止损系统  (http://weistock.com/bbs/dispbbs.asp?boardid=10&id=173640)

--  作者:fly
--  发布时间:2019/12/20 11:16:11
--  【多头趋势策略】-SAR带移动止损系统
       SAR指标,通过前期的高低点,来研判行情反转,简单易懂、稳重可靠,长期使用SAR指标虽不能买进最低价,也不能卖出最高价,但可以避免长期套牢的危险,同时又能避免错失牛股行情,深受广大中小投资者的喜爱。
     SAR指标的计算公式相当繁琐,金字塔的PEL语言实现了SAR算法,附原帖供参考:
http://www.weistock.com/bbs/dispbbs.asp?boardid=10&id=3437&authorid=0&page=0&star=1

一、SAR策略思想
     采用趋势技术指标-SAR、MACD进行开仓信号的判断,基本思想:当K线价格向上突破SAR指标,同时MACD指标在0线附近也形成“金叉”时,价格下跌趋势即将结束,将反转向上,买入开仓。
     止损采用顾比倒数线。感谢阿火的顾比倒数线,原帖附上:http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=6337

此主题相关图片如下:sar顾比倒数线.png
按此在新窗口浏览图片

二、金字塔策略源码

//中间变量
variable:zs=c,maxhl=c;

//顾比倒数线
DISTL:=NEWLBARS(L,1);
DISTH:=NEWHBARS(H,1);
HI20:=REF(HHV(H,20),1);
LO20:=REF(LLV(L,20),1);
GBD1:=REF(L,DISTL);
GBD2:=REF(GBD1,DISTL);
GBD:=IF(GBD2>0,MAX(LLV(L,20),GBD2),LLV(L,20));
GBG1:=REF(H,DISTH);
GBG2:=REF(GBG1,DISTH);
GBG:=IF(GBG2>0,MIN(HHV(H,20),GBG2),HHV(H,20));

//SAR指标
Sar1:SAR(10,2,20),CIRCLEDOT;
//MACD指标
DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  := EMA(DIFF,9);
MACD := 2*(DIFF-DEA);

//交易条件
con1:=any(ref(Sar1>high,1) and Sar1<high,3)=1;   //最近3周期,有SAR向上突破K线
con2:=any(cross(diff,dea),3)=1 and diff<5;             //最近3周期,MACD在0线附近金叉

//下单模块
//止盈止损平仓:下破移动止损线后离场
if holding>0 and (c<zs) then sell(1,1,limitr,c);

//开多仓:SAR向上突破K线,MACD在0线附近金叉
if con1 and con2 and holding=0 then
   begin
      buy(1,1,limitr,c);
      zs:=gbd;      //调用顾比倒数线做为止损
      maxhl:=h;    //记录当时的高点
  end

if holding>0 and h>maxhl then  //创新高后,重新定位离场位,以实现浮动止损
   begin
     zs:=gbd;
     maxhl:=h;
  end

止损线:zs;

[此贴子已经被作者于2019/12/20 11:31:13编辑过]

--  作者:zm71212302
--  发布时间:2019/12/20 17:44:29
--  
NB