請教各位先進:
MC stochastic函數的腳本如下:
其中,黃色底紋有關 currentbar的部分,我看不懂。
1. 根據下文的說明 currentbar 是「策略運算最大使用K棒數量」之後開始執行策略而開始計算,我的一些腳本 current大約為 數千(日線)到 20多萬(分線)。
http://www.multicharts.com.tw/dis/dis_Content.aspx?D_ID=2&SN=1705
2. 函數腳本(如下)的 Len1一般是 3, 如果上面對currentbar 的定義是正確的話,var6 一定為負值,則 condition1 除了策略啟動剛開始的那幾根外,不可能為 true,如此失去了函數的意義了。
if SmoothingType = 1 then begin
var6 = Len1 - CurrentBar ;
condition1 = var6 > 0 and CurrentBar > 0;
3. 請各位先進解惑。謝謝大家!
==================================
inputs:
PriceValueH( numericseries ),
PriceValueL( numericseries ),
PriceValueC( numericseries ),
StochLen( numericsimple ),
Len1( numericsimple ),
Len2( numericsimple ),
SmoothingType( numericsimple ),
oFastK( numericref ),
oFastD( numericref ),
oSlowK( numericref ),
oSlowD( numericref ) ;
variables:
var0( 0 ),var1( 0 ), var2( 0 ),var3( 0 ),
var4( 0 ),var5( 0 ),var6( 0 ),var7( 0 );
Stochastic = 1 ;
var0 = Lowest( PriceValueL, StochLen ) ;
var1 = Highest( PriceValueH, StochLen ) ;
var2 = PriceValueC - var0 ;
var3 = var1 - var0 ;
if var3 > 0 then
oFastK = var2 / var3 * 100
else begin
oFastK = 0 ;
Stochastic = -1 ;
end ;
if condition1 then
begin
var4 = ( Cum( var2 ) + var6 * var2[ CurrentBar - 1 ] ) / Len1 ;
var5 = ( Cum( var3 ) + var6 * var3[ CurrentBar - 1 ] ) / Len1 ;
end
else
var4 = Average( var2, Len1 ) ;
var5 = Average( var3, Len1 ) ;
if var5 > 0 then
oFastD = var4 / var5 * 100
oFastD = 0 ;
var7 = Len2 - CurrentBar ;
condition1 = var7 > 0 and CurrentBar > 0 ;
oSlowD = ( Cum( oFastD ) + var7 * oFastD[ CurrentBar - 1 ] ) / Len2
oSlowD = Average( oFastD, Len2 ) ;
else if SmoothingType = 2 then
oFastD = XAverage( oFastK, Len1 ) ;
oSlowD = XAverageOrig( oFastD, Len2 ) ;
oSlowK = oFastD ;
==============================================
函數說
條件1成立時
Var4 跟Var5 是A
不然 Var4 跟 Var5 是B
有定義條件1成立與否的狀況呀
若 Var6 為負數就是走條件1不成立的那條路了