# Доработка ботов (советников, индикаторов) vol. 2

Раздел: Язык программирования MQL4
Автор темы: chocolate
Создана: 2014-10-02 12:48
Ответов: 33837 | Просмотров: 6689278
Страница 767 из 1692
Источник: https://forexsystemru.com/threads/77111/page-767

---

## mobidik — 2018-05-25 11:15

> Цитата (sergeysv):
> Приветствую--
> Помоги пожалуйста с кнопочной версией разобраться .
> 
> При нажатии на бутон создаётся просто скрин чарта с датой какой день и сохраняется в папку :
> пара----месяц---
>
> string ПапкаСимвол   = "";
>       string ПапкаМесяц    = "";
>       string _sCloseDate;
>        string   oSymbol = "";
>       datetime oCTime  = -1;
>
>      if(oSymbol!="") ПапкаСимвол = oSymbol;
>       if(oCTime !=-1)
>      {
>        switch(TimeMonth(oCTime))
>         {
>           case 1:   ПапкаМесяц  = "ЯНВАРЬ";   break;
>           case 2:   ПапкаМесяц  = "ФЕВРАЛЬ";  break;
>           case 3:   ПапкаМесяц  = "МАРТ";     break;
>           case 4:   ПапкаМесяц  = "АПРЕЛЬ";   break;
>           case 5:   ПапкаМесяц  = "МАЙ";      break;
>           case 6:   ПапкаМесяц  = "ИЮНЬ";     break;
>           case 7:   ПапкаМесяц  = "ИЮЛЬ";     break;
>           case 8:   ПапкаМесяц  = "АВГУСТ";   break;
>           case 9:   ПапкаМесяц  = "СЕНТЯБРЬ"; break;
>           case 10:  ПапкаМесяц  = "ОКТЯБРЬ";  break;
>           case 11:  ПапкаМесяц  = "НОЯБРЬ";   break;
>           default:  ПапкаМесяц  = "ДЕКАБРЬ";  break;
>         }
>      }
>   string data = StrData(TimeToStr(oCTime));
>
>    MqlDateTime _structOCT;
>     TimeToStruct(TimeCurrent(),_structOCT);
>    _sCloseDate = LeadZeroDate(_structOCT.day)+"."+LeadZeroDate(_structOCT.mon);
>     string PathFile = oSymbol+"\\"+ПапкаМесяц+"\\"+_sCloseDate;
>     WindowScreenShot(PathFile+".gif",1366,768);
>
>  /*   MqlDateTime _structOCT;
>  string PS="",_sCloseDate;
>  TimeToStruct(TimeCurrent(),_structOCT);
>  _sCloseDate = LeadZeroDate(_structOCT.day)+"."+LeadZeroDate(_structOCT.mon);
>  string name1=data+"/"+ _sCloseDate+".gif";
>    StringReplace(name1,":",".");
>    WindowScreenShot(_Symbol+name1,1377,768); */
>
> Заглушеный кусок сохраняет но не там где нужно...
>
> string LeadZeroDate(int aNumber)
> {
>   string _Result;
>   if (aNumber<10) _Result="0"+aNumber;
>   else _Result=aNumber;
>   return(_Result);
> }
>
> string StrData(string dt)
>   {
>     string outdt  = "";
>     string tempdt = "";
>
>     for(int i=0; i<StringLen(dt); i++)
>      {
>        tempdt = StringSubstr(dt,i,StringLen(":"));
>        if(tempdt==":") outdt = outdt+"."; else outdt = outdt+StringSubstr(dt,i,1);
>      }
>     return(outdt);
>   }
>
>
>
> 

Слегка изменил свой предыдущий вариант, при нажатии на кнопку - вызвать ф-цию ScreenCurData()  - скрин будет находиться в папке: MQL4\Files\Символ графика\Текущий месяц  с именем "текущая дата".

