3Qu
3Qu личный блог
11 апреля 2025, 22:35

Экспорт/импорт данных из/в Квик или МТ5 для ленивых и нелюбопытных.

Писать ТС в Квик или МТ5, в общем, не совсем удобно из за ограничений Квик-Луа и МТ4-5 -MQL. Лично я (не знаю как вы) предпочитаю нормальные (да, да, именно нормальные) языки программирования. Такие, как, скажем, С++, C#, Python или кто что любит, где за Луа или MQL остается минимум, а дальше уже можно разгуляться по полной программе. Однако взаимодействие с Квик-Луа и/или MQL достаточно проблематично. Эт у кого как, правда, но все же. У меня к ним личная неприязнь.))
Простейшим выходом является файловый обмен через диск. Непосредственно через жесткий диск или флешку скорость уже устраивает, но кому надо еще быстрее, можно сделать это через RAM-Disk. В памяти компьютера 1-2 MB и обмен данными со скоростью света. Так, для примера, браузер Chrom жрет до 200 MB памяти.
Протокол обмена описывать не буду, про RAM-Disk я уже как-то писал.
Теперь, что использовать для RAM-Диска. Нашел недавно новый для меня Ram-Disk — ImDisk -называется. Опробовано, все нормально. Я уже давно RAM-Disk использую для ряда задач, а, вот, ImDisk нашел с неделю назад. Сделать Диск 1-2 MB не проблема. Сам ImDisk занимает тоже совсем немного — около 1МБ или даже меньше.
Не, кто предпочитает навороты к Квик-Луа или МТ4-5- MQL, вопросов нет, дело исключительно личных предпочтений, но лично я предпочитаю простые решения, и чем проще, тем лучше.
23 Комментария
  • Мультитрендовый
    11 апреля 2025, 22:46
    не проще ли ручками? Если простые решения? Ткнул пару раз и всё бапки у тебя)
  • Дмитрий Овчинников
    11 апреля 2025, 23:32
    В реальном трейдинге в общем то больше вопросов связаны с получением и обработкой информации о торговом окружении, т.е. состоянии счета, вариационной маржи, открытых ордерах, текущих позициях и прочее. Вопрос упрется не в то как, чем и в чем их обрабатывать, а как получать корректно. И здесь вы в любом случае уткнетесь в ограничения LUA/MQL.
      • Дмитрий Овчинников
        11 апреля 2025, 23:51
        3Qu,
        ну ок, дальше в текстовый файл и на принтер ;)
          • Дмитрий Овчинников
            12 апреля 2025, 00:11
            3Qu,
            так в боевой ТС собственно торговой логики 2-10 строчек. и еще 1000-2000 строчек получения и обработки торгового окружения, а их делать придется внутри LUA\MQL или на каждый чих обмениваться текстовым файлом и быть слоупоком?
  • Anest
    11 апреля 2025, 23:30
     А какие ограничения в Lua? Я пока не утыкался в ограничения . 
    Самый простой способ обмена наверное  обычный текстовой файл .

      • Beach Bunny
        12 апреля 2025, 00:25
        3Qu, это не серьезно, надо использовать современный формат RDF-Turtle



  • Anest
    12 апреля 2025, 00:00
    Я раньше тоже довольно скептически относился к Lua. Сейчас понимаю, что это самый простой и удобный для работы с Квиком способ .
     С# и другие конечно более мощные и универсальные языки .
    Но, если в планах работать только с Квиком, то вполне годится и Lua.
    • Beach Bunny
      12 апреля 2025, 00:26
      Anest, не замучаешься отлаживать все в Квике?
      • Anest
        12 апреля 2025, 00:57
        Beach Bunny, а чего там отлаживать. Один раз сделал, разбил на модули --> конфиг -файл, с параметрами, аккаунтами и т.д
        --> основной модуль — ядро, который всё крутит/вертит ,
        — > модуль который считывает активные ордера, позиции и т.д.
        --> модуль работы с  заявками ставим/снимаем/мувим .
        --> расчетный модуль, чего нибудь считаем, индикатор и т.д, можно отдельно несколько как правило .
        --> логический модуль — задаем собственно логику и условия . 
        --> модуль логирования, записываем ошибки, параметры и т.д и сохраняем .
        --> можно еще визуальную графическую таблицу нарисовать, чтобы туда выводить нужные параметры, позиции и т.д . 

        складываешь это всё в одну папочку, подключаешь все эти файлы, включаешь и идешь заниматься своими делами. Не нужно с утра просыпаться не свет не заря, как с другими вариантами ботов. Чтобы их запустить, проверить есть ли коннект между ботом и квиком, либо сервером и т.д. Квик сам законнектится/переконнектится  . 

        Если нужно написать другого робота, просто пишешь один новый файл расчетный, вносишь, если нужно изменения в логический и всё, не нужно ничего отлаживать .

        Получается самый простой и надежный, как лопата . 
  • SergeyJu
    12 апреля 2025, 08:35
    Гоните данные из квика в БД  пишите проги хоть на Си, хоть на Питоне. 
    А чем экспорт из Квика сразу в БД Вас не устраивает, скоростью? 
     
      • SergeyJu
        12 апреля 2025, 17:20
        3Qu, таблица квика может выводиться, помимо самого квика, или в лист экселя или в БД. И все это работает надежно. 

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн