Вот цены https://arqatech.com/ru/products/quik/rates/ Крупные брокеры могут приобретать unlim лицензию и на брать никакой платы с клиента. А мелкие просто перекладывают все расходы на клиента.
Константин написал: Насколько я понимаю как только биржа добавит в свой API возможность выставлять заявки заявки и исполнять их, у LUA возникнут сложности с его потребностью. Как и у QUIK
У биржи уже давно есть API с возможностью выставлять и исполнять заявки
Судя по вашей картинке, вероятней всего, автозамена прошла 21.03. Логика такая: берется график старого фьючерса GOLD-3.24, переименовывается в новый GOLD-6.24 и в нем начинаются накапливаться новые данные. Поэтому у вас на графике GOLD-6.24 отображаются сделки за вечерку 20.03 на данных от GOLD-3.24
В теории, при тейк профит вы можете получить более выгодное условие покупки, если цена при достижении условия продолжит плавное снижение без откатов. На практике все может быть несколько иначе.
nikolz, почему же стоп-лимит - это заявка на закрытие убыточной позиции? Вот у автора нет позиции, он хочет купить при пробитии вверх. Если цена выставляемой лимитной заявки не будет выше макс возможной, и рынок за время выставления не уйдет выше этой цены, это желание автора исполнится
BlaZed написал: Тоже считаю возможность создавать пассивные заявки через sendTransaction весьма нужным функционалом. Надеюсь реализовывать будете не 10 лет.
Так все реализовано уже - https://forum.quik.ru/forum12/topic7774/ Ошибка создания заявки. [GW][82] "Заявка Book-or-Cancel не может быть выставлена/переставлена, т.к. она приводит к немедленному исполнению.".
Есть связь между первоначальной и перевыставленной заявкой (включен перенос заявки)?, При перевыставлении заявки создается новая с нулевым id транзакции. Есть какой-то способ определить связь с первоначальной заявкой?
У перевыставленной заявки будет код биржи вида: '20221107 1892947848636329123', где 20221107 - срок первоначальной заявки, 1892947848636329123 - номер первоначальной заявки
Надо было в свое время при смене контрактов делать склейку RIZ1->RIH2->RIM2->RIU2, тогда сейчас у вас график RIU2 включал бы в себя все минутки от предыдущих контрактов, при условии, что вы пару раз в неделю соединялись с сервером Quik. Сейчас уже никак.
Проблема в совокупности OnQuote и getQuoteLevel2 Если сделать так, то занимаемая память варьируется в р-не 50-100 кб
Код
function main()
while true do
sleep(10)
gQL()
end
end
function gQL()
local ql2 = getQuoteLevel2("SPBFUT", "SiU2")
end
В OnQuote в скрипте была запись в глобальные переменные лучших bid и offer из стакана, потом в main эти значения учитывались. На версиях 9.5, 9.4 потребляемая помять колебалась в р-не 200-300 кб.
quik 9.7.1 простой код, за несколько минут занимаемая память разбухает до более 10 Мб, запускается в lua 5.4.1
Код
function main()
while true do
sleep(1000)
end
end
function OnQuote(class, sec)
if ((class == "SPBFUT") and (sec == "SiU2")) then
local ql2 = getQuoteLevel2(class, sec)
-- что-то делаем
end
end
Месяц назад уже спрашивали - https://forum.quik.ru/forum10/topic7435/ Вы хотите, чтобы ваш скрипт онлайн подхватывал добавленный инструмент в "Текущие торги"? Если не онлайн можно же создать статический список в самом скрипте. Если именно онлайн, как вариант, создать текстовый файл со списком и в периодически его читать. Инструмент добавляете в блокнотике :)
nikolz,число 2 в столбце Плечо уже давно не является значением плеча, как в старые добрые времена :) Как выше написал Старатель Тип клиента в Клиентском портфеле МД, сами значения дисконтов в Купить/Продать И откуда у вас взялась комиссия в 749 руб для покупок на 300 тыс? Можете поиграться с объемом в заявках и посмотреть, что сам квик рассчитывает
Дмитрий написал: Будет работать только у брокеров с версией сервера 9.0+
А можно ли как-то узнать версию сервера у брокера? Ну кроме очевидного позвонить и спросить.
Сделать копию каталога с квиком, обновить файлы из архива, попробовать соединиться, если удалось, значит версия сервера 9.0+. Если адресов несколько, пробоваться соединиться на каждый.
Существует ли способ как-то при вызове SearchItems передать в виде переменной код бумаги, а не указывать его жестко в самой fn?
Код
function fn(par1, par2, par3)
if (par1 == my_account and par2 == par3) then -- чтобы вместо par3 подставлялись, например SRH1, GZH1
return true
else
return false
end
end
t1 = SearchItems("futures_client_holding", 0, getNumberOf("futures_client_holding")-1, fn, "TRDACCID,SECCODE") -- как здесь указать переменную для par3 для сравнения в fn?
t2 = SearchItems("futures_client_holding", 0, getNumberOf("futures_client_holding")-1, fn, "TRDACCID,SECCODE") -- выборка, например, для SRH1
t3 = SearchItems("futures_client_holding", 0, getNumberOf("futures_client_holding")-1, fn, "TRDACCID,SECCODE") -- выборка, например, для GZH1