Archive for mayo, 2010
Gestión dinámica de stops y de toma de beneficios a partir del indicador ATR.
El ATR(N) o Average True Range es un indicador que determina la volatilidad de mercado.
Se interpreta como la amplitud media de la cotización del instrumento observado en las últimas N observaciones.
Si aplicamos el indicador ATR (14) al EUR/USD en una grafica horaria (ver a continuación) obtenemos un valor del ATR de 0,062.
Este valor significa que en las últimas 14 horas, la cotización del EUR/USD se ha movido con una volatilidad horaria de 62 pips pudiendo por lo tanto alcanzar los valores :
- Banda alta => close + ATR => 1.3521 + 62 pips = 1.3583
- Banda baja => close – ATR => 1.3521 – 62 pips = 1.3459
Sobre esta definición, se entiende fácilmente las razones por las que este indicador es interesante tanto para realizar una gestión dinámica de stops como para realizar una gestión dinámica de tomas de beneficio.
Si tomáramos limites fijos tanto para la gestión de stops o para la toma de beneficios cometeríamos un error porque no tomaríamos en cuenta el “estado” del mercado, su volatilidad.
- En un mercado poco volátil el stop de una posición debe ser menor que en un mercado volátil
- En un mercado volátil la toma de beneficios debe realizarse con limites superiores que en un mercado poco volátil
La idea por lo tanto en ambos casos es aplicar niveles dinámicos a partir de un multiplicador del ATR de la siguiente manera.
STOP
if position = long then
stop = close – 2 x ATR
end
if position = short then
stop = close + 2 x ATR
end
TOMA BENEFICIOS
if PositionProfit > 3 x ATR then exit position
Cuando tengo una posición abierta, me parece también interesante poder visualizar el nivel de beneficios en términos de ATR.
Permite obtener una visión de mi beneficio en términos de volatilidad y me puede ayudar (en caso de trading manual) en tomar la decisión de cierre de una posición.
Un beneficio superior a 8 ATR se puede considerar como un beneficio muy alto.
Se recomienda cerrar posiciones a partir de los niveles de 4 ATR.
Adjunto el código Tradestation que permite visualizar el nivel de ganancia ATR.
if MP = 1 or MP = -1 then begin
//ATR Profit
ID = Text_New(Date, Time, Low,NumToStr(AbsValue(ContractProfit/(ATRData * 100000)),0));
end;
Como utilizar el indicador SAR para cerrar una posición?
El indicador Parabólico SAR (Stop and Reverse) permite identificar tendencias y se utiliza como stop dinámico o “trailing stop“.
- Cuando la parabola se situa debajo del precio, el trend es generalmente “bullish”
- Cuando la parabola se situa encima del precio, el trend es generalmente “bearish”
Por mi parte, utilizo el indicador SAR para identificar el fin de una tendencia y el momento de cerrar la posición.
- Cuando estoy largo cierro la posición cuando la parábola del SAR pasa a estar debajo de la cotización a estar encima.
- Cuando estoy corto, cierro la posición cuando la parábola SAR pasa a estar por encima de la cotización a estar por debajo.
El código Tradestation para recuperar el evento (el “reverse” del SAR) es el siguiente:
//Inputs
Inputs:
SARAF(0.012),
//Declare variables to hold calculated values
Vars:
oParCl(0), oParOp(0), oPosition(0), oTransition(0),
//Variable assignment stores the calculation
SARData = ParabolicSAR (SARAF, 0.4, oParCl, oParOp, oPosition, oTransition);
MP = MarketPosition;
//We are long
if MP = 1 then
//SAR exit
if CurrentContracts = 1 then begin
if close[1] >= oParOp[1] and close[0] < oParOp[0] then begin
sell ("CL-StopSAR1") 1 contracts next bar at market;
end;
end;
end;
//We are short
if MP = -1 then
//SAR exit
if CurrentContracts = 1 then begin
if close[1] <= oParOp[1] and close[0] > oParOp[0] then begin
Buy to cover ("CS-StopSAR1") 1 contracts next bar at market;
end;
end;
end;


