Напишу индикатор бесплатно - страница 137

 
Yurij Izyumov:

Напишу бесплатно индикатор на MQL4 на условиях свободного распространения - размещение в виде - бесплатный продукт на Маркет или код в CodeBase.

можно и на MQL5 , но предпочтение 4-ке - зависит от логики, желательно конечно хоть что то осмысленное. В теории можно и советник.

Естественно что задания типа  - хочу индикатор по волновой теории Эллиота - не рассматриваются =) , т.к. оцените объем работ и сами подумайте.

Если есть желание - пишите задание открыто.

Заранее продумывайте возможности - алерты, звуковые сигналы, уведомления на почту/телефон, стрелки , новости и т.п.

Здравствуйте, Юрий! Есть запрос на написание бесплатного индикатора на MQL4 для мт4. Ваше предложение ещё актуально ?
 
kif7 #:
Здравствуйте, Юрий! Есть запрос на написание бесплатного индикатора на MQL4 для мт4. Ваше предложение ещё актуально ?

Никто ничего тут бесплатно не пишет. Редкое исключение - это когда идея заинтересует потенциального разработчика.
Но как правило, у того кто способен что-то написать, идей на порядок больше чем у заказчиков.

Чтобы попытаться кого-то заинтересовать, нужно изложить концепцию.

 
kif7 #:
Здравствуйте, Юрий! Есть запрос на написание бесплатного индикатора на MQL4 для мт4. Ваше предложение ещё актуально ?

Мне писал индикаторы  чатжпт , или ИИ , бесплатно . Нормально работает .

 
Кому нужно написание бесплатного индикатора , используйте чатжпт , у меня все бесплатные .
 
kif7 #:
Здравствуйте, Юрий! Есть запрос на написание бесплатного индикатора на MQL4 для мт4. Ваше предложение ещё актуально ?
да, всё по предложению как написано - задание пишите открыто или личку сразу , я вас потом искать не буду , публикация индикатора в итоге в открытом доступе и по возможности что то осмысленное
 
Yurij Izyumov #:
да, всё по предложению как написано - задание пишите открыто или личку сразу , я вас потом искать не буду , публикация индикатора в итоге в открытом доступе и по возможности что то осмысленное

индикатор "period_overlay":

рисует оверлейный график по верх текущего графика в текущем таймфрейме,

от обычного оверлейного графика отличается тем что у него есть два параметра:

- период нулевой точки zero_point : день, неделя, месяц;

- кол-во периодов на которые нужно отрисовывать.


пример:

то есть я хочу чтоб был оверлейный грвфик который бы синхронизировался с текущим графиком в точках начала периода(zero_pint) например начало дня, тоесть начало дня и текущего и оверлейного графика должны совпадать и я отслеживаю расхождения графиков внутри дня,

и он строится на заданное кол-во периодов, к примеру 5 последнх дней.

---

чтоб не заморачиваться с разными периодами можно сделать просто индикатор "day_overlay" который будет рисоваться только на таймфреймах меньше дня

 и работать только с одним периодом синхронизации - день(начало каждого дня).

 
Sergei Kiriakov #:
рисует оверлейный график по верх текущего графика в текущем таймфрейме,

показалось небесполезным, набросал с "период нулевой точки = D1"

размеры свечей относительные, поэтому доп.масштаб не нужен

для "боевого применения" надо ещё добавлять трах с подгрузкой данных в таймсериях, но там много кода и есть ощущение что от билда к билду по разному. Кому надо добавят

//+------------------------------------------------------------------+
//|                                                      Overlay.mq5 |
//|                                                  Maxim Kuznetsov |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Maxim Kuznetsov"
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_chart_window
#property indicator_buffers 5
#property indicator_plots   1
//--- plot Overlay
#property indicator_label1  "Overlay"
#property indicator_type1   DRAW_COLOR_CANDLES
#property indicator_color1  clrRed,clrChartreuse,clrBlue,clrDarkViolet
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
//--- input parameters
input string   other="XAUUSD";
input bool     inverse=false;
//--- indicator buffers
double         OverlayOpen[];
double         OverlayHigh[];
double         OverlayLow[];
double         OverlayClose[];
double         OverlayColor[];

int maxDepth=0;
int OnInit()
{
   maxDepth=(int)SeriesInfoInteger(other,_Period,SERIES_BARS_COUNT);
   SetIndexBuffer(0,OverlayOpen,INDICATOR_DATA);
   SetIndexBuffer(1,OverlayHigh,INDICATOR_DATA);
   SetIndexBuffer(2,OverlayLow,INDICATOR_DATA);
   SetIndexBuffer(3,OverlayClose,INDICATOR_DATA);
   SetIndexBuffer(4,OverlayColor,INDICATOR_COLOR_INDEX);
   ArraySetAsSeries(OverlayOpen,true);
   ArraySetAsSeries(OverlayHigh,true);
   ArraySetAsSeries(OverlayLow,true);
   ArraySetAsSeries(OverlayClose,true);
   ArraySetAsSeries(OverlayColor,true);
   EventSetTimer(5);
   return(INIT_SUCCEEDED);
}

