Скачать MetaTrader 5

Смотри, как бесплатно скачать роботов

Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят

Понравился скрипт?
Оцени его работу в терминале MetaTrader 5

Скрипты

Demo_FileReadArray - скрипт для MetaTrader 5

| Russian English 中文 Español Deutsch 日本語 Português

Просмотров:
1584
Рейтинг:
голосов: 29
Опубликован:
2013.03.29 11:42
Обновлен:
2016.11.22 07:33

Скрипт осуществляет чтение данных о ценах Bid и Ask из файла, который был получен в процессе работы эксперта Demo_FileWriteArray. Чтение производится из бинарного файла в поддиректории локальной папки терминала, местоположение которой можно получить при помощи вызова функции TerminalInfoString().

PrintFormat("Путь к локальной папке терминала: %s\\Files\\",TerminalInfoString(TERMINAL_DATA_PATH)); 
Все содержимое файла считывается сразу при помощи функции FileReadArray(), после чего в цикле производится отображение полученных данных.

Код:

//--- покажем окно входных параметров при запуске скрипта
#property script_show_inputs
//--- входные параметры
input string InpFileName="data.bin";
input string InpDirectoryName="SomeFolder";
//+------------------------------------------------------------------+
//| Структура для хранения данных о ценах                            |
//+------------------------------------------------------------------+
struct prices
  {
   datetime          date; // дата
   double            bid;  // цена бид
   double            ask;  // цена аск
  };
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- массив структуры
   prices arr[];
//--- путь к файлу
   string path=InpDirectoryName+"//"+InpFileName;
//--- откроем файл
   ResetLastError();
   int file_handle=FileOpen(path,FILE_READ|FILE_BIN);
   if(file_handle!=INVALID_HANDLE)
     {
      //--- прочитаем все данные из файла в массив
      FileReadArray(file_handle,arr);
      //--- получим размер массива
      int size=ArraySize(arr);
      //--- распечатаем данные из массива
      for(int i=0;i<size;i++)
         Print("Date = ",arr[i].date," Bid = ",arr[i].bid," Ask = ",arr[i].ask);
      Print("Total data = ",size);
      //--- закрываем файл
      FileClose(file_handle);
     }
   else
      Print("File open failed, error ",GetLastError());
  }

Demo_FileWriteArray Demo_FileWriteArray

Эксперт демонстрирует пример использования функции FileWriteArray()

Demo_FileGetInteger Demo_FileGetInteger

Скрипт демонстрирует пример использования функции FileGetInteger()

i-Monday_Sig i-Monday_Sig

Сигналы входов по системе "Понедельник"

Demo_FileWrite Demo_FileWrite

Скрипт демонстрирует пример использования функции FileWrite()