|
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线附近也形成“金叉”时,价格下跌趋势即将结束,将反转向上,买入开仓。
二、金字塔策略源码
- //中间变量
- 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;
复制代码
|
|