简单的算法问题

一个均值权重的算法,不知如何用程序表达

在onbar中,目前常用的15日收盘价均价算法如下,变量都已经声明OK

aa = xaverage(close ,15)   这个没问题


后续有个算法是 加权模式

目前我们求一个 bb, 她的算法表达如下, 加权系数,没问题,就是不知道如何通过程序表达bb

bb ==   0.2* aa t+ 0.8* aa t-1  

用表格数据来表达算法

时间向后推
T1=第16根bar
T2= T1+1 bar
T3= T2+1 bar
......
aa (15)
15根bar的收盘均价
bb
T=1 第16根bar5050(初始值)
T=2 第17根棒520.2*52+0.8*50==50.4  ==bb
T=3480.2*48 + 0.8*50.4 == 49.92(t3的bb值)
T=4550.2*55 + 0.8*49.92 ==11+39.93==50.93

这个算法用程序,应该如何表达



算法代理失效问题?
算法代理持仓同步的问题
算法代理问题bug
算法代理代理详情不显示是什么问题?
问一个简单的画虚线问题
请教三步检查算法代理使用中的两个问题
简单的代码排查方法
算法代理集中讨论贴
算法代理问题
参数优化的遗传算法

看下系统的指数平均 就是你这个需求

price就是你的aa

factor可以按照你的需求设置成参数

6

感谢大神,参照大神给的架构,现在的写法如下,请大神过目,是否ok

Params

   Numeric ts(0.2);

   Numeric dif(15);

   

Vars

   Series<Numeric> aa ;

   Series<Numeric> bb ;


Events

   OnBarOpen(ArrayRef<Integer> indexs)

   {

       aa = XAverage(Close,dif);  // 15日 收盘均价

       if(CurrentBar == 0) aa = Price;

       Else

       {

           bb= ts*aa + (1-ts)*aa[1];

       }

   }


大哥 这可不是我的 是系统自带的

打开策略管理 策略应用 旁边就是用户函数 里面很多案例可以学习和使用

CurrentBar == 0是第一根bar哦,看你初始的设计 是从第16根bar开始算

另外,根据你的设计,aa是算的指数平均值,bb是指数平均的移动加权。

使用的时候好像弄混了。

  OnBarOpen(ArrayRef<Integer> indexs)

  {

      aa = XAverage(Close,dif);  // 15日 收盘均价

      if(CurrentBar == dif+1) bb = aa;

      Else if(CurrentBar > dif)

      {

          bb= ts*aa + (1-ts)*aa[1];

      }

  }

写得不太严谨哈 老师说要把所有的情况都考虑到哈 ,我没有写CurrentBar < dif+1的情况

还有没有bug我也不确定 你自己试试 我只能看出这么多

*Else if(CurrentBar > dif+1)

ok,逻辑能够通顺,应该是想要的部分。。编译没有问题,后续弄完后,在测试。。十分感谢。。十分感谢。。

请教各位大神老师,求教