Maksimus (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Пример торгового робота, Помощь с торговым роботом
 
Цитата
nikolz написал:
Специально для чайников объясняю:
--------------------
1)  отличие LUA от языка для метатрейда (mql)  в том, что для луа есть не только подробная инструкция но и куча учебников .
----------------------
2) справка по qlua - это справочник библиотеки , а не описания языка. Как всякий справочник он предполагает, что Вы изучили язык программирования LUA и умеете писать на нем программ.
---------------------------
3) Создание роботов это вообще не про qLua или Lua, а про умение создавать алгоритмы конечных автоматов, которые автоматизируют некоторые рутинные действия
------------------------
4) Создание робота , который не сливает счет а даже приносит прибыль - это вообще не про то, что Выше, а про знание рынков и возможно ИИ.
------------------------------  
Поэтому для получения бабла с рынка изучайте все 4 указанных выше пункта и не ищите халяву.  
Слушай "уважаемый"! Ты по-моему не в ту ветку залез! Здесь люди новички спрашивают знающих людей,что и как в написании робота. И нормальные,знающие люди объясняют нормальным языком,что и как! И за это этим людям огромное спасибо!! А ту хрень,что ты написал выше сфотографируй и повесь у себя на стене,и читай каждый день свои бесполезные советы!! Больших неудач тебе в написании роботов!
Пример торгового робота, Помощь с торговым роботом
 
Цитата
Константин Рейм написал:
Цитата
Maksimus написал:
А как сделать ввод параметров?
Так ввод параметров из Меню - пример кода выше
А поле ввода как сделать? Есть какая то функция?
Пример торгового робота, Помощь с торговым роботом
 
Цитата
Владимир написал:
Maksimus, Так ВЫВОДА, а не ВВОДА! ::  
А как сделать ввод параметров?
Пример торгового робота, Помощь с торговым роботом
 
Цитата
Константин Рейм написал:
Цитата
Владимир написал:
Опа! А вот редактора значений полей у меня нет! И как тут это делается?
 Как сделать поле ввода цены в таблице CreateTable? — форум QUIK
Огромное,человеческое спасибо! Обязательно почитаю эту ветку. Значит буду начинать именно с вывода значений различных таблиц. Думаю все так и начинали.
Пример торгового робота, Помощь с торговым роботом
 
Цитата
Константин Рейм написал:
Цитата
Владимир написал:
Это меню на базе таблицы Квика?
да
О как! А как в этом меню менять какие либо параметры? Например ввести новое значение или поменять значение в каком либо поле?
Пример торгового робота, Помощь с торговым роботом
 
Цитата
Константин Рейм написал:
Цитата
Maksimus написал:
А ещё меня удивило,что в луа нет возможности работы с графическим интерфейсом. Например меню написать для ввода каких-то параметров.
Меню можно сделать
Че то не открывается картинка
Пример торгового робота, Помощь с торговым роботом
 
Цитата
Константин Рейм написал:
Цитата
Maksimus написал:
А ещё меня удивило,что в луа нет возможности работы с графическим интерфейсом. Например меню написать для ввода каких-то параметров.
Меню можно сделать
Цитата
Владимир написал:
Maksimus, Да несложно всё это. И упаси, Господи, нас от графического интерфейса! ::  
Почему упаси всевышний от граф.интерфейса??
Пример торгового робота, Помощь с торговым роботом
 
Цитата
Владимир написал:
Maksimus, Ну, не знаю... я-то уже добрым десятком языков владел, когда впервые увидел Lua (сентябрь прошлого года). Другое дело, что после знакомства с С ничего другого искать и писать на чём-то ином просто НЕ ХОЧЕТСЯ - гениальный язык! Ну, а где-то на другом конце помещается Lua. ::

А чего там "с этими таблицами работать"? Строки - они и в Африке строки. А больше тут ничего и нет.

Пугнуть, что ли, каким-нить своим оператором?  :: Ну вот, скажем:
if tostring(a[12][j][0])==tostring(s.trans_id) and a[12][j][1]==0 then a[12][j][0]=s.order_num;end;
Пугнуть у вас получилось!!!)))) Ну может и я когда нибудь буду с лёгкостью писать такие строки!)  
Пример торгового робота, Помощь с торговым роботом
 
