Библиотека 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 не обнаружен, то будут использованы данные инструмента из текущего окна графика.  Возвращаемое функцией имя файла формируется относительно папки «каталог_данных_терминалаMQL5Indicators».

  • 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 ищется относительно папки «каталог_данных_терминалаMQL5FilesiCustomChartHistory». Возвращаемое функцией имя файла истории формируется относительно этой же папки.

  • 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
 
Related Posts
Библиотека Support Vector Machine Learning Tool
Утилита Support Vector Machine Learning проста для использования в ваших советниках, индикаторах и других программах для MetaTrader 5. До нынешнего времени классификация при помощи метода опорных векторов была доступна только ограниченному кругу лиц ...
READ MORE
Библиотека Extended TradeLevels
Данная библиотека может быть использована в качестве замены встроенным торговым уровням. Кроме привлекательного внешнего вида, имеются следующие особенности: Полная настраиваемость Цвета и стили линий можно настроить как для позиций, так и для ...
READ MORE
Библиотека Support Vector Machine Learning Tool
Библиотека Extended TradeLevels
Updated: 02.03.2016 — 17:20

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

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

Программы для торговых терминалов MetaTrader (MT4, MT5) © 2016