其實您可以直接將指標(biāo)中的計算公式復(fù)制到信號中去,這個其實是通用的,它們都是通過調(diào)用函數(shù)或者進(jìn)行一些邏輯計算得到的數(shù)值結(jié)果。拿MACD指標(biāo)和MACD的信號為例,MC的公式編譯器中有MACD的指標(biāo)也有MACD的信號策略,您可以對比一下diff和dea的數(shù)值計算過程,其實是一樣的;除了MACD之外,您還可以看到其它一些指標(biāo)和信號也有這種情況。下面附上MACD的指標(biāo)和信號借參考:
//MACD指標(biāo)
inputs: FastLength( 12 ), SlowLength( 26 ), MACDLength( 9 ) ;
variables: var0( 0 ), var1( 0 ), var2( 0 ) ;
var0 = MACD( Close, FastLength, SlowLength ) ;
var1 = XAverage( var0, MACDLength ) ;
var2 = var0 - var1 ;
Plot1( var0, "MACD" ) ;
Plot2( var1, "MACDAvg" ) ;
Plot3( var2, "MACDDiff" ) ;
Plot4( 0, "ZeroLine" ) ;
condition1 = var2 crosses over 0 ;? ???
if condition1 then
? ? ? ? Alert( "Bullish alert" )
else?
begin?
condition1 = var2 crosses under 0 ;
if condition1 then
? ? ? ? Alert( "Bearish alert" ) ;
end;
//MACD LE 多頭信號
inputs:??FastLength( 12 ), SlowLength( 26 ), MACDLength( 9 ) ;
variables:??var0( 0 ), var1( 0 ), var2( 0 ) ;
var0 = MACD( Close, FastLength, SlowLength ) ;
var1 = XAverage( var0, MACDLength ) ;
var2 = var0 - var1 ;
condition1 = CurrentBar > 2 and var2 crosses over 0 ;
if condition1 then? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???
? ? ? ? Buy ( "MacdLE" ) next bar at market ;
//MACD SE空頭信號
inputs:??FastLength( 12 ), SlowLength( 26 ), MACDLength( 9 ) ;
variables:??var0( 0 ), var1( 0 ), var2( 0 ) ;
var0 = MACD( Close, FastLength, SlowLength ) ;
var1 = XAverage( var0, MACDLength ) ;
var2 = var0 - var1 ;
condition1 = CurrentBar > 2 and var2 crosses under 0 ;
if condition1 then? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???
? ? ? ? Sell Short ( "MacdSE" ) next bar at market ;
?
其實您可以直接將指標(biāo)中的計算公式復(fù)制到信號中去,這個其實是通用的,它們都是通過調(diào)用函數(shù)或者進(jìn)行一些邏輯計算得到的數(shù)值結(jié)果。拿MACD指標(biāo)和MACD的信號為例,MC的公式編譯器中有MACD的指標(biāo)也有MACD的信號策略,您可以對比一下diff和dea的數(shù)值計算過程,其實是一樣的;除了MACD之外,您還可以看到其它一些指標(biāo)和信號也有這種情況。下面附上MACD的指標(biāo)和信號借參考:
//MACD指標(biāo)
inputs: FastLength( 12 ), SlowLength( 26 ), MACDLength( 9 ) ;
variables: var0( 0 ), var1( 0 ), var2( 0 ) ;
var0 = MACD( Close, FastLength, SlowLength ) ;
var1 = XAverage( var0, MACDLength ) ;
var2 = var0 - var1 ;
Plot1( var0, "MACD" ) ;
Plot2( var1, "MACDAvg" ) ;
Plot3( var2, "MACDDiff" ) ;
Plot4( 0, "ZeroLine" ) ;
condition1 = var2 crosses over 0 ;? ???
if condition1 then
? ? ? ? Alert( "Bullish alert" )
else?
begin?
condition1 = var2 crosses under 0 ;
if condition1 then
? ? ? ? Alert( "Bearish alert" ) ;
end;
//MACD LE 多頭信號
inputs:??FastLength( 12 ), SlowLength( 26 ), MACDLength( 9 ) ;
variables:??var0( 0 ), var1( 0 ), var2( 0 ) ;
var0 = MACD( Close, FastLength, SlowLength ) ;
var1 = XAverage( var0, MACDLength ) ;
var2 = var0 - var1 ;
condition1 = CurrentBar > 2 and var2 crosses over 0 ;
if condition1 then? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???
? ? ? ? Buy ( "MacdLE" ) next bar at market ;
//MACD SE空頭信號
inputs:??FastLength( 12 ), SlowLength( 26 ), MACDLength( 9 ) ;
variables:??var0( 0 ), var1( 0 ), var2( 0 ) ;
var0 = MACD( Close, FastLength, SlowLength ) ;
var1 = XAverage( var0, MACDLength ) ;
var2 = var0 - var1 ;
condition1 = CurrentBar > 2 and var2 crosses under 0 ;
if condition1 then? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???
? ? ? ? Sell Short ( "MacdSE" ) next bar at market ;