如何找出數組中與其他值之差<0.02的次數最多的那個值? [金字塔]
- 咨詢內容:
斜率:=(H-ref(H,1))/ref(H1,1);
前N天的斜率形成一個長度為N的數組,比如按IF日線,就是0.0060, 0.0042, 0.0048, 0.0018, -0.0022, 0.0066
現在想遍歷數組中每個值與其它值的差,然后找出差<0.002的次數最多的那個值。
比如0.0048,就和其中3個數的差都小于0.002,因此就選出0.0060, 0.0042, 0.0048, 0.0066這4個次數都為3的值,求得它們的平均數為當前斜率。
而0.0018, -0.0022因為騙離其它值太遠,就被拋棄了。
現在有簡單的函數或算法,來實現這個目標嗎?
- 金字塔客服:
這樣寫 好象不行
斜率:=(H-ref(H,1))/ref(H1,1);
variable:ss=0,kk=0;
variable:A[5]=0;
hh:=斜率;
A[1]:=ref(hh,1);
A[2]:=ref(hh,2);
A[3]:=ref(hh,3);
A[4]:=ref(hh,4);
A[5]:=ref(hh,5);斜率差:=0.002;
if count((hh-A)<=斜率差,6)>=4 then begin
ss:=ss+hh;
kk:=kk+1;
end
if count((A[1]-A)<=斜率差,6)>=4 then begin
ss:=ss+A[1];
kk:=kk+1;
end
if count((A[2]-A)<=斜率差,6)>=4 then begin
ss:=ss+A[2];
kk:=kk+1;
end
if count((A[3]-A)<=斜率差,6)>=4 then begin
ss:=ss+A[3];
kk:=kk+1;
end
if count((A[4]-A)<=斜率差,6)>=4 then begin
ss:=ss+A[4];
kk:=kk+1;
end
if count((A[5]-A)<=斜率差,6)>=4 then begin
ss:=ss+A[5];
kk:=kk+1;
end
當前斜率:ss/kk,colorgreen; - 用戶回復:
你的需求過于復雜, 無法用簡單的函數實現.
建議你還是多學習金字塔的單步跟蹤調試吧, 邏輯復雜,殊無法幫你編寫
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 1145508240 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容