GS trend I
- Indicadores
- Aleksander Gladkov
- Versión: 1.2
- Actualizado: 17 marzo 2025
- Activaciones: 10
El indicador de tendencia tiene la capacidad de ajustar la profundidad de visualización y la sensibilidad, no se repinta y no se retrasa.
Además de la tendencia actual, el gráfico muestra las tendencias de 5 periodos más con niveles de tendencia cero para ellos.
Esto permite una evaluación completa de la naturaleza del movimiento de la tendencia.
Existe la posibilidad de elegir la configuración del algoritmo de tendencia {Only Open, Average Open/Close, Average High/Low}.
El indicador de tendencia se puede utilizar para cualquier instrumento financiero Forex.
El color muestra la dirección de la tendencia:
- amarillo - la dirección puede ser VENTA o COMPRA
- azul - tendencia alcista COMPRA
- rojo - tendencia bajista VENTA
El panel del indicador muestra los valores de tendencia de 5 marcos temporales para el nivel de precios actual.
El valor de la tendencia es registrado por el indicador cuando se abre la siguiente vela.
Uso
- Para el control visual de las tendencias y el ajuste de los parámetros del asesor o la toma de decisiones sobre la apertura de órdenes manualmente.
- Para utilizar en sus propios asesores como uno de los criterios para tomar la decisión de abrir una orden.
Ejemplo de un asesor que accede al valor de un indicador de tendencia:
#property copyright "Copyright 2025, MetaQuotes Ltd."
#property link " https://www.mql5.com "
#property version "1.00"
#resource "\\Indicators\\GS_trend_I_v12.ex5"
int handle;
//--- input parameters
input int InpTimer=1; //Timer,sec
input int NN=5; //Limit
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
handle=iCustom(NULL,0,"::Indicators\\GS_trend_I_v12.ex5");
if(handle==INVALID_HANDLE)
{
PrintFormat("Error getting the indicator handle GS trend I. Error code = %d",GetLastError());
return(INIT_FAILED);
}
//--- create timer
EventSetTimer(InpTimer);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//--- destroy timer
EventKillTimer();
}
//------------------------------
double iCustomGet(const int ind_handle,const int buffer,int start_pos)
{
double Custom[1];
ResetLastError();
if(CopyBuffer(ind_handle,buffer,start_pos,1,Custom)<0)
{
PrintFormat("Failed to copy data from the indicator, error code %d",GetLastError());
return(0.0);
}
return(Custom[0]);
}
//+------------------------------------------------------------------+
//| Timer function |
//+------------------------------------------------------------------+
void OnTimer()
{ static int i=0;
if (i>NN) return;
double r=iCustomGet(handle,1,i);
Alert("i="+(string)i+": GS trend Signal = "+DoubleToString(r,5)+((r==0)?" (SELL_BUY)":(r==1)?" (BUY)":(r==2)?" (SELL)":" (No data)"));
i++;
}