Цитата
Константин Рейм написал:
Цитата
Maksimus написал:
Именно так я учился писать на mql4-5. Сначала смотрел видео уроки и пробовал по ним,потом начинал разбираться в каждой строчке кода и в итоге без проблем получается на этом языке. Но qlua для меня пока темный лес-куча дров.
Знакомо. Первые роботы на мкл4 были. Потом перешел на квик и lua - матерился долго. После метатрейдера на квик - это прыжок назад. Но что делать на метатрейдере опционов нет.
Тогда вы конечно меня поймёте,как я сейчас матерюсь!!))) А ещё меня удивило,что в луа нет возможности работы с графическим интерфейсом. Например меню написать для ввода каких-то параметров. Теже линии на графике нарисовать и т.д.. Ну это сейчас не самая главная деталь в самолёте,но тем не менее. Хотелось бы чтоб этот функционал добавили конечно.
Пример торгового робота, Помощь с торговым роботом
 
Цитата
Константин Рейм написал:
Цитата
Игорь написал:
Возможно дикость но буду очень благодарен если кто ни будь выложит самого простого робота для луа.
 простейший робот на Луа — форум QUIK
пост № 4

самостоятельное изучение - очень много времени уйдет и все равно вопросы останутся (я шел этим путем)
возможно есть смысл поучится у кого то, по крайней мере будет первоначальная база
Именно так я учился писать на mql4-5. Сначала смотрел видео уроки и пробовал по ним,потом начинал разбираться в каждой строчке кода и в итоге без проблем получается на этом языке. Но qlua для меня пока темный лес-куча дров.
Пример торгового робота, Помощь с торговым роботом
 
Цитата
Владимир написал:
Maksimus, Язык поганый, но несложный - разобраться в нём можно без особых усилий. Но подводных камней в софте более, чем достаточно.
Для меня как раз таки очень сложный показался. И самое главное,непонятный абсолютно. Я как то читал вопросы,которые форумчане задают разработчикам квика,и ответ в основном один - К сожалению такой возможности нет,но мы примем к сведению ваше пожелание- ... Вот лично я пока вообще не могу понять,как с этими таблицами работать,как данные получать и т.д... Вообщем одним словом,нужно разбираться.
Пример торгового робота, Помощь с торговым роботом
 
Цитата
Владимир написал:
Игорь, BlaZed прав насчёт "надо писать самому". И задача эта не из лёгких. В смысле, написать робота, который тебя без штанов оставит, относительно несложно (хотя и там придётся попотеть), а вот зарабатывающего...

И насчёт "я своего писал неделю если не меньше"... мой давно работает (и хорошо работает!), а я всё пишу ТЗ на доработки. Месяц, если не больше. ::  
Да тут хоть бы какого нибудь написать!))) Даже который без штанов оставит. На демо счёте конечно чтоб работал. Но пока увы, мозгов не хватает даже на убыточного.
Пример торгового робота, Помощь с торговым роботом
 
Цитата
Владимир написал:
Maksimus,
Цитата
почему так непонятно,а точнее вообще никак написана справка?!
Чтобы жизнь мёдом не казалась. :: Впрочем, хрен с ней, со справкой - почему вся софтина так написана?
На счёт софтины с вами полностью согласен. Хотя может когда разберусь с этим чудо-языком,изменю свое мнение,а пока для меня это полный пипец,а не софт.
Пример торгового робота, Помощь с торговым роботом
 
Цитата
BlaZed написал:
Бегло пробежавшись по коду, сражу же понятно что его не стоит использовать.
1) CreateDataSource нет проверки что он хоть что нибудь вернул
2) SetEmptyCallback не надо вызывать в цикле, одного раза достаточно
3) getInfoParam("SERVERTIME") в нерабочее время может вернуть все что угодно, будете посылать свои заявки в пустоту и ловить ошибки
4) не учтено время клирингов, в которое будете получать от биржи всякий бред, который надо жестко фильтровать
5) С таблицей futures_client_holding тоже не все так просто, она запросто может оказаться например пустая, хотя позиции есть, но еще не прогрузились. Ну или например сделка уже прошла, но колбек задерживается из-за нагрузки сервера и таблица не успела обновиться, в результате получаем некорректные данные.
6) ну про стратегию торговли по SMA тут и говорить не чего

И это только не сильно всматриваясь в код.
Ну это пример робота для обучения программированию,как я понял. Поэтому стратегия зашитая в этот алгоритм,думая неважна. Главное как вы правильно сказали,это написать робота,который будет правильно реагировать на нестандартные или проблемные ситуации. Вот вы привели 6 пунктов,5 из которых очень важны для новичков типа меня,но почему-то все, что вы описали,не описывают в мануале к языку. Поэтому эта ветка думаю очень важна для новичков. Да и более уверенные кодеры ломаю тоже могут подчерпнуть для себя много чего интересного! Лично я буду регулярно читать эту ветку,и может получится написать самый простейший алгоритм. Хотя я пока вообще не могу даже представить,что тут и как.
Пример торгового робота, Помощь с торговым роботом
 
