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

Surem

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

Вложения

  • id_lite_info_ma.mq4
    65,9 КБ · Просмотры: 57
Последнее редактирование:

barop

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

Вложения

  • ©Price Border.mq4
    7,9 КБ · Просмотры: 35
  • EA_PB_0.mq4
    39,8 КБ · Просмотры: 25
  • АТР.png
    АТР.png
    3,9 КБ · Просмотры: 64

StarFX

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

Вложения

  • Price Panel.jpg
    Price Panel.jpg
    128,7 КБ · Просмотры: 114

Surem

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

Вложения

  • M_candle.mq4
    4,9 КБ · Просмотры: 17

Dexterous

Интересующийся
Pls this indicator is not showing on the chart. Pls help
 

Вложения

  • 20230131_212147.jpg
    20230131_212147.jpg
    183,7 КБ · Просмотры: 109
  • 20230131_190202.jpg
    20230131_190202.jpg
    167,8 КБ · Просмотры: 106
  • LevelTrading from DonDesperado.zip
    1,3 МБ · Просмотры: 49

4budab1

Новичок форума
Подскажите индикатор, или помогите как реализовать для 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

Пока вот такая реализация получилась, но она каждый тик перечитывает весь файл, что естественно получается крайне медленно в тестере
C-подобный:
// 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;
  }
 

Вложения

  • calendar-event-list.zip
    29,8 КБ · Просмотры: 19
Последнее редактирование модератором:

Cash2020

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

Вложения

  • TesterE_CheckForNewsEvents2.mq4
    25,5 КБ · Просмотры: 22

FxMen

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

Вложения

  • three candles.mq4
    11,1 КБ · Просмотры: 76

4budab1

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

1675663513837.png

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

Вложения

  • Alpari MT4.png
    Alpari MT4.png
    73,2 КБ · Просмотры: 75

4budab1

Новичок форума
В любом случае я ниже приложил эксперт для тестирования. В нем реализовано то, о чем Вы похоже просили. Интересно будет узнать Ваше мнение. Удачи!
Еще повертел, вот если взять максимальные данные все новости за 2022-2023
8384 новости, отрисовывает до 2022.01.14, дальше пишет "новостей нет" и все,
котировки tickstory dukascopy,
в чем может быть трабл?
Если взять только HIGH новости, то также зависает, но доходит до 2022.01.30
1675676287299.png
 

Вложения

  • calendar-event-list.zip
    271,5 КБ · Просмотры: 16

Homa811

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

Вложения

  • Screenshot_5.png
    Screenshot_5.png
    38,4 КБ · Просмотры: 82
  • FILTER-EXTRA & arrows+alerts+mtf_mod.mq4
    7,4 КБ · Просмотры: 50

ale9551

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

Вложения

  • TMA_Fair2 (1).mq4
    12,7 КБ · Просмотры: 29

Priffekt

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

Генри

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

Вложения

  • OsMaSter_V0 (1).mq4
    7,6 КБ · Просмотры: 53
Верх