Скачать MetaTrader 5

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

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

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

2015.04.08 12:28
Библиотеки

Interchange - библиотека для MetaTrader 5

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

Просмотров:
1007
Рейтинг:
голосов: 13

Зачем это нужно:

Этот класс поможет организовать обмен данными между вашими программами в случае если вы пишите для "Маркета" или не хотите использовать системные DLL.

Для других случаев есть более надежные и быстрые способы по связыванию приложений. Обмен реализован посредством простых структур.

Варианты использования:

  1. Необходимо передать данные из эксперта в индикатор или в другого эксперта;
  2. Необходимо сделать индикатор, который выводит информацию в несколько окон (или в главное окно и подокно);
  3. Необходимо для эксперта, внутри которого проводятся все необходимые расчеты, сделать визуализацию рассчитываемых значений.

Как с этим работать:

Привожу пример по передачи данных из эксперта в индикатор.

  1. В эксперте

    1.1. Создаем экземпляр класса:

    CInterchange Exp_buffer;

    1.2. В OnInit() задаем перфикс имени глобальных переменных. Чтобы не было конфликта с другими экземплярами класса - для каждого нужно задавать уникальное имя:

    Exp_buffer.SetPrefixNameForSave(_Symbol+"_"+(string)_Period);

    1.3. Работа алгоритма реализована через пользовательские события. Необходимо просто добавить строку ниже в обработчик OnChartEvent():

    Exp_buffer.OnEvent(id,lparam,dparam,sparam);

    Если данные для передачи готовы (в примере это структура Exp_Data) - то нужно вызвать метод:

    Exp_buffer.SendDataStart(Exp_Data);
    1.4. Не забываем уничтожать экземпляр класса при деинициализации программы:
    Exp_buffer.Destroy();

  2. В индикаторе

    2.1. Создаем экземпляр класса:

    CInterchange Ind_buffer;
    2.2. В OnInit() задаем перфикс имени глобальных переменных. Он должен совпадать с источником - быть таким же как в пункте 1.1.
    Ind_buffer.SetPrefixNameForLoad(_Symbol+"_"+(string)_Period);

    2.3. Для начала процесса получения данных необходимо вызвать метод GetDataStart() с параметром Ind_data (структура, куда будет производится запись данных из эксперта):

    Ind_buffer.GetDataStart(Ind_data);

    2.4. Работа алгоритма реализована через пользовательские события. Необходимо добавить строку ниже в обработчик OnChartEvent():

    Ind_buffer.OnEvent(id,lparam,dparam,sparam);

    Если процесс передачи завершен - метод:

    Ind_buffer.GetDataFinish(Ind_data)

    вернет true.

    2.5. Не забываем уничтожать экземпляр класса при деинициализации программы:

    Ind_buffer.Destroy();

Видео с примером работы:


YURAZ_RSAXEL Скрипт рисует уровни Рудолфа Акселя YURAZ_RSAXEL Скрипт рисует уровни Рудолфа Акселя

Скрипт рисует уровни Рудолфа Акселя

YURAZ_CLOSEPRC_V1 YURAZ_CLOSEPRC_V1

Закрытие всех открытых позиций одним кликом либо закрытие всех позиций при достижении указанного профита в процентах от депозита

NewMartin NewMartin

Новый взгляд на привычный мартингейл.

Select Trade Select Trade

Советник Select Trade позволяет трейдеру сделать выбор при открытии позиции (BUY или SELL).