金字塔决策交易系统

用户名  找回密码
 

微信登录

微信扫一扫,快速登录

帖子
查看: 5167|回复: 4

【趋势策略】SAR带移动止损系统-顾比倒数线止损

 关闭 [复制链接]

70

主题

191

帖子

301

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-18
曾用名:
发表于 2021-5-21 15:17 | 显示全部楼层 |阅读模式
//转自旧论坛版主_fly

SAR指标,通过前期的高低点,来研判行情反转,简单易懂、稳重可靠,长期使用SAR指标虽不能买进最低价,也不能卖出最高价,但可以避免长期套牢的危险,同时又能避免错失牛股行情,深受广大中小投资者的喜爱。SAR指标的计算公式相当繁琐,金字塔的PEL语言实现了SAR算法。

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

2019122011221519520.png

二、金字塔源码

[PEL] 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
//中间变量
variable:zs=c,maxhl=c,maxlow=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 (low<zs) then sell(1,1,marketr);if holding<0 and (high>zs) then sellshort(1,1,marketr);
 
//开多仓:SAR向上突破K线,MACD在0线附近金叉
if con1 and con2 and holding=0 then
   begin
      buy(1,1,market);
      zs:=GBD;      //调用顾比倒数低点连线做为多单止损
      maxhl:=high;    //记录当时的高点
  end
 
//开空仓,开空条件请自行添加
if 开空条件 and holding=0 then
   begin
      buyshort(1,1,market);
      zs:=GBG;      //调用顾比倒数高点连线做为空单止损
      maxlow:=low;    //记录当时的低点
  end
if holding>0 and high>maxhl and GBD>zs then  //顾比低点创新高后,重新定位离场位,以实现多头浮动止损
   begin
     zs:=GBD;
     maxhl:=high;
  end
 
if holding<0 and low<maxlow and GBG<zs then  //顾比高点创新低后,重新定位离场位,以实现空头浮动止损
   begin
     zs:=GBG;
     maxlow:=low;
  end
 
止损线:zs;






金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

举报

10

主题

37

帖子

37

积分

Rank: 1

等级: 新手上路

注册:
2021-11-8
曾用名:
发表于 2021-11-9 10:22 | 显示全部楼层
//转自旧论坛版主阿火,感谢阿火。
顾比倒数线,以下跌趋势为例,如何寻找顾比倒数线:
    首先找到下跌趋势线的最低点(标注为1的那条蜡烛线),这是第一只“重要的蜡烛线”。
    然后沿着这条蜡烛线向左移动,直到遇见另一只“最高价高于蜡烛线1”的蜡烛线,这就是我们要找的第二只“重要的蜡烛线”。
    再沿着这只蜡烛线向左移动,直到遇见下一只“最高价的蜡烛线”,这就是第三只“重要的蜡烛线”。此时,沿着第三只蜡烛线的顶端画一条直线,这就是“顾比倒数线”;
上升曲线同理!

以前看过一个文华版本的顾比倒数线,用了很大蝙蝠的代码。
金字塔只要10行。以下代码把每根K线图的“第三只重要蜡烛线”的高点、低点全部计算出来了

//逐K线模式和序列模式均适用:
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));//第三只重要蜡烛线的高点

注意:如果第三只重要的蜡烛线找不到的话(比如第二只已经是历史最高点或者最低点),就用20周期的高点(低点)代替

顾比倒数线一般用于止损,和均线等指标配合,也可用于止盈
比如:进场后,5个点止损,浮动盈利达到15个点后,启动顾比倒数线止损。具体用法大家各自发挥
回复

举报

70

主题

191

帖子

301

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-18
曾用名:
 楼主| 发表于 2021-11-16 15:37 | 显示全部楼层
只有多头示例,其它部分自己根据代码思想处理就好了
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

举报

3

主题

9

帖子

9

积分

Rank: 1

等级: 新手上路

注册:
2022-6-11
曾用名:
发表于 2022-6-16 12:55 | 显示全部楼层
老师,有劳,这个公式,能否写一个开空的
回复

举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-8-29 10:21 , Processed in 0.122888 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表