Cómo obtener el último cruce MACD
Parámetros
Valor FastLength(12);
Valor SlowLength(26);
Valor MACDLength; (9 );
Vars
MACDValue numérico
AvgMACD numérico
MACDiff numérico
Comienzo; p>
MACDValue = XAverage( Cerrar, FastLength ) - XAverage( Cerrar, SlowLength
AvgMACD = XAverage(MACDValue,MACDLength
MACDDiff = MACDValue - AvgMACD;
PlotNumeric(" MACD",MACDValue);
PlotNumeric("MACDAvg",AvgMACD);
Si (MACDDiff >= 0) p>
PlotNumeric("MACDDiff",MACDDiff,0,Red
Else
PlotNumeric("MACDDiff",MACDDiff,0,Green
);PlotNumeric("Zero Line",0);
End
Una de mis estrategias comerciales requiere el último cruce MACD como señal para abrir una posición:
If( MACDValue[1] > AvgMACD[1] y posición de mercado! = 1)
{
Comprar(0,Open);
}
He intentado cambiar el tipo numérico de variable de MACD al tipo numérico de serie variable
, es decir: Vars
NumericSeries AvgMACD
NumericSeries MACDValue
Pero la forma en que lo programé no me pareció correcta cuando lo probé
.