alex30774

 
Уровень 20

  Торгую в компаниях:


Группа "Стол заказов MQL"

Рейтинг 2146



РЕКОМЕНДУЮ



Переписать индикатор из мт4 в МТ5

Здравствуйте, Андрей.
Перепешите пожалуйста вот этот индикатор TrendLine4.mq4 (4 Kb) из МТ4 в МТ5.
  • 0
  • Просмотров: 1308
  • 11 января 2024, 16:28
  • alex30774
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
поСРЕДСТВенная закрывашка v2.0
Следующая запись в группе  
Индикатор для MT5
09 января 2024
13 января 2024

Брокер для ваших роботов, 15 лет на рынке

Комментарии (7)

+
0
быстро не получается сделать такую штуку. нужно дольше сидеть. пока такой набросок:


//+------------------------------------------------------------------+
//|                                                    TrendLine.mq5 |
//|                                             Copyright 2024, AM2. |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2024, AM2."
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property indicator_chart_window

#property indicator_buffers 2
#property indicator_plots   2
#property indicator_color1 clrLime
#property indicator_color2 clrRed
#property indicator_width1 4
#property indicator_width2 4
#property indicator_type1 DRAW_LINE
#property indicator_type2 DRAW_LINE

#property strict

double up[];
double dn[];

input int Count = 10;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,up,INDICATOR_DATA);
   SetIndexBuffer(1,dn,INDICATOR_DATA);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   for(int i=0; i<rates_total; i++)
     {
      double hi=iHighest(NULL,0,MODE_HIGH,Count,i);
      double lo=iLowest(NULL,0,MODE_LOW,Count,i);

      if(close[i]>(hi+lo)/2)
        {
         up[i]=(hi+lo)/2;
        }

      if(close[i]<(hi+lo)/2)
        {
         dn[i]=(hi+lo)/2;
        }
     }

//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 12 января 2024, 09:39
+
0
А вот этот пример из учебника никак не поможет?

#property copyright "2009, MetaQuotes Software Corp." 
#property link      "https://www.mql5.com" 
#property version   "1.00"
 
#property description "Пример вывода значений High[i] и Low[i]" 
#property description "для баров, выбранных случайным образом"
 
double High[],Low[]; 
//+------------------------------------------------------------------+ 
//| Получим Low для заданного номера бара                            | 
//+------------------------------------------------------------------+ 
double iLow(string symbol,ENUM_TIMEFRAMES timeframe,int index) 
  { 
   double low=0; 
   ArraySetAsSeries(Low,true); 
   int copied=CopyLow(symbol,timeframe,0,Bars(symbol,timeframe),Low); 
   if(copied>0 && index<copied) low=Low[index]; 
   return(low); 
  } 
//+------------------------------------------------------------------+ 
//| Получим High для заданного номера бара                           | 
//+------------------------------------------------------------------+ 
double iHigh(string symbol,ENUM_TIMEFRAMES timeframe,int index) 
  { 
   double high=0; 
   ArraySetAsSeries(High,true); 
   int copied=CopyHigh(symbol,timeframe,0,Bars(symbol,timeframe),High); 
   if(copied>0 && index<copied) high=High[index]; 
   return(high); 
  } 
//+------------------------------------------------------------------+ 
//| Expert tick function                                             | 
//+------------------------------------------------------------------+ 
void OnTick() 
  { 
//--- выводим на каждом тике значения High и Low для бара с индексом, 
//--- равным секунде поступления тика 
   datetime t=TimeCurrent(); 
   int sec=t%60; 
   printf("High[%d] = %G  Low[%d] = %G", 
          sec,iHigh(Symbol(),0,sec), 
          sec,iLow(Symbol(),0,sec)); 
  }
avatar

  20  alex30774 Автор Сообщений: 748

  • 12 января 2024, 12:57
+
0
здесь нужен специалист по мт5 индикаторам или сидеть долго
avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 12 января 2024, 13:04
+
0
Ясно, вы значит не сильны по мт5-индикаторам.
avatar

  20  alex30774 Автор Сообщений: 748

  • 12 января 2024, 14:15
+
0
редко делаю такие индикаторы. даже то что знаешь забывается
avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 12 января 2024, 14:26
+
0
найдите специалиста, здесь весь расчет уже есть, только тонкости надо знать. а мне это все ковырять очень долго
avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 12 января 2024, 14:30
+
0
Ладно поищу.
avatar

  20  alex30774 Автор Сообщений: 748

  • 12 января 2024, 15:14

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий