求幫忙編寫(xiě)(或修改)tsma函數(shù) [MC]
-
MC用戶(hù)求助:
input: pricevalue(numericseries),len(numericsimple);
variables:?
? ? ? ? var0( 0 ),?
? ? ? ? var1( 0 ),?
? ? ? ? var2( 0 ),?
? ? ? ? var3( 0 ),?
? ? ? ? var4( 1 / 6 ),?
? ? ? ? var5( 0 ),
? ? ? ? LRSlope(0),
? ? ? ? LRIntercept(0) ;
if len > 1 then?
? ? ? ? begin
? ? ? ? var2 = len * ( len - 1 ) * .5 ;
? ? ? ? var3 = len * ( len - 1 ) * ( 2 * len - 1 ) * var4 ;
? ? ? ? var5 = Square( var2 ) - len * var3 ;
? ? ? ? var0 = 0;
? ? ? ? for Value1 = 0 to len - 1?
? ? ? ? ? ? ? ? begin
? ? ? ? ? ? ? ? var0 = var0 + Value1 * pricevalue[Value1] ;
? ? ? ? ? ? ? ? end ;
? ? ? ? var1 = Summation( pricevalue, len ) ;
? ? ? ? LRSlope = -( len * var0 - var2 * var1) / var5 ;? //前面增加了一個(gè)負(fù)號(hào)
? ? ? ? LRIntercept = ( var1 - LRSlope * var2 ) / len ;
? ? ? ? TSMA_ = LRIntercept+LRSlope ;
? ? ? ? end
else if len=1 then TSMA_=pricevalue
else
? ? ? ? TSMA_ = -1 ;
以上是更改之后的代碼,對(duì)此有以下幾點(diǎn)說(shuō)明:
一、更改之后,從文華和MC的圖表上看,是完全一樣的,但是這兩個(gè)函數(shù)計(jì)算的值并不完全一致,有1個(gè)點(diǎn)左右的差異。
二、關(guān)于斜率的方向,這點(diǎn)MC和文華是不一樣,斜率的方向并不是絕對(duì)的。
三、MC的代碼是開(kāi)放的,也就是您可以準(zhǔn)確的看到MC函數(shù)的內(nèi)部邏輯;而文華的函數(shù)是封閉的,它有一個(gè)函數(shù)的類(lèi)似偽代碼的說(shuō)明,但內(nèi)部是如何并不知道,而且文華并不能將函數(shù)的計(jì)算結(jié)果輸出進(jìn)行分析,所以我沒(méi)有辦法去文華函數(shù)的正確性。
四、文華和MC的數(shù)據(jù)也有一定的差異,5分鐘數(shù)據(jù)螺紋1801,以收盤(pán)價(jià)為例,每一天都有一個(gè)值不相等,相差1到3個(gè)點(diǎn);最高價(jià)、最低價(jià)、開(kāi)盤(pán)價(jià)及tick數(shù)據(jù)并沒(méi)有測(cè)試。
?
-
MC回復(fù)討論一:
黑線為wh中繪制的
紅線為mc中繪制的
?
?
?
-
MC回復(fù)討論二:
input: pricevalue(numericseries),len(numericsimple);
variables:?
? ? ? ? var0( 0 ),?
? ? ? ? var1( 0 ),?
? ? ? ? var2( 0 ),?
? ? ? ? var3( 0 ),?
? ? ? ? var4( 1 / 6 ),?
? ? ? ? var5( 0 ),
? ? ? ? LRSlope(0),
? ? ? ? LRIntercept(0) ;
if len > 1 then?
? ? ? ? begin
? ? ? ? var2 = len * ( len - 1 ) * .5 ;
? ? ? ? var3 = len * ( len - 1 ) * ( 2 * len - 1 ) * var4 ;
? ? ? ? var5 = Square( var2 ) - len * var3 ;
? ? ? ? var0 = 0;
? ? ? ? for Value1 = 0 to len - 1?
? ? ? ? ? ? ? ? begin
? ? ? ? ? ? ? ? var0 = var0 + Value1 * pricevalue[Value1] ;
? ? ? ? ? ? ? ? end ;
? ? ? ? var1 = Summation( pricevalue, len ) ;
? ? ? ? LRSlope = -( len * var0 - var2 * var1) / var5 ;? //前面增加了一個(gè)負(fù)號(hào)
? ? ? ? LRIntercept = ( var1 - LRSlope * var2 ) / len ;
? ? ? ? TSMA_ = LRIntercept+LRSlope ;
? ? ? ? end
else if len=1 then TSMA_=pricevalue
else
? ? ? ? TSMA_ = -1 ;
以上是更改之后的代碼,對(duì)此有以下幾點(diǎn)說(shuō)明:
一、更改之后,從文華和MC的圖表上看,是完全一樣的,但是這兩個(gè)函數(shù)計(jì)算的值并不完全一致,有1個(gè)點(diǎn)左右的差異。
二、關(guān)于斜率的方向,這點(diǎn)MC和文華是不一樣,斜率的方向并不是絕對(duì)的。
三、MC的代碼是開(kāi)放的,也就是您可以準(zhǔn)確的看到MC函數(shù)的內(nèi)部邏輯;而文華的函數(shù)是封閉的,它有一個(gè)函數(shù)的類(lèi)似偽代碼的說(shuō)明,但內(nèi)部是如何并不知道,而且文華并不能將函數(shù)的計(jì)算結(jié)果輸出進(jìn)行分析,所以我沒(méi)有辦法去文華函數(shù)的正確性。
四、文華和MC的數(shù)據(jù)也有一定的差異,5分鐘數(shù)據(jù)螺紋1801,以收盤(pán)價(jià)為例,每一天都有一個(gè)值不相等,相差1到3個(gè)點(diǎn);最高價(jià)、最低價(jià)、開(kāi)盤(pán)價(jià)及tick數(shù)據(jù)并沒(méi)有測(cè)試。
有思路,想編寫(xiě)各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 511411198 進(jìn)行 有償 編寫(xiě)!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒(méi)有相關(guān)內(nèi)容