Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]这个新版的TBSAR指标,那个大侠可以帮我改成金字塔的

1楼
人生如棋 发表于:2012/2/27 15:51:48

Params
 Numeric n(2);     //高低点通道的周期
 Numeric stepaf(0.02);   //加速因子的步长
 Numeric maxaf(0.2);    //加速因子的最大值
Vars
 NumericSeries hhn;    //高点通道
 NumericSeries lln;    //低点通道
 NumericSeries bysar;   //新版的SAR数值
 NumericSeries flag;    //涨跌趋势的标志。1为涨,-1为跌;
 NumericSeries byaf;    //新版的加速因子
Begin
 //计算高低点的通道
 hhn=Highest(High[1],n);
 lln=Lowest(Low[1],n);
 PlotNumeric("hhn",hhn);
 PlotNumeric("lln",lln);
 //因为TB运行机制之回溯,第一根BAR不画图。所以跳过不运行
 If(CurrentBar<1)
  Return;
 //从图表第二跟BAR开始作为SAR的起点。 
 If(CurrentBar==1)
  {
  If(Close>=Open)
   {
   flag=1;
   bysar=Low;
   byaf=0;
   }
  Else
   {
   flag=-1;
   bysar=High;
   byaf=0;
   }
  PlotNumeric("bysar",bysar);
  Commentary("flag"+Text(flag));
  return;
  }
 //涨势当中 
 If(flag==1 And CurrentBar>1)
  {
  //涨转跌
  If(Low[1]<bysar[1])
   {
   flag=-1;
   bysar=hhn;
   byaf=0;
   }
  //继续涨 
  Else
   {
   //高点通道创新高
   If(hhn>hhn[1] And byaf+stepaf<=maxaf)
    byaf=byaf+stepaf;
   //针对趋势开始的第一根BAR需要给出byaf初值 
   If(byaf<stepaf)
    byaf=stepaf;
   bysar=bysar[1]+byaf*(hhn-bysar[1]); 
   }
  PlotNumeric("bysar",bysar,0,Green);
  Commentary("flag"+Text(flag));
  return;
  }
 //跌势当中 
 If(flag==-1 And CurrentBar>1)
  {
  //跌转涨
  If(High[1]>bysar[1])
   {
   flag=1;
   bysar=lln;
   byaf=0;
   }
  //继续跌 
  Else
   {
   //低点通道创新低
   If(lln<lln[1] And byaf+stepaf<=maxaf)
    byaf=byaf+stepaf;
   //针对趋势开始的第一根BAR需要给出byaf初值 
   If(byaf<stepaf)
    byaf=stepaf;
   bysar=bysar[1]+byaf*(lln-bysar[1]); 
   }
  PlotNumeric("bysar",bysar,0,Red);
  Commentary("flag"+Text(flag));
  return;
  }
End

 

2楼
just 发表于:2012/2/27 16:17:59
顶一个 求高手解答图片点击可在新窗口打开查看
3楼
阿火 发表于:2012/2/28 5:54:10

这是新版?

 

在flag=1的时候,随时行情的上涨,突破通道,上移bysar,反而会触碰到当根K线的最低点

而比较的时候是采用 Low[1]<bysar[1]

所以,会出现行情在大幅上涨的过程中却出现多转空的情况

明显不合逻辑呀

 

 

谁有开拓者账户?借登录一下,我调试看看,是不是跟我理解的一样。

[此贴子已经被作者于2012-2-28 5:57:39编辑过]
4楼
人生如棋 发表于:2012/2/28 10:54:09

火哥,已经发给你了,帐号密码

5楼
阿火 发表于:2012/2/29 9:39:52

input:n(2),stepaf(0.02),maxaf(0.2);
variable:byaf=0,flag=0;
hhn:=hhv(h,n);
lln:=llv(l,n);
if barpos=2 then begin
 if c>=o then begin
  flag:=1;
  bysar:=low;
  byaf:=0;
 end
 else begin
  flag:=-1;
  bysar:=high;
  byaf:=0;
 end
end
if flag<>0 then sar0:bysar;
if flag=1 and l<bysar then begin
 flag:=-1;
 bysar:=hhn;
 byaf:=0;
end
else if flag=-1 and h>bysar then begin
 flag:=1;
 bysar:=lln;
 byaf:=0;
end
if (flag=1 and h>ref(hhn,1)) or (flag=-1 and l<ref(lln,1)) then byaf:=min(maxaf,byaf+stepaf);
byaf:=max(stepaf,byaf);
if flag=1 then bysar:=bysar+byaf*(hhn-bysar);
if flag=-1 then bysar:=bysar+byaf*(lln-bysar);

6楼
just 发表于:2012/3/2 14:06:14
膜拜啊图片点击可在新窗口打开查看
7楼
阿火 发表于:2012/3/2 16:12:12

快递个模特般的美女过来就成

共7 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01563 s, 3 queries.