macd的公式
diff : ema(close,short) - ema(close,long);
dea : ema(diff,m);
macd : 2*(diff-dea), colorstick;
它的變數是可以直接進行加減*除的,但是我們要知道,它裡面的close這個東西實際上也是乙個陣列型別的。同過總結分析我們可以知道。我們在c#當中可以使用操作符過載來實現陣列的相加相減,或者運算。但是陣列這個東西是系統自帶的型別,我們是沒有辦法對它再進行操作符的過載,所以我們自己需要構造成乙個型別出來。
創造了乙個型別是 floatlist型別,
public class floatlist : list
public floatlist(int length):base(length)
{}public floatlist(ienumerable input)
: base(input)
public static floatlist operator +(floatlist input,float m)
...其它的省略
}因為**裡面的資料實際上就是float型別了。
這樣你就可以對它進行操作符的過載了。
再接下來你要實現的是乙個種全域性函式,實現的方式是通過父類來實現的。如果在是指令碼語言的話,還可以用其它的方式。
這樣的話你只要讓你的類去繼承basefunctions類就可以實現了。
看我們的乙個例子
public class macdhelper:basefunctions
dede擴充套件資料型別 資料型別擴充套件
資料型別擴充套件 整數擴充套件 整數的進製有二進位制 0b 八進位制 0 十進位制,十六進製制 0x 例 int num1 10 int num2 0b10 int num3 010 int num4 0x10 system.out.println num1 system.out.println n...
資料型別擴充套件
進製 二進位制0b 十進位制 八進位制0 十六進製制0x int i1 0 int i2 0b10 二進位制 int i3 010 八進位制 int i4 0x10 十六進製制 system.out.println i1 0 system.out.println i2 2 system.out.pr...
資料型別擴充套件
浮點型 float 與 double 特點 有限 離散 捨入誤差 大約 接近但不等於 float a 0.1f double b 1.0 10 system.out.println f d false float d1 12354554212f float d2 d1 1 system.out.pr...