dadas_true_trend_indi_v3.1.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «dadas_true_trend_indi_v3.1.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Dadasa True Trend Indi — пользовательский индикатор для MetaTrader, который анализирует экстремумы цен на заданном старшем таймфрейме и отрисовывает на графике трендовые линии, соединяющие найденные максимумы и минимумы. Линии окрашиваются в зависимости от направления: зелёный/синий для восходящих, красный для нисходящих, нейтральный цвет — для смешанных ситуаций.
Индикатор поддерживает отображение расширений трендовых линий с настраиваемой толщиной и стилем, а также позволяет задавать смещение по времени для линий расширения. Фоновый режим и ширина линий настраиваются отдельно. Обновление происходит при появлении нового бара.
Продукт реализован в виде индикатора, размещаемого в окне графика, и использует стандартные функции работы с объектами платформы для визуализации. Он не содержит встроенных торговых сигналов или автоматических торговых операций.
Настройки программы
| Настройка | Описание |
|---|---|
| Show_Indi | Отображение индикатора — Включает или отключает отображение индикатора на графике. |
| Tf | Старший таймфрейм — Старший таймфрейм для анализа экстремумов цен. При значении 0 используется текущий таймфрейм. |
| Begin_Bar | Начальный бар — Начальный бар, с которого начинается перебор и построение трендовых линий. |
| ColorUp | Цвет восходящего тренда — Цвет трендовой линии, отображающей восходящее движение цены. |
| ColorDown | Цвет нисходящего тренда — Цвет трендовой линии, отображающей нисходящее движение цены. |
| ColorNeutral | Нейтральный цвет — Цвет нейтральной трендовой линии, применяемый при отсутствии выраженного направления. |
| Back | Фоновое отображение — Включает или отключает отображение трендовых линий на заднем плане графика. |
| Width | Толщина линий — Толщина основных трендовых линий на графике. |
| Show_Extensions | Показывать расширения — Включает или отключает отображение линий расширения тренда. |
| ExtWidth | Толщина расширений — Толщина линий расширения тренда. |
| ExtStyle | Стиль расширений — Стиль линий расширения тренда. |
| Offset | Смещение расширений — Смещение по времени для линий расширения тренда, задаваемое в минутах старшего таймфрейма. |
Поиск по коду файла
#property indicator_chart_window
extern bool Show_Indi = true;
extern int Tf = 60;
extern int Begin_Bar = 0;
extern color ColorUp = Blue;
extern color ColorDown = Red;
extern color ColorNeutral = DarkKhaki;
extern bool Back = true;
extern int Width = 2;
extern bool Show_Extensions = true;
extern int ExtWidth = 1;
extern int ExtStyle = 2;
extern int Offset = 2;
int i,Prev_Bar;
color Color,PrevColor;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
if(Tf==0) Tf=Period();
for (i=0; i<=Bars; i++)
{
ObjectDelete(Tf+"High_Arrow"+i);
ObjectDelete(Tf+"Low_Arrow"+i);
ObjectDelete(Tf+"ExtHigh_Arrow"+i);
ObjectDelete(Tf+"ExtLow_Arrow"+i);
}
return(0);
}
int start()
{
// код доступен только после оплаты
}
if(IsNewBar())
{
if(Show_Indi&&Period()<Tf)
{
for (i=Begin_Bar; i<=Bars; i++)
{
ObjectDelete(Tf+"High_Arrow"+i);
ObjectDelete(Tf+"Low_Arrow"+i);
ObjectDelete(Tf+"ExtHigh_Arrow"+i);
ObjectDelete(Tf+"ExtLow_Arrow"+i);
datetime time1 = iTime(NULL,Tf,i);
datetime time2 = iTime(NULL,Tf,i+1);
int iBarLowest1 = iLowest( NULL, 0, MODE_LOW, Tf/Period()+1, iBarShift(NULL, 0, time1) ); //lowest in previous Fixed_Trend_Tf_Follow
int iBarLowest2 = iLowest( NULL, 0, MODE_LOW, Tf/Period()+1, iBarShift(NULL, 0, time2) ); //lowest in pre-previous Fixed_Trend_Tf_Follow
double price_lowest1 = iLow(NULL,0,iBarLowest1);
double price_lowest2 = iLow(NULL,0,iBarLowest2);
datetime time_lowest1 = iTime(NULL,0,iBarLowest1);
datetime time_lowest2 = iTime(NULL,0,iBarLowest2);
int iBarHighest1 = iHighest( NULL, 0, MODE_HIGH, Tf/Period()+1, iBarShift(NULL, 0, time1) ); //highest in previous Fixed_Trend_Tf_Follow
int iBarHighest2 = iHighest( NULL, 0, MODE_HIGH, Tf/Period()+1, iBarShift(NULL, 0, time2) ); //highest in pre-previous Fixed_Trend_Tf_Follow
double price_highest1 = iHigh(NULL,0,iBarHighest1);
double price_highest2 = iHigh(NULL,0,iBarHighest2);
datetime time_highest1 = iTime(NULL,0,iBarHighest1);
datetime time_highest2 = iTime(NULL,0,iBarHighest2);
datetime time3 = iTime(NULL,Tf,i)+Offset*Tf*60;
Color = ColorNeutral;
if(price_highest2>price_highest1)
{
Color = ColorDown;
ObjectCreate(Tf+"High_Arrow"+i, OBJ_TREND, 0, 0,0, 0,0);
ObjectSet(Tf+"High_Arrow"+i,OBJPROP_TIME1,time_highest1);
ObjectSet(Tf+"High_Arrow"+i,OBJPROP_TIME2,time_highest2);
ObjectSet(Tf+"High_Arrow"+i,OBJPROP_PRICE1,price_highest1);
ObjectSet(Tf+"High_Arrow"+i,OBJPROP_PRICE2,price_highest2);
ObjectSet(Tf+"High_Arrow"+i,OBJPROP_BACK,Back);
ObjectSet(Tf+"High_Arrow"+i,OBJPROP_COLOR,Color);
ObjectSet(Tf+"High_Arrow"+i,OBJPROP_STYLE,0);
ObjectSet(Tf+"High_Arrow"+i,OBJPROP_WIDTH,Width);
ObjectSet(Tf+"High_Arrow"+i,OBJPROP_RAY,false);
ObjectSet(Tf+"High_Arrow"+i,OBJPROP_SELECTABLE,false);
if(Show_Extensions)
{
string Ext_Name = IntegerToString(Tf,0)+"ExtHigh_Arrow"+IntegerToString(i,0);
ObjectCreate(Ext_Name, OBJ_TREND, 0, 0,0, 0,0);
ObjectSet(Ext_Name,OBJPROP_TIME1,time_highest1);
ObjeПоказано первые 50% кода (символов: 5237)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.