以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  交易策略发布专区  (http://222.73.7.161/bbs/list.asp?boardid=10)
----  sar线思路的动态止损策略  (http://222.73.7.161/bbs/dispbbs.asp?boardid=10&id=51042)

--  作者:bizstar
--  发布时间:2013/4/15 11:09:01
--  sar线思路的动态止损策略

参考了admin的pel算法写的sar线。我自己就想写一个可以根据开仓时点,自定义起始值的sar线移动止损策略。

结果努力终于写出来了。发出来,请高手给予指导和完善。

highprice:=hhv(high,ENTERBARS+3);//多仓sar初始值可以自定义
lowPrice:=llv(low,ENTERBARS+3);//空仓sar初始值可以自定义
多以来最高:=if(holding>0 and enterbars>0,ref(hhv(h,enterbars+1),1),null);
空以来最低:=if(holding<0 and enterbars>0,ref(llv(l,enterbars+1),1),null);
kc:=ENTERBARS,LINETHICK0;
//c2:holding,NOAXIS;

//看跌KK AND HOLDING=0
if cross(0,holding) then begin
sarx:=highprice;
af:=0;
end
//看涨
if cross(holding,0) then begin
sarx:=lowPrice;
af:=0;
end
//判断出这些日子数据的上涨,或者下跌
if HOLDING =1 and ENTERBARS>0   then begin
//如果今日最高价大于前N的最高价,加速因子需要增加
 If h>多以来最高 then BEGIN
 af:=af+0.01;//加速因子的累加值与最大值可以自己定义。
 if af>=0.1 then BEGIN
 af:=0.1;
 end
 end
fsar := sarx + af * (多以来最高 - sarx);
sarx:=fsar;
end

//看跌
if holding=-1 and ENTERBARS>0 then begin
 if low < 空以来最低 then begin
   af := af + 0.01;
   if af >= 0.1 then
    af := 0.1;
 end
fsar := sarx + af * (空以来最低-sarx);
sarx := fSar;
end

//显示变量
ENDANDSHOW@; //此为语句标号,GOGO语句可以用这个标号直接跳转到这里
ShowSar:sarx,CIRCLEDOT,colorred;

 


--  作者:bizstar
--  发布时间:2013/4/17 9:01:22
--  
谢谢管理员勉励。
--  作者:huafalinna1
--  发布时间:2013/4/24 18:51:27
--  
希望有人可以再改进一下~
--  作者:free_chase
--  发布时间:2013/4/28 22:30:52
--  

这个必须顶。。。


--  作者:ztop123
--  发布时间:2014/7/22 23:40:23
--  
顶,里面众多的函数应用让我这个程序初学者学到很多。
踩,里面只有粗糙的技术分析,而没有丝毫的交易哲学作为指导方向,作为一个资深手动交易员善意提醒。

--  作者:老李
--  发布时间:2019/12/18 14:06:59
--  
谢谢管理员勉励。