Mira cómo descargar robots gratis
¡Búscanos en Facebook!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Visualizaciones:
1080
Ranking:
(22)
Publicado:
2016.10.18 16:08
Actualizado:
2016.11.22 07:33
ColorDay.mq5 (7.48 KB) ver
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

El indicador Color Day designa con un color los días alcistas o bajistas.

Si el precio de cierre del día es superior al precio de apertura, se colorea de azul (se indica en los ajustes).

input color UP = Blue;  // color del día alcista 

Si el precio de cierre del día es inferior al precio de apertura, se colorea de rojo (se indica en los ajustes).

input color DN = Red;   // color del día bajista

Copiamos los precios de apertura, cierre y la hora de apertura para el número indicado de días Days:

CopyTime(NULL,PERIOD_D1,0,Days+1,tm);
      CopyOpen(NULL,PERIOD_D1,0,Days+1,op);
      CopyClose(NULL,PERIOD_D1,0,Days+1,cl);

en las matrices correspondientes:

datetime tm[];
double op[];
double cl[];

Antes de instalar el indicador en el gráfico, indicaremos las dimensiones de las matrices:

int OnInit()
  {
//--- indicator buffers mapping
   Comment("");
   ArrayResize(tm,Days);
   ArrayResize(op,Days);
   ArrayResize(cl,Days);
//---
   return(INIT_SUCCEEDED);
  }

Asignamos a las variables los valores de las celdas de la matriz y definimos la hora de cierre del día time1:

datetime time0=tm[i];
      datetime time1=time0+3600*24;
      double dopen=op[i];
      double dclose=cl[i];

Con la ayuda de la función PutRect():

void PutRect(string name,datetime t1,double p1,datetime t2,double p2,color clr)
  {
   ObjectDelete(0,name);
//--- creamos un rectángulo según las coordenadas indicadas
   ObjectCreate(0,name,OBJ_RECTANGLE,0,t1,p1,t2,p2);
//--- establecemos el color del rectángulo
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
//--- activamos (true) o desactivamos (false) el modo de rellenado del rectángulo 
   ObjectSetInteger(0,name,OBJPROP_FILL,true);
  }

Coloreamos el día dependiendo de la dirección en la que ha ido del precio:

if(dclose<dopen) PutRect("Rect"+(string)dopen,time0,dopen,time1,dclose,DN);
      if(dclose>dopen) PutRect("Rect"+(string)dopen,time0,dopen,time1,dclose,UP);

En el ciclo pasamos por todos los días indicados en los ajustes Days:

for(int i=0;i<=Days;i++)
     {
      CopyTime(NULL,PERIOD_D1,0,Days+1,tm);
      CopyOpen(NULL,PERIOD_D1,0,Days+1,op);
      CopyClose(NULL,PERIOD_D1,0,Days+1,cl);

      datetime time0=tm[i];
      datetime time1=time0+3600*24;
      double dopen=op[i];
      double dclose=cl[i];

      if(dclose<dopen) PutRect("Rect"+(string)dopen,time0,dopen,time1,dclose,DN);
      if(dclose>dopen) PutRect("Rect"+(string)dopen,time0,dopen,time1,dclose,UP);

Al eliminar un indicador del gráfico, con la ayuda de la función DeleteObjects():

void DeleteObjects()
  {
   for(int i=ObjectsTotal(0,0,OBJ_RECTANGLE)-1;i>=0;i--)
     {
      string name=ObjectName(0,i,0,OBJ_RECTANGLE);
      if(StringFind(name,"Rect",0)>=0) ObjectDelete(0,name);
     }
  }


Eliminamos del gráfico los objetos creados:

void OnDeinit(const int reason)
  {
   Comment("");
   DeleteObjects();
  }

Ajustes:

input int   Days = 11;  // días para el cálculo
input color UP = Blue;  // color del día alcista 
input color DN = Red;   // color del día bajista

Figura 1. Indicador en el gráfico


Consejos:

  • Indicador Color Day - asistente visual en el comercio.

Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/16383

ColorJSatl_Digit ColorJSatl_Digit

Filtro digital rápido suavizado JSatl con indicación de color de la dirección del movimiento, también representa el último valor en forma de etiqueta de precio y tiene la posibilidad de redondear los niveles del indicador en la cantidad indicada de grados.

Exp_JSatl_Digit_System Exp_JSatl_Digit_System

Sistema comercial construido con las señales del indicador JSatl_Digit_System.

si_q_asi si_q_asi

Índices a corto plazo y acumulativo de oscilación del precio

Bear_Bulls_Power Bear_Bulls_Power

El indicador muestra la fuerza "alcista" y "bajista" en una ventana con un sencillo método.