Блог им. menshova

Продолжение вчерашнего :)

    • 17 июня 2016, 16:37
    • |
    • sotnya
  • Еще
Вчера попросила написать мне робота. Огромное спасибо всем тем кто откликнулся. Неспасибо всем тем, кто навязывал свое мнение и троллил. За эти сутки я более менее смогла написать свой алгоритм на с++. Собственно задача уже сводится не к написанию робота и тестированию его. А просто к разъяснению как мою писанину перевести в луа. 
Мне не понятен сам механизм. где скачать компилятор, и нужен ли он. В каком формате нужно получить исполняемый файл. ну и как все это дело подключить к квику.
Самое непонятное с компилятором луа.

надеюсь на понимание
    ★6
    50 комментариев
    купи вина, приготовь вкусный ужин, и пригласи кого-нить из роботорговцев к себе.
    avatar
    nik, и случится чудо :)
    avatar
    amenshova, ага через 9 месяцев у тебя в семья появится программист=)))
    avatar
    Mister KoK, ну их
    avatar
    amenshova, Вишь какие люди бедные пошли… И вина купи сама, и ужин приготовь, да еще и пригласи… )))
    avatar
    facevalue, ето не твой батя?)   

    avatar
    емеля, Мой отец погиб два года назад, дебил ты сраный.
    avatar
    c С++ на луа — это жесть
    sortarray sortarray, зато без коннекторов всяких
    avatar
    amenshova, для коннекторов нужен дюрекс.
    avatar
    amenshova, вот я ни разу не программист, но что-то мне подсказывает, что вам нужно сюда: http://www.bot4sale.ru/projects/utils-menu/utils-list/423-quik-ole.html
    где скачать компилятор

    Я в принципе, не знаком с квиком, но по-моему, Вы себе представляете что-то нереальное. LUA крутится на JIT-компиляторе, то есть, фактически, это интерпретатор. Он встроен в квик. Оттранслировать плюсовый код в LUA скорей всего не получится, придется переписывать. Маловероятно, что есть такие трансляторы.
    Lua — скриптовый язык. Не надо ничего компилировать, загружайте исходник в квик и запускайте. Не забудьте прочитать мануал квика.
    avatar
    Karim, Да, сначала перепишите код с С++ на Lua.
    avatar
    Karim, уже понятнее. то есть просто переписать код с использованием синтаксиса луа? а под каким расширением, чтобы его квик понял? и самое главное как узнать что код написанный работает верно (то есть как процесс отладки в луа проходит)?
    avatar
    Karim, надо ли мне скачивать сам луа? (http://www.lua.org/download.html)
    avatar
    amenshova, В корневой папке квика должен быть файл lua5.1.dll Если его нет, то скачайте и скопируйте.
    avatar
    Отладка кода lua в квике — это жесть. Поэтому лично я сложные скрипты в Lua не пишу. Расширение *.lua
    avatar
    Karim, а как отладить можно? вот в си можно отдельно скомпилировать exe файл — запустить его. в программе можно задать вывод на печать контролируемые параметры и посмотреть что там насчитали. Я уж про сам процесс отладки Debug молчу. А в луа что из этого есть?
    avatar
    amenshova, В том то и дело, что ничего. Запускаете квик, он виснет, а вы ломаете голову почему. Вот и весь процесс отладки.
    avatar
     Проще будет забрать данные с квика в программу на С++ и потом отправить назад команду, чем переписывать все на Lua. Но если 200-300 строк то можно и переписать.
    avatar
    Karim, там строк 150 где то. в основном for и if операторы. я думаю не сложно переписать. мне просто хочется знать что он насчитает. никогда же с первого раза нормально не напишется программа. тем более я уже года 3 ничего не писала
    avatar
    amenshova, Делайте трассировку в файл, если зависнет, будете знать где.
    avatar
    amenshova, а до этого где писали ? 
    avatar
    Если есть код на C++, то тогда уж легче MT5 опробовать.
    Там MQL практически C++.
    Плюс там есть редактор кода, есть пошаговый отладчик, есть встроенный тестер, на котором вы сможете на реальном контракте на реальных тиках прогнать свой алго.
    Ну а дальше останется дело за малым — Панель Управления-Программы и Компоненты-Quik-Удалить-Да? Нет?-Да, быстрее.
    avatar
    Redline, я свой алгоритм вручную уже месяц на реальном счете смотрю. работает без подгонки
    avatar
    amenshova, 
    я рад, но под «прогнать на реальном контракте» я имел в виду отладить код, чтобы убедиться что он реализован(технически) корректно.
    quik такого не умеет.
    avatar
    Redline, а отдельный луа (http://www.lua.org/download.html) умеет?
    avatar
    Redline, Вы что под технической корректностью подразумеваете?
    sortarray sortarray, 
    ну вы же программист. Прекрасно ведь знаете что под этим подразумевается…
    avatar
    Redline, проверка типов на стадии компиляции? Ну так Вы так и говорите, я хз, что там кем понимается. Корректность программы проверить невозможно с помощью тайпчекера, отладчика или среды программирования.
    Redline, ++++++++++++++++++++
    В квике не lua а QLua. Кроме как в квике вы его нигде не отладите.
    avatar
    Karim, а у qlua и lua надеюсь одинаковый синтаксис???
    avatar
    amenshova, qlua и lua — это одно и то же, только в Квик встроена определенная версия и к ней подключен модуль, дающий доступ к функциональности Квика. Можно отлаживать код в обычном lua, но для этого нужно очень хорошо знать нюансы торгового интерфейса, т.к. потребуется адекватная заглушка.
    avatar
    bstone, а как производите отладку вы?
    avatar
    amenshova, я настолько суров, что отлаживаю прямо в квике. Но не рекомендую это повторять в домашних условиях :)
    avatar
    bstone, а как понимаете что работает что-то не так?
    avatar
    amenshova, если прибыль отрицательная, значит вы делаете что-то не так :))
    avatar
    amenshova, на пальцах сложно объяснить, я в детстве программировал первые домашние компьютеры прямо в машинном коде — кое-какие навыки остались.
    avatar
     Синтаксис да. Просто в QLua вставлены функции: считывание данных свечей, отправка заявки, чтение данных таблицы и т.д. По сути алгоритм и есть набор этих функций.
    avatar
    Karim,
     По сути алгоритм и есть набор этих функций.

    По сути эти функции вообще не имеют отношения к алгоритму, это API.
    sortarray sortarray, Ну если взять данные, отправить команду, проверить выполнение команды — это не алгоритм, то тогда вы правы.
    avatar
    Karim, Не хочется развивать эту глупую тему, кратко, someAlgo(1) someAlgo(APIFunctionGetSomeData) думайте, где тут алгоритм, а где API
    sortarray sortarray, Согласен, развивать не будем.
    avatar
    Откройте в quik вкладки: " таблицы"->«Lua»->«доступные скрипты», выскочит окно с запросом файла, содержащего скрипт на Lua, а также кнопки для запуска и останова скиптов. С отладкой там полный облом, но сообщения об синтаксических ошибках при  загрузке файла выводит, этого достаточно. Корректность работы алгоритма можно проверять с помощью Lua функции  message, через которую выводить отчёт о всех действиях в окно сообщений, после чего проводить ревизию этих действий, тот же список можно выводить в файл, фукциями из io.
    avatar
    Отладка через запись в файл или функцию message().
    ARQA: «Существуют сторонние отладчики, например decode».
    avatar
    «зато без коннекторов всяких»
    Вот как раз таки посмотрите коннектор от qscalp (бесплатный) — похоже, что в вашем случае это наиболее простой способ достичь цели. Если что непонятно будет — могу подсказать.
    avatar
    Юрий Ч., в этом коннекторе нечего смотреть — все мясо в DLL модуле.
    avatar

    теги блога sotnya

    ....все тэги



    UPDONW
    Новый дизайн