Здравствуйте. Пишу простой скрипт выставления автостопа на луа для квика. Работаю только на фьюче ртс.
1. выставил я заявку на покупку одного фьюча. заявка исполнилась, открытых позиций 1 (для лонга). как узнать цену, по которой открылась позиция? через функцию OnTransReply или как то по другому? OnTransReply вроде не всегда гарантированно приходит.
2. выставил я заявку на покупку стапидцот фьючей. заявка исполнится по разным ценам (чем бОльшее количество фьючей, тем бОльший спред.
как в этом случае узнать цену открытия позиций?
Валентин, OnTrade придет на каждый «удар» — если ударить 100 контрактами по такому стакану (цена-контракты): 500-10, 510-20, 520-30, 530-45 то придут 4 OnTrade():
nwtour,
к примеру выставил я заявку на 100 контактов. заявка начала выполнятся. в ответ посыпались onTrade (по три одинаковых штуки каждую покупку.)
Как в qlua ловить все OnTrade и помещать в один массив для дальнейшего анализа? Не могли бы вы привести пример кода?
function OnTrade(trade)
--Добавляем новый элемент в глобальный массив allTrades с данными о текущей сделке
allTrades[#allTrades+1] = trade
end
--------------------
По поводу «по три одинаковых штуки каждую покупку» — эта проблема появилась в 7 квике, разработчики исправлять не собираются forum.quik.ru/forum10/topic1082/
nwtour, демосчет у арки на седьмом квике.
такой код:
allTrades = {}
function OnTrade(trade)
allTrades[#allTrades + 1] = trade
message(print_arr(allTrades))
end
функция print_arr распечатывает содержимое массива со всеми подмассивами.
так вот. в квик приходит три раза одно и тоже сообщение: одномерный массив с полной инфой (все что присылает ontrade).
а я предполагал что третье сообщение — будет трехмерный массив, второе сообщение — двухмерный массив. я не прав?
Рынок часто движется импульсами, и тем важнее оценивать активы без спешки, не отвлекаясь на инфошум. Для этого отлично подходят выходные дни. В конце недели разбираем самые заметные события и...
Россети Ленэнерго. Отчет об исполнении инвестпрограммы за Q4 2025г. Опасения оправдались - обесценение съело прибыль
Компания Россети Ленэнерго опубликовала отчет об исполнении инвестпрограммы за Q4 2025г., где показаны финансовые показатели компании по РСБУ в 4 квартале (ну и понятно за целый год):...
EUR/USD: Пан или пропал? Ретест треугольника ставит ультиматум
Европейская валюта, протестировав сопротивление 1.1918, повторно устремилась вниз для ретеста пробитой границы треугольника. На этот раз касание трендовой линии выглядит максимально уверенным....
Россети Центр. Отчет об исполнении инвестпрограммы за Q4 2025г. Ожидаемо снизилась дивидендная база по РСБУ.
Компания Россети Центр опубликовала отчет об исполнении инвестпрограммы за Q4 2025г., где показаны финансовые показатели компании по РСБУ в 4 квартале (ну и понятно за целый год): 👉Выручка...
Perser, В настройках роутера есть метрики сигнала, по ним и надо настраивать сигнал со спутника.
RSSI, дБмRSSI отражает силу принимаемого сигнала. Значения ближе к 0 означают более высокую мощ...
По итогам SPO доля АФК Система в капитале Эталона выросла с 48,5% до 71%, что позволит группе сэкономить на перераспределении активов и выплатах дивидендов — Ъ По итогам SPO «Эталона» доля мажоритарно...
По итогам SPO доля АФК Система в капитале Эталона выросла с 48,5% до 71%, что позволит группе сэкономить на перераспределении активов и выплатах дивидендов — Ъ По итогам SPO «Эталона» доля мажоритарно...
Максим Пелихов, второй в очереди в психдиспансер, как вы торгуете, дивдоходность посчитайте, у сбера прогнозируемо 37р при цене 310, ну фак калькулятор в руки возьмите, какие 180, диспансер, однозн...
Валентин, OnTrade придет на каждый «удар» — если ударить 100 контрактами по такому стакану (цена-контракты): 500-10, 510-20, 520-30, 530-45 то придут 4 OnTrade():
цена 500 количество 10
цена 510 количество 20
цена 520 количество 30
цена 530 количество 40
p.s. среднюю можно вручную в коде подсчитывать
к примеру выставил я заявку на 100 контактов. заявка начала выполнятся. в ответ посыпались onTrade (по три одинаковых штуки каждую покупку.)
Как в qlua ловить все OnTrade и помещать в один массив для дальнейшего анализа? Не могли бы вы привести пример кода?
Валентин,
allTrades = {}
function OnTrade(trade)
--Добавляем новый элемент в глобальный массив allTrades с данными о текущей сделке
allTrades[#allTrades+1] = trade
end
--------------------
По поводу «по три одинаковых штуки каждую покупку» — эта проблема появилась в 7 квике, разработчики исправлять не собираются forum.quik.ru/forum10/topic1082/
Я сделал затычку как написано тут forum.quik.ru/messages/forum10/message10036/topic1082/#message10036
такой код:
allTrades = {}
function OnTrade(trade)
allTrades[#allTrades + 1] = trade
message(print_arr(allTrades))
end
функция print_arr распечатывает содержимое массива со всеми подмассивами.
так вот. в квик приходит три раза одно и тоже сообщение: одномерный массив с полной инфой (все что присылает ontrade).
а я предполагал что третье сообщение — будет трехмерный массив, второе сообщение — двухмерный массив. я не прав?
Валентин, Я же прикрепил сообщение — это «бага» квика, он на сервере обновляет транзакцию и повторно вызывает OnTrade()
Сделайте вот так и повторные сообщения пропадут:
allTrades = {}
function OnTrade(trade)
--y это уникальный идентификатор транзакции
y = tostring(trade.trade_num)… "="… tostring(trade.order_num)if allTrades[y] then
--повторные транзакции пропускаем
return
end
allTrades[y] = trade
--массив с ключом id транзакции, а значение это вложенный массив с данными сделки
message(print_arr(allTrades))
end