以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  [求助]好懵圈,这两个公式怎么算出来的结果都有问题啊  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=174970)

--  作者:vakoth
--  发布时间:2020/3/15 11:09:18
--  [求助]好懵圈,这两个公式怎么算出来的结果都有问题啊
这是用金字塔的递归写的,算出来的结果不对,无论是if barpos>=length+1还是if barpos>=2
variable:b:= 0;
if barpos>=2*length+1 then for i = 1 to length do begin
    a := if(c>c[barpos-i],100, 0);
    b := b + a/length;
    end

gl:b;


而下面的是对上面的公式的手工展开,通达信中可以算出结果,但是在金字塔中没有结果输出,无论是序列计算还是逐K线


B1 :=0+IF(C>REF(C,1),100, 0)/LENGTH;
B2:=B1+IF(C>REF(C,2),100, 0)/LENGTH;
B3:=B2+IF(C>REF(C,3),100, 0)/LENGTH;
B4:=B3+IF(C>REF(C,4),100, 0)/LENGTH;
B5:=B4+IF(C>REF(C,5),100, 0)/LENGTH;
B6:=B5+IF(C>REF(C,6),100, 0)/LENGTH;
B7:=B6+IF(C>REF(C,7),100, 0)/LENGTH;
B8:=B7+IF(C>REF(C,8),100, 0)/LENGTH;
B9:=B8+IF(C>REF(C,9),100, 0)/LENGTH;
B10:=B9+IF(C>REF(C,10),100, 0)/LENGTH;
B11:=B10+IF(C>REF(C,11),100, 0)/LENGTH;
B12:=B11+IF(C>REF(C,12),100, 0)/LENGTH;
B13:=B12+IF(C>REF(C,13),100, 0)/LENGTH;
B14:B13+IF(C>REF(C,14),100, 0)/LENGTH,COLORLIRED;
[此贴子已经被作者于2020/3/15 11:10:07编辑过]

--  作者:wenarm
--  发布时间:2020/3/15 14:26:05
--  

你每次拆解后的所表达的前后含义都不一样.图片点击可在新窗口打开查看

 

还是那句话,你要实现什么?


--  作者:yukizzc
--  发布时间:2020/3/15 14:33:09
--  
if barpos>=2*length+1 then
begin
    for i = 1 to length do
    begin
        a := if(c>c[barpos-i],100, 0);
        b := b + a/length;
    end
end

--  作者:vakoth
--  发布时间:2020/3/15 15:14:31
--  
非常感谢 yukizzc版主