1 (2013-02-26 07:55:33 отредактировано sam)

Тема: Привод с автостопом[vclua]

Простой привод с возможностью выставления стоп-заявок

http://i.minus.com/ibeHPBy1nWZf1H.PNG

Интерфейс:

Sell - лучшая цена продажи(количество)
Buy - лучшая цена покупки(количество)
"marketorders"  - чекбокс для включения выставления заявок по рыночной цене

кнопки
buy\sell для покупки\продажи (при нажатии в очередь ставится лимитированная заявка по лучшей цене)
KILL - убивает все активные заявки и стоп-заявки(позиция не закрывается, если она открыта)
Save - сохраняет настройки из текстбоксов в правой части окна в файл settings.xml

В выпадающем списке отображаются инструменты, которые вы впишете в файл template.lua в самом верху;
также там нужно будет указать classcode,account,firmid...
"Volume" - обьем выставляемой заявки(в лотах)
"Margin"  -   отображает маржу по текущему инструменту(берется из таблицы)
"Position"  -   отображает текущую позицию(напр. -1, 20, 0, -20) и в скобках прибыль(в пунктах) от последней сделки

"autostop" - чекбокс отвечающий за выставления тейкпрофит-стопордер заявок(можно не использовать)

В текстбоксы нужно вписать настройки для тейк-профит стоп-ордер заявок(в пунктах)

TODO:

2. найти и пофиксить баги
3. ???????
4. Профит

Что там?

В архиве содержатся сам привод, моя библиотека, файл настроек и папка с vclua и luaxml


privod.lua, qlib.lua, settings.xml должны находиться в одной папке
(но если настройки потеряются привод создаст пустой файл настроек при перезапуске)

vclua и luaxml нужно положить в папку квика (без них работать не будет)

код самого привода не особо комментирован, так что не стесняйтесь задавать вопросы
в библиотеке подписаны все функции, чтобы понятно было их назначение

[url=https://docs.google.com/file/d/0B9XZLx63MX2Ncjd1aU5vcUxaU2c/edit?usp=sharing]скачать[/url]

комментарии, баг-репорты приветствуются

если вопросы задавать стыдно, или еще что-то, пишите на почту: wannaberocka at gmail.com

2 (2013-02-13 18:11:58 отредактировано sam)

Re: Привод с автостопом[vclua]

сразу багфикс небольшой, чтобы настройки корректно сохранялись\загружались

function OnInit()
    mainForm:Show()    
    
    is_run = true      
    for i=1,#SecCodes do
        
         table.insert(Volume,i,1)
         table.insert(TPOffset,i,0)
         table.insert(MaxOffset,i,0)
         table.insert(SLOffset,i,0)
         table.insert(DefOffset,i,0)
    end
    if not existsFile("settings.xml") then          
        SaveSettings()         
    else
        for i=1,#SecCodes do
            LoadSettings(SecCodes[i])
        end
    end    
    message("bot loaded",1)         
end

Re: Привод с автостопом[vclua]

Объясните пожалуйста, если не затруднит, что делает этот код?
local res=sendTransaction(transaction)
    if res~="" then
        return false,trans_id, "qlib.SendLimitOrder():"..res
    else
        return true,trans_id, "qlib.SendLimitOrder(): Limit order sended sucesfully. Class="..ClassCode.." Sec="..SecCode.." Dir="..Operation.." Price="..Price.." Vol="..Volume.." Acc="..Account.." Trans_id="..trans_id
    end
как я понимаю, при ошибке sendTransaction(transaction) должна вывести строчку? а тут как-то наоборот получается), Спасибо.

4

Re: Привод с автостопом[vclua]

Константин М. пишет:

Объясните пожалуйста, если не затруднит, что делает этот код?
local res=sendTransaction(transaction)
    if res~="" then
        return false,trans_id, "qlib.SendLimitOrder():"..res
    else
        return true,trans_id, "qlib.SendLimitOrder(): Limit order sended sucesfully. Class="..ClassCode.." Sec="..SecCode.." Dir="..Operation.." Price="..Price.." Vol="..Volume.." Acc="..Account.." Trans_id="..trans_id
    end
как я понимаю, при ошибке sendTransaction(transaction) должна вывести строчку? а тут как-то наоборот получается), Спасибо.

у меня функция возвращает:
true(false) - прошла заявка или нет
trans_id - уникальный айди
res - ответ на заявку, который приходит в квик

5

Re: Привод с автостопом[vclua]

День добрый!
Все файлы, включая последнюю версию vclua скопировал в папку quik
но при запуске выдается ошибка "Error loading module 'LuaXML_lib' from file  '.\LuaXML_lib.dll: не найден указанный модуль.
Не совсем понятно, к чему бы это, dll в общем-то как и все выше названные файлы лежат в папке квика.

В качеств первого предложения - ввести исторические цвета как на терминалах рейтер-дилинг темно-зеленый на BUY и темно-красный на кнопку Sell

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

6 (2013-02-26 07:55:50 отредактировано sam)

Re: Привод с автостопом[vclua]

akuzn пишет:

День добрый!
Все файлы, включая последнюю версию vclua скопировал в папку quik
но при запуске выдается ошибка "Error loading module 'LuaXML_lib' from file  '.\LuaXML_lib.dll: не найден указанный модуль.
Не совсем понятно, к чему бы это, dll в общем-то как и все выше названные файлы лежат в папке квика.

В качеств первого предложения - ввести исторические цвета как на терминалах рейтер-дилинг темно-зеленый на BUY и темно-красный на кнопку Sell

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

[url=https://docs.google.com/file/d/0B9XZLx63MX2Ncjd1aU5vcUxaU2c/edit?usp=sharing]скачать[/url]
попробуйте так, если не видит библиотек

ссылку в 1 посте обновил

7

Re: Привод с автостопом[vclua]

Кстати, sam, а что именно в части работы с XML-файпами вы там используете?
Я к тому, что можно воспользоваться имеющейся поддержкой работы с XML в VCLua, надо только понять что именно нужно. Помогу переделать.

8

Re: Привод с автостопом[vclua]

посмотрите load и savesettings функциии

9

Re: Привод с автостопом[vclua]

кто подскажет, в данном приводе требуется также qlib.lua, где её можно взять?

10

Re: Привод с автостопом[vclua]

Что-то сайт тех парней, кто делал эту библиотеку, не отвечает. Они её на гитхабе или гуглькоде хранили, но найти не могу.
Как получится найти - выложу ссылку

11 (2015-01-29 22:57:10 отредактировано swerg)

Re: Привод с автостопом[vclua]

QL скачивается здесь:
[url]https://sourceforge.net/projects/qllib/[/url]

12

Re: Привод с автостопом[vclua]

Да, вы правы. Название библиотеки поправил, а сайт в самом деле сегодня заработал, парни продлили домен, ура!

13

Re: Привод с автостопом[vclua]

В их библиотеке есть функция KillAllOrders, кто может пояснить, как она работает или код её показать адекватно?

14

Re: Привод с автостопом[vclua]

В поставке есть файл ReadMe.txt
На русском.
Скажите, вы его прочитали?

15

Re: Привод с автостопом[vclua]

в архиве изначально была моя собственная библиотека, QL никогда не использовал и сюда не подойдет. библиотеки к этому приводу нет уже давно, кому если вдруг надо то вот
[url]https://drive.google.com/folderview?id=0B9XZLx63MX2NcmtKenZpWnctRW8&usp=sharing[/url]