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

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

---

## fxbo — 2023-02-02 00:39

> Цитата (Shipr_A):
> Стрелки проверяйте.

Потестил , можете допилить индюка, вроде как на скрине все понятно

## Surem — 2023-02-02 10:19

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

## Surem — 2023-02-02 10:28

Уважаемый Алекс, можно ещё где нибудь на графике вывести дельту между данными числами?)  https://forexsystemsru.com/threads/dorabotka-botov-sovetnikov-indikatorov-vol-2.77111/post-1824469

## Surem — 2023-02-02 12:01

> Цитата (Surem):
> Уважаемый Алекс, можно ещё где нибудь на графике вывести дельту между данными числами?)  https://forexsystemsru.com/threads/dorabotka-botov-sovetnikov-indikatorov-vol-2.77111/post-1824469

Ой, ну и всё, уже не надо!)))))

## barop — 2023-02-02 22:41

Друзья привет ,  в настройкаах советника ATR MULTIPLIER 1 - 4.0. можно ли сделать чтобы  при открытии сделки автоматически становилось 0.0, буду очень благодарен. Также,  в случае  если это невозможно , буду благодарен если сообщите "это невозможно".

## StarFX — 2023-02-03 09:03

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

## Surem — 2023-02-03 16:50

Прошу доработать простой индикатор. Сейчас мы можем на любом ТФ открывать свечу любого старшего ТФ. Необходимо чтоб свечи автоматически были показаны для старшего ТФ. Алгоритм такой. Открыл я график 1мин мне показывает старшую свечу 5мин, открыл график 15мин мне индикатор сразу показывает старшую 30 мин. В общем любой график а свеча со следующего за ним ТФ.

## spiderman8811 — 2023-02-03 23:29

> Цитата (fxbo):
> Потестил , можете допилить индюка, вроде как на скрине все понятно

Симпатично) но это же канал гравитации

## Dexterous — 2023-02-04 02:03

Pls this indicator is not showing on the chart. Pls help

## 4budab1 — 2023-02-04 10:03

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

новости можно скачать отсюда
fxstreet.com/economic-calendar
Формат данных вот такой получается

> Цитата:
> b0061963-a98e-4033-9946-0e280d85e30d,01/04/2022 07:00:00,Retail Sales (YoY),HIGH,EUR
> c881845b-dccb-461d-a814-99e4fbdd8cc1,01/04/2022 15:00:00,ISM Manufacturing PMI,HIGH,USD
> 1d197cf7-fbd7-4ded-889b-82f934a9b18e,01/05/2022 13:15:00,ADP Employment Change,HIGH,USD
> 839b9684-ca1e-46d3-a576-e1adcd6344b7,01/05/2022 19:00:00,FOMC Minutes,HIGH,USD

Пока вот такая реализация получилась, но она каждый тик перечитывает весь файл, что естественно получается крайне медленно в тестере

```
// Variables to track whether news is currently happening and the path to the .csv file
bool IsCurrentlyNewsGoing=false;
int event_counter=0;
string CsvFilePath = "news.csv";

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool CheckForNewsEvents()
  {
   IsCurrentlyNewsGoing = false;
//Print("Opening file: ", CsvFilePath);
   int file_handle = FileOpen(CsvFilePath, FILE_READ);
   if(file_handle != INVALID_HANDLE)
     {
      string line;
      string date;
      string time;
      string event_name;
      string event_priority;
      string event_currency;
      int date_pos;
      int time_pos;
      int name_pos;
      int priority_pos;
      int currency_pos;
      int year, month, day;
      while(!FileIsEnding(file_handle))
        {
         line = FileReadString(file_handle);
         date_pos = StringFind(line, ",", 0);
         if(date_pos != -1)
           {
            time_pos = StringFind(line, ",", date_pos + 1);
            if(time_pos != -1)
              {
               date = StringSubstr(line, date_pos + 1, 10);
               time = StringSubstr(line, date_pos + 11, 9);
               name_pos = StringFind(line, ",", time_pos + 1);
               priority_pos = StringFind(line, ",", name_pos + 1);
               currency_pos = StringFind(line, ",", priority_pos + 1);
               event_name = StringSubstr(line, time_pos + 1, name_pos - time_pos - 1);
               event_priority = StringSubstr(line, name_pos + 1, priority_pos - name_pos - 1);
               event_currency = StringSubstr(line, priority_pos + 1, StringLen(line) - priority_pos - 1);
               year = StringToInteger(StringSubstr(date, 6, 4));
               month = StringToInteger(StringSubstr(date, 0, 2));
               day = StringToInteger(StringSubstr(date, 3, 2));
               date = IntegerToString(year) + "." + IntegerToString(month) + "." + IntegerToString(day);
               datetime event_time = StrToTime(date + " " + time);
               //Print("Line: ", line);
               //Print("Date: ", date);
               //Print("Time: ", time);
               //Print("event_name: ", event_name);
               //Print("event_priority: ", event_priority);
               //Print("event_currency: ", event_currency);
               //Print("Event Time: ", TimeToStr(event_time));
               //Print("Current Time: ", TimeToStr(TimeCurrent()));
               if(event_time - offset_before_sec == TimeCurrent())
                 {
                  IsCurrentlyNewsGoing = true;

                  string obj_name = date + " " + time + " " + event_name + " " + event_priority + " " + event_currency;
                  int obj_handle = ObjectCreate(obj_name, OBJ_VLINE, 0, TimeCurrent(), 0, TimeCurrent(), 0);
                  if(obj_handle == -1)
                    {
                     Print("Error creating news line object. Error code: ", GetLastError());
                    }
                  else
                    {
                     ObjectSet(obj_handle, OBJPROP_COLOR, clrRed);
                     event_counter++;
                    }
                 }
              }
           }
        }
      FileClose(file_handle);
     }
   else
     {
      Print("Error opening file. Error code: ", GetLastError());
     }
   Comment("Total News Event : ", event_counter);
   return IsCurrentlyNewsGoing;
  }
```

