Библиотека Library for Custom Chart

Купить приложение Library for Custom Chart в магазине систем алготрейдинга

Библиотека LibCustomChart предназначена для написания своих индикаторов и экспертов, совместимых с пользовательскими графиками, созданных iCustomChart. Пример использования библиотеки в индикаторах и экспертах можно найти в Code Base.

Демонстрационную версию iCustomChart можно скачать бесплатно.

Основные функции библиотеки:

  • CustomChartInit – автоматически подключает создаваемый индикатор или эксперт к пользовательскому графику, который загружен в окно графика терминала с помощью iCustomChart. Если пользовательский график не загружен, то все функции библиотеки будут использовать данные инструмента текущего окна графика. Функция вызывается исключительно в OnInit().
    bool CustomChartInit(void);

    Параметры:
    нет.

    Возвращаемые значения:
    false – при ошибке.
    true – при успешном выполнении.

    Примечаниене обнаружение пользовательского графика  iCustomChart не считается ошибкой. Если пользовательский график обнаружен, то в журнале будет соответствующее сообщение.

  • CustomChartRefresh – обновляет данные пользовательского графика iCustomChart для дальнейшего использования. Это обязательная функция, включаемая один раз в OnCalculate() или OnTick() перед всеми другими используемыми функциями библиотеки.
    bool CustomChartRefresh(void);

    Параметры:
    нет.

    Возвращаемые значения:
    false – при ошибке.
    true – при успешном выполнении.

    Примечание: если iCustomChart не загружен, то будут использованы данные инструмента текущего окна графика.

  • CustomChartSync – синхронизирует индикаторный буфер с графиком iCustomChart. Вызывается после CustomChartRefresh() в OnCalculate().
    bool CustomChartSync(double &buffer[]);

    Параметры:
    buffer[] – [out] индикаторный буфер, который необходимо синхронизировать с iCustomChart.

    Возвращаемые значения:
    false – при ошибке.
    true – при успешном выполнении.

    Примечание: если iCustomChart не обнаружен, то индикаторный буфер будет синхронизирован с барами текущего окна графика. Если индикаторный буфер не синхронизирован функцией CustomChartSync(), то он ведет себя синхронно с барами текущего окна графика.

Функции доступа к таймсериям пользовательского графика по позиции элемента

CopyOpen – функция возвращает значение цены открытия указанного бара.
CopyClose – функция возвращает значение цены закрытия указанного бара.
CopyHigh – функция возвращает значение максимальной цены указанного бара.
CopyLow – функция возвращает значение минимальной цены указанного бара.
CopyTime – функция возвращает значение времени открытия указанного бара.
CopyRealVolume – функция возвращает значение торгового объема указанного бара.
CopyTickVolume – функция возвращает значение тикового объема указанного бара.
CopySpread – функция возвращает значение спреда указанного бара.
CopyZeroBuffer – функция возвращает значение нулевого буфера указанного бара.
CopyRates – функция возвращает значение  в виде структуры MqlRates указанного бара.
CopyAppliedPrice – функция возвращает значение данных бара в соответствии с выбранной ценовой базой для расчетов.
CopyColor – функция возвращает значение индекса цвета указанного бара.

MqlRates CopyRates(int position);
datetime CopyTime(int position);
double   CopyOpen(int position);
double   CopyClose(int position);
double   CopyHigh(int position);
double   CopyLow(int position);
double   CopyZeroBuffer(int position);
double   CopyAppliedPrice(ENUM_APPLIED_PRICE _applied_price, int position);
long     CopyRealVolume(int position);
long     CopyTickVolume(int position);
int      CopySpread(int position);
int      CopyColor(int position);

Параметры:
position – [in] номер бара таймсерии.

Возвращаемые значения:Возвращается значение указанного бара таймсерии.

Примечание: если iCustomChart не обнаружен, то будут использованы данные инструмента из текущего окна графика. Стоит отметить, что функции доступа к таймсериям пользовательского графика имеют те же особенности, что и штатные функциидоступа к таймсериям и индикаторам. Вызываются после CustomChartRefresh() в OnCalculate() или OnTick().

Функции доступа к таймсериям пользовательского графика по начальной позиции и количеству элементов

