Во-первых, в папке установки терминала QUIK должны быть 2 файла справок:
info.chm - справка по работе с терминалом (в нем есть вся информация по полям транзакций, которые применяются в функции sendTransaction) и
QLUA.chm - справка по языку QLua, держите их всегда "под рукой".
Для создания скриптов на языке Lua вполне подойдет редактор Notepad++, с небольшими настройками. Скачать его можно на сайте разработчика, он бесплатный (при установке выберите русский язык). Устанавливается стандартным способом.
После установки, если у Вас Windows 7/8/10, в свойствах ярлыка программы, на вкладке "Совместимость" поставьте галочку "Запускать от имени администратора" и нажмите "Применить". Это нужно для того, чтобы скрипты, находящиеся в папке "Program Files (x86)" можно было без проблем редактировать и сохранять.Запустите Notepad++. Для того, чтобы русский текст не подчеркивался как ошибка, пройдите по меню: "Плагины" -> "DSpellCheck" -> "Change Current Language" -> "Download More Languages...", поставьте там галочку напротив "Russian" и нажмите кнопку "Install Selected". После этого снова пройдите: "Плагины" -> "DSpellCheck" -> "Change Current Language" и нажмите на строку "Multiple Language". Теперь программа сверяет текст как с английским, так и с русским словарями.
ВАЖНО!!! Для QUIK необходимо сохранять скрипты в кодировке Windows-1251, иначе русский текст не будет адекватно отображаться.
Для того, чтобы задать скрипту кодировку, нужно перейти: "Кодировки" -> "Кодировки" -> "Кириллица" -> "Windows-1251"
Более интересный вариант - это Visual Studio Code с плагинами Russian Language Pack for Visual Studio Code и Lua
Мы используем такие настройки профиля:
{ "files.encoding": "windows1251", "editor.tabSize": 3, "files.autoGuessEncoding": true, "Lua.codeLens.enable": true, "[lua]": { "editor.defaultFormatter": "sumneko.lua" }, "Lua.runtime.unicodeName": true, "Lua.workspace.ignoreSubmodules": false, "Lua.type.weakNilCheck": true, "Lua.runtime.fileEncoding": "ansi", "git.enableSmartCommit": true, "security.workspace.trust.untrustedFiles": "open", "git.confirmSync": false, "editor.minimap.enabled": false, "window.zoomLevel": 1 }
Он дает намного больше возможностей, проверяет ошибки, автоматически форматирует код, предлагает автозавершения, показывает ссылки на функции, позволяет делать документацию и многое другое.
Для разработки приложений на языке C# есть отличная среда разработки (IDE) Visual Studio от компании Microsoft. Советую Вам использовать именно ее, причин для этого очень много, назову основную: и язык C# и платформа .Net Framework, всю мощь которой он использует, созданы и продолжают развиваться компанией Microsoft. По-этому, логичным будет, использовать и язык и платформу и среду разработки одной компании. Еще один неоспоримый плюс это возможность получить бесплатно среду разработки непосредственно на сайте Microsoft.
Это Visual Studio Community последней версии.
После установки, программа предложит войти в свою учетную запись Microsoft, если у Вас ее еще нет, рекомендую зарегистрировать, т.к. в ней будут автоматически сохраняться Ваши настройки из Visual Studio. И если Вы решите переустановить ее, например после переустановки Windows, то Ваши настройки будут автоматически загружены с сервера Microsoft.
Если у Вас появились какие-то вопросы, задайте их в комментариях под статьей !!!
Добрый день!маленький вопрос программа Visual Studioпросто огромна, не подскажите какие компоненты поставить, если я только буду пробовать изучить lua в привязке квик?
Привет, в Нотепад открыл код одного скрипта потом второго. И мы видим только код активного окна, можно ли как-то сделать в настройках, что-бы видеть два окна три и т.д. (как это реализовано в МТ4 и МТ5) ? Сам ковырялся в настройках но ничего не получилось.
Привет! "Опции" -> "Настройки..."
У тебя так же?
Изображение:
Изображение:
да
Понял о чем ты, кликни правой кнопкой по вкладке с названием файла и там "Переместить в другую область"
а так просто, а областей так понял только 2е? в принципе мне хватит
Да, похоже только 2, я сам этим ни разу не пользовался, даже не знал, что это есть в Нотепаде, теперь буду знать 🙂
А как догадался методом тыка? Ладно спасибо за помощь.
Да, им родимым 🙂 Всегда пожалуйста.
Кроме Notepad++ промелькнул продукт SciTE. В Notepad'e есть возможность раскрасить служебные слова. Кроме этого как бы можно добавить свой синтаксис с набором ключевых слов и так же их раскрасить. Заманчиво - но добавить ничего не получилось. В SciTE не нашёл таких настроек вообще, да и меню не на родном мне языке).
Кто-нибудь ставил перед собой подобные задачи?
Т.е. Вы хотите расширить встроенный в нотепад синтаксис луа ?
Писал много и долго что зачем и почему, а ответ оказался прост - ДА! ))).
Я просто подумал вдруг Вы не нашли в нотепаде стандартный луа-синтаксис и хотели сами его создать 🙂 Тогда лично я ничего Вам не подскажу, не пытался добавлять. И на сколько я понял, нотепад дает возможность свой синтаксис с нуля создавать, а если есть потребность добавить в существующий, то нужно, как я понимаю, этот плагин установленный как-то редактировать. Надеюсь кто-то из здесь присутствующих поможет Вам советами.
Здравствуйте, Дмитрий! А можете что-то сказать по поводу связки QLua + Python? Python ещё как-то, но C# я совсем не знаю.
Здравствуйте! Не могу ничего сказать, к сожалению, т.к. не использовал питон!
Дмитрий, добрый день))) Удачного дня)))
Спасибо, Александр:) И Вам всего наилучшего:)
Большое спасибо.
Чувствую я "подсяду" на Ваш сайт
А как Вас зовут?
Дмитрий
Спасибо за ответ.
Я согласен с Вами, что на счет C#. Смущает объем изучаемой информации.
Если пойти по пути создание приложений в C# то нужно изучить C# + Qlua .
Если в Qlua соответственно одна программа.
Наверно так и придется делать на C# .
Спасибо.
С уважением, Александр
Если появятся какие-то трудности или вопросы, например, по C#, пишите в комментариях, есть хороший опыт и наработки, постараюсь помочь!
Замечательный сайт. Огромное Вам спасибо.
Не знал где задать вопрос задал здесь.
Подскажите пожалуйста, есть ли в Lua библиотека с оконный интерфейс? Если есть то какая и ссылку на рабочий пример если можно.
Нужно написать модуль управления, в который поступают управляющие сигналы с Amibrokerа, а модуль передает сигналы на несколько квиков, и осуществляет контроль за сделками и капиталом, а также осуществляет ручное управление всеми квиками. В модуле должны быть окошечки, кнопочки и прочее....
Сейчас робот работает один Amibroker один квик
С уважением, Александр.
Здравствуйте, Александр! Спасибо за добрые слова! Библиотеки такие есть для QLua, но может быть Вам больше подойдет создать приложение на C#, которое будет решать все эти задачи, а Qlua использовать только как связку с C#, для выполнения торговых приказов в QUIK полученных из C#, и для обратной связи о сделках? Ведь если использовать такую библиотеку, то Ваш модуль будет привязан к определенному терминалу QUIK... Да и вообще, в C# намного больше возможностей и "удобств" для разработки сколь угодно сложных решений, чего нельзя сказать про сторонние библиотеки для QLua.