Библиотека 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
 
РЕКОМЕНДУЕТСЯ К ОЗНАКОМЛЕНИЮ:
Библиотека Extended TradeLevels
Данная библиотека может быть использована в качестве замены встроенным торговым уровням. Кроме привлекательного внешнего вида, имеются следующие особенности:Полная настраиваемостьЦвета и стили линий можно настроить как для позиций, так и для ...
Читать полностью -->
Библиотека Support Vector Machine Learning Tool
Утилита Support Vector Machine Learning проста для использования в ваших советниках, индикаторах и других программах для MetaTrader 5.До нынешнего времени классификация при помощи метода опорных векторов была доступна только ограниченному кругу лиц ...
Читать полностью -->
Библиотека Extended TradeLevels
Библиотека Support Vector Machine Learning Tool

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

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

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

Time limit is exhausted. Please reload the CAPTCHA.

Translate »