sábado, 27 de junio de 2020

El indicador TREND

El indicador TREND es especialmente útil para indicar la tendencia general de los índices teniendo en cuenta su sesgo alcista. Lleva décadas dando señales muy acertadas y en estos momentos, y a pesar del fuerte rebote, sigue bajista ya que el SP500 tiene su media de referencia cayendo. La media de referencia es la menor de las medias de 100 y 200 sesiones. Más detalles en el libro "Trading con Sistemas Automáticos".



CÓDIGO DEL INDICADOR TREND

//-------------------------
// TREND LONG TERM
// OSCAR G. CAGIGAS
// 22 FEBRERO 2019
//-------------------------

//GRAFICO NORMAL DE PRECIOS
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
Plot( C, "Close", ParamColor("Color", colorDefault ), styleNoTitle | styleThick | ParamStyle("Style") | GetPriceStyle() );

//LOS INDICES//
SPX=Foreign("&ES_CCB","Close");
NAS=Foreign("&NQ_CCB","Close");

//LA MEDIA DE REFERENCIA ES LA MENOR DE 100 o 200 SESIONES//
med1 = Min(MA(SPX,100),MA(SPX,200));
med2 = Min(MA(NAS,100),MA(NAS,200));

// CASO ALCISTA, TODOS LOS INDICES POR ENCIMA DE LA MENOR DE LAS
// MEDIAS DE 100 y 200 Y LA MENOR SUBE
alc1 = SPX > med1 AND med1 > Ref(med1,-1);
alc2 = NAS > med2 AND med2 > Ref(med2,-1);

// CASO BAJISTA, TODOS LOS INDICES POR DEBAJO DE LA MENOR DE LAS
// MEDIAS DE 100 y 200 Y LA MENOR BAJA
baj1 = SPX < med1 AND med1 < Ref(med1,-1);
baj2 = NAS < med2 AND med2 < Ref(med2,-1);

//LOS DOS ÍNDICES EN CONSENSO//
alcista= alc1 AND alc2;
bajista= baj1 AND baj2;

//SE QUEDA ALCISTA O BAJISTA DE SEGUIDO HASTA SEÑAL CLARA EN CONTRA//
alcista = Flip(alcista, bajista);

//RIBBON//
Color = IIf(alcista, colorPaleGreen,colorRed);
Plot(2, "TRENDLT", Color, styleOwnScale|styleArea|styleNoLabel, -0.5, 100 );
GraphXSpace = 4;

//PINTAR LAS MEDIAS
Plot(med1,"MED_SP",colorRed,styleThick,0,0,0,0,4);
//Plot(med2,"MED_NQ",colorBlue,styleThick|styleOwnScale);

//MEDIAS DE CASI 100 Y CASI 200 PARA QUE SE VEAN TODAS
//JUNTO CON LA MEDIA COMBINADA
Plot(MA(C,98),"MED_100",colorOrange,styleLine);
Plot(MA(C,198),"MED_200",colorBlue,styleLine);





7 comentarios:

  1. Óscar, en Ribbon, porqué se escribe color=IIf (alcista.......... y no se escribe también bajista?
    Saludos
    Luis

    ResponderEliminar
    Respuestas
    1. El IIf(...), da dos valores para el color: verde claro y rojo; cuando es alcista, le asigna al color el verde claro, y cuando no lo es (por tanto, es bajista o neutral) le asigna al color rojo.

      Eliminar
  2. De nuevo nos sorprende con otro impresionante articulo lleno de conocimiento y sabiduria de muchos años sobre los mercados.Gracias por su gran aporte a la comunidad de traders y por ser faro y guia de aquellos que los seguimos durante años y deseamos que nos siga iluminando durante muchos mas.

    ResponderEliminar
  3. Óscar en
    Plot(med1,"MED_SP",colorRed,styleThick,0,0,0,0,4);
    //Plot(med2,"MED_NQ",colorBlue,styleThick|styleOwnScale);
    Qué es "MED_SP" y porqué lo tienes deshabilitado "MED_NQ"?
    Son términos que no hacen falta ser definidos con antelación?
    Y por último, porqué MED_SP y no MED_SPX ?
    Saludos
    Luis

    ResponderEliminar
    Respuestas
    1. Puedes descomentar la fila de la media del Nasdaq si quieres pintarla. Es opcional.
      No, tanto MED_NQ como MED_SP no hacen falta definirlos ya que son solo texto en el PLOT.
      Saludos,

      Eliminar
  4. Alguien sabe que tickers utilizar para hacerlo con los tickers de investing?

    ResponderEliminar

ENTRADAS POPULARES