1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

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

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

  1. trsoft

    trsoft Member

    Публикаций:
    0
    Регистрация:
    18 июл 2018
    Сообщения:
    93
    Предлагаю доработать терминал 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 КБ
      Просмотров:
      8
  2. superakira

    superakira Active Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    479
    trsoft, не проще ли замаорочиться и запилить свой терминал. протоколы взаимодействия с биржами вроде открыты. В кьюте есть все графики которые тебе нужны из коробки. Сверстай гуй в qml (или кстати найми норм дизайнера, который сверстает) + бизнеслогику на плюсах.

    Скриптовый язык возьми любой - хоть питон, луа, js имя им легион и встрой для автоматической работы. Не такая уж космическая работа имхо. Просто долго пилить если по уму, где-то полгода. Ну это сугубо мое мнение.
     
  3. trsoft

    trsoft Member

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

    superakira Active Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    479
    trsoft, я просто чуть запутался) зачем тебе именно мт4.. из-за скриптов, что можно ботов мутить? мое мнение - если ты компетентен, то проще сделать свой. хотя это и сложно, но за полгода, год вполне можно сделать достойно.

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

    я просто не пойму, что ты конкретно хочешь.
     
  5. trsoft

    trsoft Member

    Публикаций:
    0
    Регистрация:
    18 июл 2018
    Сообщения:
    93
    superakira, я ответил в личку.
    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, куда добавить вызов функции.
     

    Вложения:

  6. trsoft

    trsoft Member

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

    Вложения:

  7. trsoft

    trsoft Member

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

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

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

    trsoft Member

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

    Вложения:

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

    trsoft Member

    Публикаций:
    0
    Регистрация:
    18 июл 2018
    Сообщения:
    93
    Файл 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 ................
    дальше какие-то данные
    ..