## fxbo — 2023-02-04 21:40

> Цитата (spiderman8811):
> Симпатично) но это же канал гравитации

мне подходит )))

## Cash2020 — 2023-02-05 22:03

> Цитата (4budab1):
> Подскажите индикатор, или помогите как реализовать для MT4 индикатор\эксперт, который может показывать исторические новости в буфере данных

Хм, а почему Вы не хотите использовать структуры?
И потом вопрос: Нужно ли Вам чтобы линии рисовались именно в момент выхода новости. Может быть имеет смысл нарисовать их сразу? Неужели это для Вас так принципиально?
В любом случае я ниже приложил эксперт для тестирования. В нем реализовано то, о чем Вы похоже просили. Интересно будет узнать Ваше мнение. Удачи!

## FxMen — 2023-02-05 22:33

Всем добра! Сделайте пожалуйста одну стрелку без звездочки  (мешает) со всеми настройками выбор сигнального бара, размер стрелки параметр отступа её от свечи и алерт.
__________________________________
На скриншоте показано, как сейчас выглядит сигнал.
Первая свеча должна быть бычьей = звезда на первой бычьей свече.
Вторая свеча должна быть медвежьей, закрытие ниже открытия
Третья свеча должна быть бычьей, закрытие выше открытия, а максимум должен быть выше максимума 2-й свечи = стрелка вверх

## 4budab1 — 2023-02-06 08:57

> Цитата (Cash2020):
> Хм, а почему Вы не хотите использовать структуры?
> И потом вопрос: Нужно ли Вам чтобы линии рисовались именно в момент выхода новости. Может быть имеет смысл нарисовать их сразу? Неужели это для Вас так принципиально?
> В любом случае я ниже приложил эксперт для тестирования. В нем реализовано то, о чем Вы похоже просили. Интересно будет узнать Ваше мнение. Удачи!

Да, вы правильно меня поняли, то что надо
Огромное спасибо!

## Сергей Анатольевич — 2023-02-06 11:27

Здравствуйте друзья программисты. Нужен инд. MACD в виде гистограммы как на скрине. И чтобы можно было в настройках переключать-0=sma 1=ema 2=smma 3-lwma. А может такой уже есть в (mg) сбросьте пожалуйста. Спасибо.

## 4budab1 — 2023-02-06 12:39

> Цитата (Cash2020):
> В любом случае я ниже приложил эксперт для тестирования. В нем реализовано то, о чем Вы похоже просили. Интересно будет узнать Ваше мнение. Удачи!

Еще повертел, вот если взять максимальные данные все новости за 2022-2023
8384 новости, отрисовывает до 2022.01.14, дальше пишет "новостей нет" и все, 
котировки tickstory dukascopy,
в чем может быть трабл?
Если взять только HIGH новости, то также зависает, но доходит до 2022.01.30

## Homa811 — 2023-02-06 13:11

Добрый день. Пропишите № буф к этим стрелкам.

## ale9551 — 2023-02-06 13:53

Уважаемые программисты!
Добавьте пожалуйста в советник время работы.
Заранее благодарен!

## Priffekt — 2023-02-07 08:04

Здравствуйте, мне нужен счётчик простой, что бы считал то что ему пропишу, на простейший счётчик mq4

## Генри — 2023-02-07 08:34

Друзья! Вот хороший советник OsMASTER_v0 Может кто-нибудь имеет такой доработанный или другой модификации этого робота?  В настройках у него стоит MACD 9 26 5. И они торгуются также, даже, когда меняешь его настройки Но нужно, что бы он мог торговать при изменении настроек на 12 26 9 , например.  Буду очень благодарен. Оплачу работу.

---

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