欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 麻烦老师把这个技术指标公式改为交易公式,谢谢!

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3618人关注过本帖树形打印复制链接

主题:麻烦老师把这个技术指标公式改为交易公式,谢谢!

帅哥哟,离线,有人找我吗?
maxuser2004
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:228 积分:0 威望:0 精华:0 注册:2017/1/20 15:05:44
麻烦老师把这个技术指标公式改为交易公式,谢谢!  发帖心情 Post By:2017/6/27 16:03:47    Post IP:120.196.59.181[只看该作者]

//sar是个很有用的处理止损功能的函数,由于算法特殊,普通的软件的公式系统是无法进行描述的,这里我们将向大家展示金字塔PEL语言强大的算法描述功能,可以简单实现SAR算法功能。此外,用户可以通过该公式算法,加入自己的代码,进行特定的实盘操作。
 
INPUT:CYC(10,1,100,2);
RUNMODE:0; //使用逐周期运行模式
 
//保证variable声明的变量都尽量在公式的最前面,防止带有IF语句的分支执行影响变量的初始化
variable:Step = 2 / 100; //步长
variable:fMax = 20 / 100; //最大值
 
variable:sarx=0;
variable:T=0;
variable:EP=0;
variable:AF=0;
 
//计算高点低点的值放到IF前面,防止前面语句直接退出导致最前CYC个周期的数据无法统计到
highprice:=ref(hhv(high,cyc),1);
lowPrice:=ref(llv(low,cyc),1);
 
原始SAR:SAR(10,2,20);
 
if barpos <= Cyc then
 exit;//不到CYC的统计周期,直接退出等待下个周期再做判断
if barpos = cyc+1 then
begin
 af:=Step;
 ep:=-1;
 if (high[barpos]-high[barpos-1])+(low[barpos]-low[barpos-1]) > 0 then
 begin
  //看跌
  T:= -1;
  sarx:=highprice;
 end
 else
 begin
  //看涨
  T:= 1;
  sarx:=lowPrice;
 end
 GOTO ENDANDSHOW;//跳转到末尾直接显示
End
//判断出这些日子数据的上涨,或者下跌
if T > 0 then
begin
 //是否为跳转标志
 if ep > 0 then
 begin
  sarx:=lowPrice;
  EP:=-1;
  GOTO ENDANDSHOW;//跳转到末尾直接显示
 end
 
 //如果今日最高价大于前N的最高价,加速因子需要增加
 if high > highprice then
 begin
  af := af+step;
  if af > fmax then
    af := fmax;
 end
 
 fsar := sarx + af * (highprice - sarx);
 //是否跳转
 if fsar > low then
 begin
  T:=-1;
  ep:=1;
  af:=step;
 end
 sarx:=fsar;
end
else
begin
 if ep > 0 then
 begin
  sarx:=highprice;
  ep:=-1;
  GOTO ENDANDSHOW; //跳转到末尾直接显示
 end
 
 //看跌
 if low < lowPrice then
 begin
  af := af + step;
  if af > fmax then
    af := fmax;
 end
 
 fsar := sarx + af * (lowprice-sarx);
 
 //是否跳转
 if fSar < High then
 begin
  T := 1;
  EP := 1;
  AF := Step;
 end
 sarx := fSar;
end
//显示变量
ENDANDSHOW@; //此为语句标号,GOGO语句可以用这个标号直接跳转到这里
ShowSar:sarx;
谢谢老师!

 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26631 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/6/27 16:15:21    Post IP:180.169.30.6[只看该作者]

请明确需求,以及需求和上述代码中关系。



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
maxuser2004
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:228 积分:0 威望:0 精华:0 注册:2017/1/20 15:05:44
交易信号产生条件  发帖心情 Post By:2017/7/4 11:42:54    Post IP:219.128.76.75[只看该作者]

若上升过程,s a r被价格下穿,则卖空平多。

 回到顶部
帅哥哟,离线,有人找我吗?
maxuser2004
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:228 积分:0 威望:0 精华:0 注册:2017/1/20 15:05:44
下降过程反之亦然  发帖心情 Post By:2017/7/4 11:44:15    Post IP:219.128.76.75[只看该作者]

下降过程反之亦然

 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26631 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/7/4 12:17:12    Post IP:180.169.30.6[只看该作者]

怎么定于上升和下降?



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
maxuser2004
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:228 积分:0 威望:0 精华:0 注册:2017/1/20 15:05:44
  发帖心情 Post By:2017/7/5 9:21:06    Post IP:120.196.59.181[只看该作者]

sar随着C上升而上升即为上升;SAR随着C下降而下降为下降。主要是,我看不懂你们技术指标公式中定义的上升和下降过程,就是找不到这块,写不出来。麻烦老师指导一下,谢谢


 回到顶部
美女呀,离线,留言给我吧!
pyd
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2017/7/5 9:37:04    Post IP:180.169.30.6[只看该作者]

c>ref(c,1) and sar>ref(sar,1) ;//c 和sar都上升

 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26631 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/7/5 10:05:56    Post IP:180.169.30.6[只看该作者]

你一楼给的是通过编程实现sar函数。我们不建议用户在策略中使用goto 这类跳转语句。

 

 

你的需求如下

mysar:SAR(10,2,20);


if mysar>ref(mysar,1) and  CROSS(mysar,c)  then  begin
sell();
BUYSHORT()

end

if mysar<ref(mysar,1) and  CROSS(c,mysar)  then  begin
sellshort();
BUY()

end

 



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
maxuser2004
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:228 积分:0 威望:0 精华:0 注册:2017/1/20 15:05:44
不用GOTO程序该如何实现SAR?  发帖心情 Post By:2017/7/5 11:15:43    Post IP:120.196.59.181[只看该作者]

又如:SAR(10,2,20)表示计算10日抛物转向,步长为2%,极限值为20%

20%该如何理解?

 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26631 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/7/5 11:26:34    Post IP:180.169.30.6[只看该作者]

SAR函数不就是现成的吗。

你一楼的公式实现的功能等价于SAR函数。

至于极限值参数的作用意义,你可以询问下做交易的人。



编程无捷径,技巧靠积累。
 回到顶部