CopyOpen – функция получает в массив данных array цены открытия баров пользовательского графика в указанном количестве.
CopyClose – функция получает в массив данных array цены закрытия баров пользовательского графика в указанном количестве.
CopyHigh – функция получает в массив данных array максимальные цены баров пользовательского графика в указанном количестве.
CopyLow – функция получает в массив данных array минимальные цены баров пользовательского графика в указанном количестве.
CopyTime – функция получает в массив данных array время открытия баров пользовательского графика в указанном количестве.
CopyRealVolume – функция получает в массив данных array торговые объемы баров пользовательского графика в указанном количестве.
CopyTickVolume – функция получает в массив данных array тиковые объемы баров пользовательского графика в указанном количестве.
CopySpread – функция получает в массив данных array спреды баров пользовательского графика в указанном количестве.
CopyZeroBuffer – функция получает в массив данных array значение баров нулевого буфера пользовательского графика в указанном количестве.
CopyRates – функция получает в массив array данные в виде структуры MqlRates в указанном количестве.
CopyAppliedPrice – функция получает в массив данных array значения в соответствии с выбранной ценовой базой для расчетов.
CopyColor – функция получает в массив данных array значение индекса цвета баров пользовательского графика в указанном количестве.

int      CopyTime(int start_pos,int count,datetime &array[]);
int      CopyOpen(int start_pos,int count,double &array[]);
int      CopyClose(int start_pos,int count,double &array[]);
int      CopyHigh(int start_pos,int count,double &array[]);
int      CopyLow(int start_pos,int count,double &array[]);
int      CopyRealVolume(int start_pos,int count,long &array[]);
int      CopyTickVolume(int start_pos,int count,long &array[]);
int      CopySpread(int start_pos,int count,int &array[]);
int      CopyZeroBuffer(int start_pos,int count,double &array[]);
int      CopyRates(int start_pos, int count, MqlRates &array[]);
int      CopyAppliedPrice(ENUM_APPLIED_PRICE _applied_price, int start_pos, int count, double &array[]);
int      CopyColor(int start_pos,int count,int &array[]);

Параметры:
start_pos – [in] номер первого копируемого элемента.
count- [in] количество копируемых элементов.
array[] – [out] массив для получения данных.

Возвращаемые значения:Количество скопированных элементов массива либо -1 в случае ошибки.

Примечание: если iCustomChart не обнаружен, то будут использованы данные инструмента из текущего окна графика. Стоит отметить, что функции доступа к таймсериям пользовательского графика имеют те же особенности, что и штатные функции доступа к таймсериям и индикаторам. Вызываются после CustomChartRefresh() в OnCalculate() или OnTick().

