GS trend I
- Индикаторы
-
Aleksander Gladkov
My name is Alexander Gladkov, and I am 66 years old. I graduated from the Polytechnic Institute in St. Petersburg in 1979 and worked as a chief specialist in the creation of automated systems. For the last 6 years I have been specializing in the development of effective Expert Advisors, indicators - Версия: 1.2
- Обновлено: 17 марта 2025
- Активации: 10
Индикатор тренда имеет возможность настройки глубины просмотра и чувствительности, не перерисовывается и не запаздывает.
На график кроме текущего тренда выводятся тренды для еще 5 периодов с уровнями нулевых трендов для них.
Это позволяет всесторенне оценить характер трендового движения.
Есть возможность выбора настройки алгоритмя тренда {Only Open, Average Open/Close, Average High/Low}
Индикатор тренда можно использовать для любых финансовых инструментов Форекс.
Цветом отображает направление тренда:
- желтый - направление может быть SELL или BUY
- синий - восходящий тренд BUY
- красный - нисходящий тренд SELL
На панеле индикатора отображаются значения тренда 5 таймфреймов для текущего уровня цены.
Значение тренда фиксируется индикатором при открытии очередной свечи.
Использование
- Для визуального контроля трендов и настройки параметров советников или принятия решения об открытии ордеров вручную.
- Для использования в собственных советниках как один из критериев принятия решения об открытии ордера
Пример советника, обращающегося к значению индикатора тренда:
#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++;
}
