給個建議
初學時,盡量不要使用內建的函數,如pivothighvs,swingHigh..等
除非你知道內容是什麼,這很像以前老師要我們不要背公式,要自己推出來..
自己用自己的語法寫出來,進步會比較快.
當然還有一個進步超快的方式->把內建函數內容看懂.
如:
pivothighvs ->意思是:傳回最近反轉高點的價格.
內容是:
inputs:
Instance( numericsimple ),
PriceValue( numericseries ),
LeftStrength( numericsimple ),
RightStrength( numericsimple ),
Len( numericsimple ) ;
variables:
var0( 0 ),
var1( 0 ) ;
Value1 = Pivot( PriceValue, Len, LeftStrength, RightStrength, Instance, 1, var0,
var1 ) ;
PivotHighVS = var0 ;
裡面又使用了另一個函數: Pivot->計算最近反轉點的K棒位置及價格.
內容是:
重點在於VAR0 & VAR1 這兩個變數,花個時間看懂保證功力急增!
inputs:
PriceValue( numericseries ),
Len( numericsimple ),
LeftStrength( numericsimple ),
RightStrength( numericsimple ),
Instance( numericsimple ),
HiLo( numericsimple ),
oPivotPriceValue( numericref ),
oPivotBar( numericref ) ;
variables:
var0( 0 ),
var1( 0 ),
var2( 0 ),
var3( 0 ),
var4( false ),
var5( false ) ;
var3 = 0 ;
var5 = false ;
var1 = RightStrength ;
while var1 < Len and var5 = false
begin
var0 = PriceValue[var1] ;
var4 = true ;
var2 = var1 + 1 ;
while var4 = true and var2 - var1 <= LeftStrength
begin
condition1 = ( HiLo = 1 and var0 < PriceValue[var2] )
or ( HiLo = -1 and var0 > PriceValue[var2] ) ;
if condition1 then
var4 = false
else
var2 = var2 + 1 ;
end ;
var2 = var1 - 1 ;
while var4 = true and var1 - var2 <= RightStrength
begin
condition1 = ( HiLo = 1 and var0 <= PriceValue[var2] )
or ( HiLo = -1 and var0 >= PriceValue[var2] ) ;
if condition1 then
var4 = false
else
var2 = var2 - 1 ;
end ;
if var4 = true then
var3 = var3 + 1 ;
if var3 = Instance then
var5 = true
else
var1 = var1 + 1 ;
end ;
if var5 = true then
begin
oPivotPriceValue = var0 ;
oPivotBar = var1 + ExecOffset ;
Pivot = 1 ;
end
else
begin
oPivotPriceValue = -1 ;
oPivotBar = -1 ;
Pivot = -1 ;
end ; |