int OnCalculate(const int32_t rates_total,
                const int32_t 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 int32_t &spread[])
{
   ArraySetAsSeries(time,true);
   if (prev_calculated<=0 || maxDepth==0) {
      maxDepth=(int)SeriesInfoInteger(other,_Period,SERIES_BARS_COUNT);
   }
   for(int bar = prev_calculated >1? prev_calculated-2:0 ; bar<rates_total ; bar++) {
      int index=rates_total - bar - 1;
      if (_Period>=PERIOD_D1 || index>maxDepth || bar<2) {
         OverlayOpen[index]=EMPTY_VALUE;
         OverlayHigh[index]=EMPTY_VALUE;
         OverlayLow[index]=EMPTY_VALUE;
         OverlayClose[index]=EMPTY_VALUE;
         OverlayColor[index]=0;
         continue;
      }
      int otherDayShift=iBarShift(other,PERIOD_D1,time[index]);
      datetime otherDayTime=iTime(other,PERIOD_D1,otherDayShift);
      double otherDayOpenPrice=iOpen(other,PERIOD_D1,otherDayShift);
      
      int otherShift=iBarShift(other,PERIOD_CURRENT,time[index]);
      datetime otherTime=iTime(other,PERIOD_CURRENT,otherShift);
      if (otherTime<otherDayTime) {
         otherShift--;
         otherTime=iTime(other,PERIOD_CURRENT,otherShift);
      }
      MqlRates rates[1];
      if (otherDayOpenPrice<=0 || otherShift<0 || CopyRates(other,PERIOD_CURRENT,otherShift,1,rates)!=1) {
         OverlayOpen[index]=OverlayOpen[index+1];
         OverlayHigh[index]=OverlayHigh[index+1];
         OverlayLow[index]=OverlayLow[index+1];
         OverlayClose[index]=OverlayClose[index+1];
         OverlayColor[index]=OverlayColor[index+1];
         continue;
      }
      
      int thisDayShift=iBarShift(_Symbol,PERIOD_D1,time[index]);
      double thisDayOpenPrice=iOpen(_Symbol,PERIOD_D1,thisDayShift);

      if (!inverse) {
         OverlayOpen[index]=thisDayOpenPrice*(rates[0].open/otherDayOpenPrice);
         OverlayHigh[index]=thisDayOpenPrice*(rates[0].high/otherDayOpenPrice);
         OverlayLow[index]=thisDayOpenPrice*(rates[0].low/otherDayOpenPrice);
         OverlayClose[index]=thisDayOpenPrice*(rates[0].close/otherDayOpenPrice);
      } else {
         OverlayOpen[index]=thisDayOpenPrice/(rates[0].open/otherDayOpenPrice);
         OverlayHigh[index]=thisDayOpenPrice/(rates[0].high/otherDayOpenPrice);
         OverlayLow[index]=thisDayOpenPrice/(rates[0].low/otherDayOpenPrice);
         OverlayClose[index]=thisDayOpenPrice/(rates[0].close/otherDayOpenPrice);
      }
      
      if (OverlayOpen[index]==OverlayClose[index]) OverlayColor[index]=0;
      else if (OverlayOpen[index]<OverlayClose[index]) OverlayColor[index]=1;
      else OverlayColor[index]=2;
   }
   
   if (prev_calculated!=rates_total && SeriesInfoInteger(other,_Period,SERIES_BARS_COUNT)!=maxDepth) {
      return 0;
   }
   return(rates_total);
}

void OnTimer()
{
   if (SeriesInfoInteger(other,_Period,SERIES_BARS_COUNT)!=maxDepth) {
      maxDepth=0;
   }
}
Файлы:
Overlay.mq5  5 kb
 
Доброго времени суток! Мне нужна такая штука: ставлю два временных ориентира в мт4, а скрипт показывает количество дней/часов/минут между ними. Может уже есть такой, буду весьма благодарен, если поделитесь!
 
Yurij Izyumov:

Напишу бесплатно индикатор на MQL4 на условиях свободного распространения - размещение в виде - бесплатный продукт на Маркет или код в CodeBase.

можно и на MQL5 , но предпочтение 4-ке - зависит от логики, желательно конечно хоть что то осмысленное. В теории можно и советник.

Естественно что задания типа  - хочу индикатор по волновой теории Эллиота - не рассматриваются =) , т.к. оцените объем работ и сами подумайте.

Если есть желание - пишите задание открыто.

Заранее продумывайте возможности - алерты, звуковые сигналы, уведомления на почту/телефон, стрелки , новости и т.п.

Здравствуйте, вы еще пишете бесплатно индикаторы?
 

Здравствуйте. 

Вы еще пишите индикаторы?

Меня интересует индикатор или сканер, не знаю как он будет называться, который находит дивергенцию

на MACD  или AO не знаю где он лучше будет давать сигналы, на всех графиках и таймфреймах указанных в свойствах.

Если обнаружилась дивергенция,  около этой пары подсвечивается точкой. Если дивергенция подтвердилась, 

то огонек мерцает.Если на инструменте на разных таймфреймах несколько дивергенций, то горят или мерцают

несколько точек. Хорошо бы поставить линии SL и TP и уровни. И таймер бы еще не помешал мне так кажется. 

Лучше бы закодить и mq5 mql4 и протестировать.

Как-то так.