Функции получения свойств пользовательского графика

  • CustomChartHandle – функция возвращает хэндл индикатора iCustomChart. Вызывается после CustomChartRefresh() в OnCalculate() или OnTick().
    int CustomChartHandle(void);

    Параметры:
    нет.

    Возвращаемые значения:
    Хэндл индикатора iCustomChart либо INVALID_HANDLE, если iCustomChart не обнаружен.

    Примечание: если iCustomChart не обнаружен, то будут использованы данные инструмента из текущего окна графика.

  • CustomChartName – функция возвращает короткое имя индикатора iCustomChart. Вызывается после  CustomChartRefresh() в OnCalculate() или OnTick().
    string CustomChartName(void);

    Параметры:
    нет.

    Возвращаемые значения:
    Короткое имя индикатора iCustomChart либо NULL, если ошибка или iCustomChart не обнаружен.

    Примечание: если iCustomChart не обнаружен, то будут использованы данные инструмента из текущего окна графика.

  • CustomChartFile – функция возвращает имя файла индикатора iCustomChart. Вызывается после  CustomChartRefresh() в OnCalculate() или OnTick().
    string CustomChartFile(void);

    Параметры:
    нет.

    Возвращаемые значения:
    Имя файла индикатора iCustomChart либо NULL, если ошибка или iCustomChart не обнаружен.

    Примечание: если iCustomChart не обнаружен, то будут использованы данные инструмента из текущего окна графика.  Возвращаемое функцией имя файла формируется относительно папки “каталог_данных_терминала\MQL5\Indicators”.

  • CustomChartIsAttach – функция возвращает признак присоединения индикатора, который использует библиотеку, к iCustomChart. Вызывается после CustomChartRefresh() в OnCalculate() или OnTick().
    bool CustomChartIsAttach(void);

    Параметры:
    нет.

    Возвращаемые значения:
    false – если индикатор не присоединен к iCustomChart.
    true – если индикатор присоединен к iCustomChart.

    Примечание: если индикатор не присоединен к iCustomChart, то функции библиотеки будут использовать данные инструмента из текущего окна графика.

  • CustomChartHstFile – функция возвращает имя файла истории, который использует iCustomChart. Вызывается после CustomChartRefresh() в OnCalculate() или OnTick().
    string CustomChartHstFile(void);

    Параметры:
    нет.

    Возвращаемые значения:
    Имя файла истории либо NULL, если ошибка или iCustomChart не обнаружен.

    Примечание: если iCustomChart не обнаружен, то будут использованы данные инструмента из текущего окна графика. Файл истории iCustomChart ищется относительно папки “каталог_данных_терминала\MQL5\Files\iCustomChart\History”. Возвращаемое функцией имя файла истории формируется относительно этой же папки.

  • CustomChartBars – функция возвращает количество баров пользовательского графика. Вызывается после  CustomChartRefresh() в OnCalculate() или OnTick().
    int CustomChartBars(void);

    Параметры:
    нет.

    Возвращаемые значения:
    количество баров пользовательского графика.

    Примечание: если iCustomChart не обнаружен, то будут использованы данные инструмента из текущего окна графика.

  • CustomChartBegin – функция возвращает номер первого значимого бара пользовательского графика. Вызывается после  CustomChartRefresh() в OnCalculate() или OnTick().
    int CustomChartBegin(void);

    Параметры:
    нет.

    Возвращаемые значения:
    номер первого значимого бара пользовательского графика.

    Примечание: если iCustomChart не обнаружен, то будут использованы данные инструмента из текущего окна графика.

  • CustomChartNewBars – функция возвращает количество появившихся новых баров пользовательского графика. Вызывается после  CustomChartRefresh() в OnCalculate() или OnTick().
    int CustomChartNewBars(void);

    Параметры:
    нет.

    Возвращаемое значение:
    количество появившихся новых баров пользовательского графика.

    Примечание: если iCustomChart не обнаружен, то будут использованы данные инструмента из текущего окна графика.

Содержание включаемого файла с описанием функций библиотеки

#import "LibCustomChart.ex5"
   //--- Основные Функции:
   bool CustomChartInit(void);
   bool CustomChartRefresh(void);
   //--- функция синхронизации индикаторного буфера с iCustomChart:
   bool CustomChartSync(double &buffer[]);
   //--- функции доступа к данным таймсерий iCustomChart по позиции элемента:
   MqlRates CopyRates(int position);
   datetime CopyTime(int position);
   double   CopyOpen(int position);
   double   CopyClose(int position);
   double   CopyHigh(int position);
   double   CopyLow(int position);
   double   CopyZeroBuffer(int position);
   double   CopyAppliedPrice(ENUM_APPLIED_PRICE _applied_price, int position);
   long     CopyRealVolume(int position);
   long     CopyTickVolume(int position);
   int      CopySpread(int position);
   int      CopyColor(int position);
   //--- функции доступа к данным таймсерий iCustomChart по начальной позиции и количеству элементов:
   int      CopyTime(int start_pos,int count,datetime &array[]);
   int      CopyOpen(int start_pos,int count,double &array[]);
   int      CopyClose(int start_pos,int count,double &array[]);
   int      CopyHigh(int start_pos,int count,double &array[]);
   int      CopyLow(int start_pos,int count,double &array[]);
   int      CopyRealVolume(int start_pos,int count,long &array[]);
   int      CopyTickVolume(int start_pos,int count,long &array[]);
   int      CopySpread(int start_pos,int count,int &array[]);
   int      CopyZeroBuffer(int start_pos,int count,double &array[]);
   int      CopyRates(int start_pos, int count, MqlRates &array[]);
   int      CopyAppliedPrice(ENUM_APPLIED_PRICE _applied_price, int start_pos, int count, double &array[]);
   int      CopyColor(int start_pos,int count,int &array[]);
   //--- функции доступа к свойствам iCustomChart:   
   int      CustomChartBars(void);
   int      CustomChartBegin(void);
   int     CustomChartNewBar(void);
   bool     CustomChartIsAttach(void);
   int      CustomChartHandle(void);
   string   CustomChartHstFile(void);
   string   CustomChartFile(void);
   string   CustomChartName(void);
#import
 

Добавить комментарий

Войти с помощью: 

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Time limit is exhausted. Please reload the CAPTCHA.