То,что самим придется набивать шишки,это понятно. Вопрос в другом, почему так непонятно,а точнее вообще никак написана справка?!
Пример торгового робота, Помощь с торговым роботом
 
Очень хорошая и правильная тема! Тоже недавно начал изучать луа,и очень много непонятного. Пока вообще не пойму как правильно писать на этом языке. Да ещё и справка далека от совершенства. Или дело mql4-5,очень понятная и развернутая справка,большое колличество примеров написания роботов. Поэтому согласен с автором,тоже посмотрел бы на самый простой пример робота. Всем спасибо за ответы.
Доступ к настройкам форматирования и фильтрации таблиц через lua
 
Абсолютно согласен с Константином!
Вопрос от новичка, Как вывести в окно остаток баланс счета?
 
Цитата
Maksimus написал:
Цитата
Владимир написал:
Maksimus , Lua - это просто антипод C! Близко ничего похожего! Гениальный язык и бездарная поделка с этой долбаной "динамической типизацией". Один goto чего стоит! В Си это обычный JMP (в отличие от ассемблера, без возможности межпрограммного перехода), а здесь это кастрированное убожество, нафиг никому не нужное. Про сборщик мусора я ваще молчу. И вершина идиотизма: тип integer вообще уничтожен!

Насчёт таблицы: вот здесь это обсуждалось:   https://forum.quik.ru/messages/forum10/message55233/topic6454/#message55233  
Спасибо Владимир,обязательно сейчас прочту
Спасибо еще раз,очень полезная тема! Сейчас поглубже попробую разобраться!
Вопрос от новичка, Как вывести в окно остаток баланс счета?
 
Цитата
Владимир написал:
Maksimus, Lua - это просто антипод C! Близко ничего похожего! Гениальный язык и бездарная поделка с этой долбаной "динамической типизацией". Один goto чего стоит! В Си это обычный JMP (в отличие от ассемблера, без возможности межпрограммного перехода), а здесь это кастрированное убожество, нафиг никому не нужное. Про сборщик мусора я ваще молчу. И вершина идиотизма: тип integer вообще уничтожен!

Насчёт таблицы: вот здесь это обсуждалось:  https://forum.quik.ru/messages/forum10/message55233/topic6454/#message55233
Спасибо Владимир,обязательно сейчас прочту
Вопрос от новичка, Как вывести в окно остаток баланс счета?
 
Цитата
Артем написал:
Maksimus, можете собственно создать графическую таблицу и туда эти данные затолкать. Тут одна особенность правда есть - сначала надо создать таблицу и добавить колонки, потом создать окно, и уже потом добавлять строки. Иначе не работает.
Вот как раз сейчас все это пробую сделать,и пока не получается
Вопрос от новичка, Как вывести в окно остаток баланс счета?
 
Цитата
Артем написал:
Maksimus, в плане программирования Луа сходен с Си. Разница состоит главным образом в отсутствии строгой типизации - любая переменная может иметь любое значение. Таким образом можно довольно легко делать например именованные структуры данных просто записав произвольные величины в произвольные ячейки массива, деревья данных просто записывая другой массив внутрь имеющегося массива, или делать ООП объекты просто навесив функций на массив. Всё это осуществимо и в Си, но довольно муторно из-а строгой типизации. Еще конечно память тут автоматическая, но это в целом эквивалентно просто использованию статической памяти в Си, с поправкой на то что можно локальные объекты передавать наружу из функций.
Ну это понятно,когда понимаешь. А я еще не пойму как тут все работает.
Вопрос от новичка, Как вывести в окно остаток баланс счета?
 
Цитата
Владимир написал:
Maksimus, Язык, конечно, полный отстой, но написать рабочую программу можно и на нём. Главное, на мой взгляд, избегать здешних глюков (вплоть до подвешивания Квика), иногда очень глубоко сидящих и редко проявляющихся, а потому пользоваться таблицами Квика и/или прерываниями лучше только в случае крайней необходимости. Я, например, таблицей "Лимиты по денежным средствам" не пользуюсь вообще (как, впрочем, и всеми остальными, кроме Orders, да и та привлекается только в "экзотических" случаях). Вот "создать таблицу и туда эти данные затолкать" - разумное предложение, только не "графическую", а свою Lua-таблицу, держать и обрабатывать данные именно там (в "графической" собственный набор глюков имеется - в частности, уже указанная необходимость соблюдения порядка вызова команд, с непривычки повергающая в шок).
Так вот и я о том, что пока для меня этот язык темный лес. Ну будем разбираться.))
Вопрос от новичка, Как вывести в окно остаток баланс счета?
 
