Доработка терминала MT4

Тема в разделе "WASM.HEAP", создана пользователем trsoft, 11 апр 2019.

  1. trsoft

    trsoft Member

    Публикаций:
    0
    Регистрация:
    18 июл 2018
    Сообщения:
    115
    Предлагаю доработать терминал MT4 для торговли криптовалютой на криптобиржах, без маржиналки.
    Первая задача - получение графика котировок в реальном времени для ТА.
    Для этого необходимо написать длл-ку на с++ и прикрутить к Mt4.
    Можно выбрать любую биржу, но лучше hitbtc, тк хранит историю котировок на достаточную глубину.
    Т.е можно выкачать данные за несколько месяцев (может быть год)

    Прилагаю архив с классами для btc-e
    Парсинг поученной json-строки
    https://github.com/open-source-parsers/jsoncpp/
    https://romannikov-nstu.blogspot.com/2016/05/json-c.html
     

    Вложения:

    • C++11.rar
      Размер файла:
      9,7 КБ
      Просмотров:
      195
  2. trsoft

    trsoft Member

    Публикаций:
    0
    Регистрация:
    18 июл 2018
    Сообщения:
    115
    я запилил уже несколько терминалов на c# с графиками и торгую на них, eсть выгрузка свечных графиков в формате MT4 (в новом формате). Есть даже сырая версия для indx.ru, биржа небольшая, сделала только часть апи. Надо делать все индикаторы, тестер стратегий, торговых роботов. Объем работ больше. Терминал в соседней теме имеет старый формат свечек.
     
  3. trsoft

    trsoft Member

    Публикаций:
    0
    Регистрация:
    18 июл 2018
    Сообщения:
    115
    я ответил в личку.
    HitBTC API – API Documentation.html :
    Candles
    curl "https://api.hitbtc.com/api/2/public/candles/ETHBTC?period=M3"
    В архиве - проект для VS2012. Взят отсюда http://www.cyberforum.ru/cpp-networks/thread873569.html
    Запрашивает и получает json-данные для 5 свечей. Остается распарсить, разложить в массив структур в формате MT4, собрать dll и найти адрес в MT4, куда добавить вызов функции.
     

    Вложения:

  4. trsoft

    trsoft Member

    Публикаций:
    0
    Регистрация:
    18 июл 2018
    Сообщения:
    115
    Проект с динамической библиотекой.
     

    Вложения:

  5. trsoft

    trsoft Member

    Публикаций:
    0
    Регистрация:
    18 июл 2018
    Сообщения:
    115
    1)В MT4 необходимо исследовать формат символов брокера symbols и добавить свои. Иначе можно загрузить файл истории автономно MT4 только для ТА, запуск тестера стратегий невозможен, тк нет возм-ти выбрать этот символ.
    2)Надо раскопать экскаватором код MT4 ( я вчера посмотрел в отладчике)

    Без Инди здесь не обойтись.

    Создание и тестирование пользовательских символов в MetaTrader 5 https://smart-lab.ru/company/metaquotes/blog/418765.php
     
  6. trsoft

    trsoft Member

    Публикаций:
    0
    Регистрация:
    18 июл 2018
    Сообщения:
    115
    Добавление новых символов в терминал MT4. Методику необходимо дорабатывать.
     

    Вложения:

    • ukterminal.rar
      Размер файла:
      35,2 КБ
      Просмотров:
      203
  7. trsoft

    trsoft Member

    Публикаций:
    0
    Регистрация:
    18 июл 2018
    Сообщения:
    115
    Файл symgroups.raw содержит набор(массив) структур вида:
    Размер файла 2560 байт, Каждая структура занимает 80 байт, поэтому файл содержит 32 структуры.
    Заполнены первые 8 структур, т.е. занято данными первые 480 (1DFh) байт:
    Offset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    00000000 46 58 2D 6D 61 6A 6F 72 73 00 00 00 00 00 00 00 FX-majors.......
    00000016 46 6F 72 65 69 67 6E 20 45 78 63 68 61 6E 67 65 Foreign Exchange
    00000032 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00000048 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00000064 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00000080 49 6E 64 65 78 65 73 00 00 00 00 00 00 00 00 00 Indexes.........
    00000096 49 6E 64 65 78 65 73 00 00 00 00 00 00 00 00 00 Indexes.........
    00000112 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00000128 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00000144 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    и тд
    При добавлении новых структур необходимо следить за общим количеством или размером файла.
    Если эти параметры не критичны, то можно увеличивать размер файла. Размер файла должен быть кратен 80 байтам.

    Структура файла, восстановленная методом "научного тыка", байты правились в ВинХексе, сохранялись изменения и
    запускался терминал для отслеживания изменений в параметрах. Намного эффективнее перехватить процедуру вывода параметров диалога Параметры.
    Я пробовал присоединяться к процессу Терминала и выбрать активное окно, чтобы установить точку останова на сообщения, но попадаю в левый тред, бряк не ставится.
    Есть какие-нибудь идеи? Бряки на mfc-функции?

    Файл symbols.raw содержит набор(массив) структур вида:
    Размер файла 27104 байт, Каждая структура занимает 1936 байт, поэтому файл содержит 14 структур.
    Все структуры заполнены, можно добавлять новые структуры в конец файла.
    Размер файла должен быть кратен 1936 байтам.

    ПРИЛОЖЕНИЕ
    Offset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    00000000 42 54 43 55 53 44 54 00 00 00 00 00 42 69 74 63 BTCUSDT.....Bitc
    00000016 6F 69 6E 20 76 73 20 54 65 74 68 65 72 00 00 00 oin vs Tether...
    00000032 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00000048 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00000064 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00000080 00 00 00 00 00 00 00 00 42 54 43 00 00 00 00 00 ........BTC.....
    00000096 00 00 00 00 00 00 00 00 04 00 00 00 08 00 00 00 ................
    дальше какие-то данные
    ..