← К каталогу
Исходный код · ID 2672

NewsReader

newsreader.mq5
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

NewsReader — индикатор для MetaTrader 5, который загружает новостные события из CSV-файла и отображает ближайшее событие в виде текстовой метки на графике. При инициализации индикатор открывает указанный CSV-файл, разделённый точкой с запятой, и считывает временные метки и названия событий в массивы.

Во время каждого обновления котировок индикатор определяет следующее ближайшее новостное событие и выводит его время и название на график в виде подписи (OBJ_LABEL). Если все события уже прошли, на графике отображается соответствующее сообщение.

Индикатор поддерживает уведомления: при включённом режиме уведомлений и достижении заданного временного порога до события отправляется системное оповещение и воспроизводится звуковой сигнал. Внешний вид метки настраивается через параметры шрифта и цвета.

Настройки программы

НастройкаОписание
FileName Имя CSV-файла с новостными событиями, который загружается при инициализации индикатора. Файл должен содержать время и название событий, разделённые точкой с запятой.
DoAlerts Переключатель для включения или отключения автоматических уведомлений о ближайших новостных событиях.
AlertTime Числовой параметр, задающий пороговое значение времени (в минутах) до новостного события для срабатывания уведомления.
StampFontSize Размер шрифта текстовой метки, отображаемой на графике.
StampFontName Имя шрифта текстовой метки, отображаемой на графике.
StampFontColor Цвет текста метки, отображаемой на графике.
Получить полный код

Поиск по коду файла

#property indicator_chart_window

extern   string   FileName          = "news.csv";
extern   bool     DoAlerts          = true;
extern   int      AlertTime         = 10;
extern   int      StampFontSize     = 10;
extern   string   StampFontName     = "arial";
extern   color    StampFontColor    = Orange;

int FileHandle;

int      eventCount;
string   eventNames[10];
datetime eventTimes[10];

int init()
{
      // код доступен только после оплаты
   }

int deinit()
{
   DeleteStamp();

   FileClose(FileHandle);

   return(0);
}

int start()
{
      // код доступен только после оплаты
   }

   int next = 0;

   while(eventTimes[next] < TimeCurrent())
   {
      next++;
      if(next >= eventCount)
      {

         Stamp(eventCount+" news releases over."+" No more news today!",5,20);
         return(0);
      }
   }

   Stamp("Next news event: "+TimeToStr(eventTimes[next])+" "+eventNames[next],5,20);

   if(DoAlerts && TimeMinute(eventTimes[next]-TimeCurrent())==DoAlerts)
   {
      Alert("News Event Imminent: "+TimeMin

Показано первые 50% кода (символов: 1965)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
196,50₽ ≈ $2.40