Цитата
swerg написал:
Цитата
Maksimus написал:
Я до этого программировал на mql4-5,там мне было более все понятно.

Мне просто любопытно: а вы также наугад составляли буквы в программах mql ? вот просто любопытно.

Цитата
Maksimus написал:
И документация по Lua очень скудная.

Приведу тут тоже ссылку, потому как найти её на этой сайте в самом деле крайне затруднительно; я просто помню по каким словам ее гуглить, просто так фик найдёшь.
https://arqatech.com/ru/support/files/
Внизу страницы "Документация по языку LUA в QUIK и примеры.zip"
Любопытно? Мозги включи "уважаемый",и сам себе ответь!!! А то ты "гений" с первой секунды грааль написал. Если тебе нечего написать умного,то проходи тему стороной! Без тебя здесь много нормальных людей. Тем кому не любопытно.
Вопрос от новичка, Как вывести в окно остаток баланс счета?
 
Цитата
Артем написал:
От себя порекомендую прочитать онлайн-книгу Programming In Lua, и инструкцию QUIK Интерпретатор Языка Lua.
Обязательно прочту,спасибо!!
Вопрос от новичка, Как вывести в окно остаток баланс счета?
 
Цитата
Maksimus написал:
Цитата
Артем написал:
Maksimus , ну да, результат выдается таблицей. Из таблицы надо значения выдёргивать по мере надобности. Чтобы просто всё подряд высыпать можно вот такой например код использовать.

 
Код
      for   k, v   in   pairs ( money )   message   ( string.format (  "%s = %s" , k, v ) )   end  
    
 
Вот как раз для меня пока вообще не понятно, как эти данные выводятся,как их доставать по мере надобности и т.д. Сейчас пробую разбираться с помощью ваших подсказок.
Выдавало ошибку,пока в цикле не добавил do после (money)
for  k, v  in  pairs ( money ) do
message  ( string.format (  "%s=%s" , k, v ) )
end
Так работает. Теперь попробую сам докумекать,как вывести все эти данные в окно построчно,чтоб увидеть всю эту таблицу.
Вам спасибо большое за подсказки. Буду к вам обращаться по мере надобности.
Вопрос от новичка, Как вывести в окно остаток баланс счета?
 
Цитата
Артем написал:
Maksimus, ну да, результат выдается таблицей. Из таблицы надо значения выдёргивать по мере надобности. Чтобы просто всё подряд высыпать можно вот такой например код использовать.

Код
   for  k, v  in  pairs ( money )  message  ( string.format (  "%s=%s" , k, v ) )  end 
  
Вот как раз для меня пока вообще не понятно, как эти данные выводятся,как их доставать по мере надобности и т.д. Сейчас пробую разбираться с помощью ваших подсказок.
Вопрос от новичка, Как вывести в окно остаток баланс счета?
 
Цитата
Артем написал:
Язык прекрасный на самом деле: можно писать как на Си, можно писать как на Паскале, можно писать как Питоне, можно писать как на Джаваскрипте. Встроенные хештаблицы и возможность ставить значения пустых полей по умолчанию через другую таблицу либо вообще функцию. Бинарные строки и отсутствие борьбы с нуль-терминатором, и такие сверхбыстрые строковые сравнения что можно вместо числовых констант строковые использовать. Сборщик мусора быстрый и хирургически точно управляемый. Можно загружать бинарные библиотеки написанные на С++, а через специализированые инструменты - даже при отсутствии у библиотек Луа интерфейса.

Нули у вас потому что неверные параметры заданы. По-хорошему должно ошибку выбрасывать, но в Арке у людей туго с идиоматичным кодом на Луа, так что вот такие перлы повсюду. Советую вам обращаться к табличным данным напрямую через getItem.

Код
   for  i  =   1 ,  getNumberOf  (  "money_limits"  )  do 
  money  =   getItem  (  "money_limits" , i )  
Выдает вот так
Вопрос от новичка, Как вывести в окно остаток баланс счета?
 