//+------------------------------------------------------------------+ 
//| Screen Cur Data                                                  | 
//+------------------------------------------------------------------+ 
void ScreenCurData() 
  { 
    string ПапкаСимвол = _Symbol; 
    string ПапкаМесяц  = ""; 
    
    datetime oCTime = TimeCurrent();
    
    if(oCTime !=-1) 
     { 
       switch(TimeMonth(oCTime)) 
        { 
          case 1:   ПапкаМесяц  = "Январь";   break; 
          case 2:   ПапкаМесяц  = "Февраль";  break; 
          case 3:   ПапкаМесяц  = "Март";     break; 
          case 4:   ПапкаМесяц  = "Апрель";   break; 
          case 5:   ПапкаМесяц  = "Май";      break; 
          case 6:   ПапкаМесяц  = "Июнь";     break; 
          case 7:   ПапкаМесяц  = "Июль";     break; 
          case 8:   ПапкаМесяц  = "Август";   break; 
          case 9:   ПапкаМесяц  = "Сентябрь"; break; 
          case 10:  ПапкаМесяц  = "Октябрь";  break; 
          case 11:  ПапкаМесяц  = "Ноябрь";   break; 
          default:  ПапкаМесяц  = "Декабрь";  break; 
        }   
     }  
    
    string data = StrData(TimeToStr(oCTime)); 
    string PathFile = _Symbol+"\\"+ПапкаМесяц+"\\"+data;
     
    WindowScreenShot(PathFile+".gif",1366,768); 
  } 
//+------------------------------------------------------------------+
//| Str Data                                                         |
//+------------------------------------------------------------------+
string StrData(string dt)
  {
   string outdt="";
   string tempdt="";

   for(int i=0; i<StringLen(dt); i++)
     {
      tempdt=StringSubstr(dt,i,StringLen(":"));
      if(tempdt==":") outdt=outdt+"."; else outdt=outdt+StringSubstr(dt,i,1);
     }
   return(outdt);
  }
//+------------------------------------------------------------------+

## MrGreen86 — 2018-05-25 11:50

> Цитата (garry119):
> Fillelin, привет.
> сделай, пожалуйста, чтобы сигналы на графике у этого индикатора, которые не выходят за уровни выделялись другими цветами

исходники есть?
т.е. если цена пробила уровень он должен иметь другой цвет?

## garry119 — 2018-05-25 11:54

> Цитата (MrGreen86):
> исходники есть?
> т.е. если цена пробила уровень он должен иметь другой цвет?

да. вот исходники. даже два. один на t3 сглаженный. если есть возможность оба так сделать, то просто красота. хотелось бы еще чтоб не графическими объектами, а сигналы от этих уровней чтоб сова как то цеплять могла.
зиги в зонах перекупленности-перепроданности одними цветами, внутри диапазона уровней другими.

## sergeysv — 2018-05-25 12:23

> Цитата (mobidik):
> с именем "текущая дата".

Возможно сократить имя файла до --число -- месяц--?
В идеале должен быть один скрин сделок по истории на конец торгов  и  TimeCurrent();
немного не то.
Если будет два скрина то получится--
1 скрин -- число -- месяц--
2 скрин -- число -- месяц--(1)

## mobidik — 2018-05-25 13:08

> Цитата (sergeysv):
> Возможно сократить имя файла до --число -- месяц--?

По ходу, то, что я написал, ты даже не пробовал в работе. То, что ты считаешь именем файла - на самом деле это путь сохранения файла, а его имя задается в переменной data, которая соответствует времени создания скрина.

> Цитата (sergeysv):
> В идеале должен быть один скрин сделок по истории на конец торгов  и  TimeCurrent();
> немного не то.

Так и есть - скрин будет находиться в папке Files, подпапка "Символ графика", в которой еще одна подпапка с именем "Текущий месяц", а там уже сам скрин с именем "Текущая дата и время"

> Цитата (sergeysv):
> Если будет два скрина то получится--
> 1 скрин -- число -- месяц--
> 2 скрин -- число -- месяц--(1)

То получиться, что в папке "Текущий месяц" будет два файла с именами по времени создания.
Если нажмешь дважды и более раз - столько и будет скринов. Если нужен только последний из них можно сделать так, строку:
string data = StrData(TimeToStr(oCTime));
заменить на 
string data = StrData(TimeToStr(oCTime,,TIME_DATE));
в таком случае имя будет состоять только из текущей даты без времени, если ты сегодня нажмешь на кнопку n-раз файл будет создан только при первом клике, а при последующих кликах он будет переписан.

## sergeysv — 2018-05-25 13:24

> Цитата (mobidik):
> его имя задается в переменной data

Пробовал по своему методом тыка и моего понимания :) 
На практике тык срабатывает а понимания 0.01%
Благодарю за науку и помощь :)

## RRY — 2018-05-25 15:01

