n:20;
m:60;
UP:=if(C>ref(c,1),(C-ref(c,1)),0);
DN:=if(C<ref(c,1),ABS(C-ref(c,1)),0);
Su:=SUM(UP,n);
Sd:=SUM(DN,n);
CMO:(Su-Sd)/(Su+Sd)*100;
F:=2/(M+1);
VARIABLE:VIDYA:=0;
if BARPOS<20 then VIDYA:=0;
if BARPOS>=20 then
begin
VIDYA:=c*f*abs(cmo)+VIDYA*(1-f*abs(cmo)) ;
end
show:VIDYA;
技术009 发表于 2022-8-16 08:56
[mw_shl_code=pel,true]n:20;
m:60;
UP:=if(C>ref(c,1),(C-ref(c,1)),0);
技术009 发表于 2022-8-16 09:02
你逻辑里用到了上一个K时候得值,那如果当前是第一个有效值呢?
你后续自行调整吧。反正方法已经给出来了 ...
技术009 发表于 2022-8-16 09:23
最开始几个有效值 的大波动 是因为 在最开始位置 VIDYA(i-1) 会是一个无效值(代码里以0替代了)导致得。
...
欢迎光临 金字塔决策交易系统 (https://www.weistock.com/bbs/) | Powered by Discuz! X3.4 |