Случайно ваше сообщение опубликовал! Вы видимо давно на нем программируете,поэтому для вас этот язык уже как семечки! А для меня этот язык пока темный лес. Я до этого программировал на mql4-5,там мне было более все понятно. И документация по Lua очень скудная. Вам большое спасибо за ответ,сейчас попробую по вашему примеру.
Вопрос от новичка, Как вывести в окно остаток баланс счета?
 
Цитата
Артем написал:
Язык прекрасный на самом деле: можно писать как на Си, можно писать как на Паскале, можно писать как Питоне, можно писать как на Джаваскрипте. Встроенные хештаблицы и возможность ставить значения пустых полей по умолчанию через другую таблицу либо вообще функцию. Бинарные строки и отсутствие борьбы с нуль-терминатором, и такие сверхбыстрые строковые сравнения что можно вместо числовых констант строковые использовать. Сборщик мусора быстрый и хирургически точно управляемый. Можно загружать бинарные библиотеки написанные на С++, а через специализированые инструменты - даже при отсутствии у библиотек Луа интерфейса.

Нули у вас потому что неверные параметры заданы. По-хорошему должно ошибку выбрасывать, но в Арке у людей туго с идиоматичным кодом на Луа, так что вот такие перлы повсюду. Советую вам обращаться к табличным данным напрямую через getItem.

Код
   for  i  =   1 ,  getNumberOf  (  "money_limits"  )  do 
  money  =   getItem  (  "money_limits" , i )  
Вопрос от новичка, Как вывести в окно остаток баланс счета?
 
Доброго времени суток всем форумчанам. Совсем недавно начал изучать Lua, и вот пытаюсь разобраться с этим языком (честно сказать язык вообще не радует)... Как вывести в окно остаток баланс счета? Пытаюсь запустить скрипт из мануала,но он мне выдает одни нули. Помогите разобраться в чем причина.
Код
-- Пример использования функции getMoney
function main()
    -- Параметры для запроса берутся из таблицы "Лимиты по дененым средствам"
    -- client_code = "Код клиента"
    -- firmid = "Фирма"
    -- tag = "Группа"
    -- currcode = "Валюта"

    local money = getMoney("11252", "MB1000100000", "RTOD", "SUR")
    
    message("money_open_limit: " .. tostring(money.money_open_limit))
    message("money_limit_locked_nonmarginal_value: " .. tostring(money.money_limit_locked_nonmarginal_value))
    message("money_limit_locked: " .. tostring(money.money_limit_locked))
    message("money_open_balance: " .. tostring(money.money_open_balance))
    message("money_current_limit: " .. tostring(money.money_current_limit))
    message("money_current_balance: " .. tostring(money.money_current_balance))
    message("money_limit_available: " .. tostring(money.money_limit_available))
end

Подставляю свой код клиента, а дальше не пойму,какие данные подставлять? Спасибо заранее всем ответившим.
Вопросы Новичка
 
Владимир, Лично для меня, я никакой прелести кодить на Lua не увидел. Абсолютно непонятный синтаксис,и справочник ни очем!
Вопросы Новичка
 
Я сегодня уже написал разработчикам, что это гнилой язык. Читаю посты людей, у многих не получается кодить на этом языке. Поддержка очень сухо отвечает! Короче,лично я совсем не доволен данным языком. Синтаксис вообще убожеский!! Наверно не буду его изучать,лучше буду кодить на MQL4-5. Достало этот непонятное подобие языка программирования!!
Предложение к разработчикам
 
Доброго времени суток всем форумчанам! Я честно сказать вообще в шоке с такого мягко сказать дерьмового языка! Я изучал HTML,CSS,PHP,MQL4,MQL5 и вот пару дней назад начал изучать LUA. Так вот мое ощущение, что разработчики специально писали язык как можно тяжелее для изучения!!! Скачать справочник по LUA с оф.сайта, там не справка,а просто пару строк о каждой функции написано,и что и как делать,вообще не понятно!!! Например MQL4-5 я изучил примерно за месяц полностью и без проблем пишу на них роботов! И что самое важное,что у этих языков есть свой редактор со встроенной справкой по языку,и для каждой функции приведен конкретный пример!!! Здесь же минимум информации, и максимум "гемора" в написании кода!!! Начал изучать этот ..... не очень хороший язык только из-за того, что со сбербанк использует платформу Quik. Если б сбер использовал MT4,MT5, никогда бы не стал изучать этот язык!!! И самое главное,беру скрипт из справки,запускаю его,и он чудесным образом выдает ошибку! Вот это верх тупизны данного языка!!! Разработчики, меняйте координально язык!
Страницы: 1
Наверх