Уважаемые гуру! ) Помогите индикатор доработать. Вставляю данные с индикатора в exp_iCustom v10 чтобы по стрелочкам  торговал, но  в индикаторе первая переменная строковая - не могу ее в сову вбить, советник берет видимо первое значение по умолчанию. Если возможно замените первую строковую переменную на числовую 1-2-3 или поставьте по умолчанию третье значение - "Выход за канал-есть противоположный бар". Спасибо заранее!

## Блюзмэн — 2018-05-25 20:17

**уведомления на почту**

Мир Вашему дому,уважаемые мастера.Убедительная просьба добавить в индикатор алерт и уведомления на почту.Желательно обозначить в алерте на какой паре сигнал и направление сигнала.

## nikpilot — 2018-05-26 00:35

> Цитата (ale9551):
> Может быть вам поможет этот индикатор?
> В настройках время задается в секундах,по умолчанию индикатор
> каждые 30 сек перезагружает график.

Спасибо, буду пробовать.

## Andrei86 — 2018-05-26 06:42

Уважаемые кодеры, помогите с этим индюком пожалуйста. https://forexsystemsru.com/1322974-post6998.html

## Mamsya — 2018-05-27 00:11

Товарищи, доработайте индикатор пожалуйста, нужно чтобы ставил полоски если было пересечение выше или ниже указанных зон в индикаторе. А то ставит и убирает как попало. Может, если есть у кого что-нибудь подобное, то буду благодарен!

## vaas04 — 2018-05-27 00:16

> Цитата (Mamsya):
> Rep  Report
> Товарищи, доработайте индикатор

Извините а можно сам инди посмотреть. Спасибо.

## Cavrex — 2018-05-27 15:27

**Вынести буфферы для стрелок**

Здравствуйте! Помогите подправить индикатор, мне нужно вынести буфферы самих стрелок чтобы я мог привязать его к советнику.
Зарание большое спасибо за Вашу помощь!

## kpll — 2018-05-27 17:17

> Цитата (Mamsya):
> Товарищи, доработайте индикатор пожалуйста, нужно чтобы ставил полоски если было пересечение выше или ниже указанных зон в индикаторе. А то ставит и убирает как попало. Может, если есть у кого что-нибудь подобное, то буду благодарен!

> Цитата (vaas04):
> Извините а можно сам инди посмотреть. Спасибо.

Он уже с ним задолбался, поэтому выкладывать не хочет, чтобы не долбались другие!:laugh:

## Siplyi — 2018-05-28 10:18

Доброго вам времечка!!! Помогите индикатор ограничить в количестве баров, а то тормозит терминал. И цвет когда меняешь, после переключения тф он сбрасывается на старый цвет.

## elvis08 — 2018-05-28 11:29

**Помогите немного исправить индюк**

В обычном индикаторе Три экрана Элдера с функцией #property strict появляются ошибки. Сможете исправить их? Нужен именно файл mql4. К сожалению почему-то не принимаются у меня вложения, но это обычный индикатор Три экрана Элдера. Важно вставить в него #property strict

## поручик — 2018-05-28 19:47

**//**#property strict

вначале поставь 2 слеша и компильни, если нет ошибок, накати 100 г коньячка за погранцов и снова в бой (с утра)

## ost88 — 2018-05-29 11:47

**Помогите исправить алерт индикатора**

Здравствуйте. Помогите сделать так, чтобы звуковой и текстовый алерты приходили на первом тике новой свечи. А стрелка пусть остается также на 0 свече. Еще покажите, пожалуйста, где в коде менять размер стрелки и отступ от свечи? Спасибо!

## Hunter0777 — 2018-05-29 14:03

**НУЖНА ПОМОЩЬ!**

Коллеги помогите!
Я в программирование не силен, но нужно в индикатор вставить алерты и стрелочки, с отражением на основном графике!
Заранее всех благодарю, кто откликнется на мою просьбу!!!
Всем удачи!!!!

## mobidik — 2018-05-29 14:38

> Цитата (Hunter0777):
> Коллеги помогите!
> Я в программирование не силен, но нужно в индикатор вставить алерты и стрелочки, с отражением на основном графике!
> Заранее всех благодарю, кто откликнется на мою просьбу!!!
> Всем удачи!!!!

Возьми любой фишер со стрелками/алертом и будет то же самое.

---

Следующая страница: https://forexsystemru.com/threads/77111/page-768
