Хочу заказать скрипт.

Страницы: 1
RSS
Хочу заказать скрипт., Хочу заказать скрипт по поиску роботов, которые покупают или продают рыночными заявками.
 
Здравствуйте! Хочу заказать скрипт по поиску роботов, которые покупают или продают по рынку.
Для примерного понимания ТЗ, есть бесплатный скринер: (https://www.youtube.com/watch?v=-pTgrdbgpcg)
Мне нужно то же самое только более доработанное и лёгкое. Мне не нужен лишний функционал который имеется в этом скринере, меня интересует только поиск роботов.
В этом скринере есть ряд недостатков и недостающих функций, из-за чего хочу заказать скрипт. В программировании ничего не понимаю, по этому финансово оценить никак не могу. Можете писать свои предложения в ЛС или в тему.
Функции которые нужны в скрипте:
1) Определение роботов (Инструмент; Лотаж; Направление; Периодичность (Вплоть до миллисекунд); Время включения; Количество бросков; Время выключения)
2) Определение разнолотовых роботов. Например, робот с периодичностью 20сек кидает в рынок заявки объёмом 1105-1106. Скрипт должен их относить к одному роботу и выводить периодичность бросков (До миллисекунд).
3) Истории роботов, показывает когда скрипт заметил их и когда они выключились, какая была периодичность бросков (Время когда их заметил и когда они выключились можно было экспортировать в EXСEL)
4) Гибкие настройки. Например, регулировать процент/лотаж возможного отклонения объёма робота. Выбирать по каким бумагам будет работать скрипт.
5) Ну и просто звуковое оповещение в случае обнаружения робота
Постарался описать всё, жду любой обратной связи)
PS Не знаю возможно ли это уложить в скрипт, потому что вообще не шарю, поправьте если не прав.  
 
Цитата
SellBuyStyle написал:
Здравствуйте! Хочу заказать скрипт по поиску роботов, которые покупают или продают по рынку.
Для примерного понимания ТЗ, есть бесплатный скринер: ( https://www.youtube.com/watch?v=-pTgrdbgpcg )
Мне нужно то же самое только более доработанное и лёгкое. Мне не нужен лишний функционал который имеется в этом скринере, меня интересует только поиск роботов.
В этом скринере есть ряд недостатков и недостающих функций, из-за чего хочу заказать скрипт. В программировании ничего не понимаю, по этому финансово оценить никак не могу. Можете писать свои предложения в ЛС или в тему.
Функции которые нужны в скрипте:
1) Определение роботов (Инструмент; Лотаж; Направление; Периодичность (Вплоть до миллисекунд); Время включения; Количество бросков; Время выключения)
2) Определение разнолотовых роботов. Например, робот с периодичностью 20сек кидает в рынок заявки объёмом 1105-1106. Скрипт должен их относить к одному роботу и выводить периодичность бросков (До миллисекунд).
3) Истории роботов, показывает когда скрипт заметил их и когда они выключились, какая была периодичность бросков (Время когда их заметил и когда они выключились можно было экспортировать в EXСEL)
4) Гибкие настройки. Например, регулировать процент/лотаж возможного отклонения объёма робота. Выбирать по каким бумагам будет работать скрипт.
5) Ну и просто звуковое оповещение в случае обнаружения робота
Постарался описать всё, жду любой обратной связи)
PS Не знаю возможно ли это уложить в скрипт, потому что вообще не шарю, поправьте если не прав.  
Правильно понял , что критерий обнаружения это равные объемы с одинаковым периодом покупаются и продаются?
Если верно, то скажите , Вы где читали или есть статистика, что такие дебильные роботы кто-то применяем?
----------------
Написать можно любую хотелку за Ваши деньги.
Но у меня правило.
Кому надо, тот и говорит за сколько надо.
Вы же не знаете как делать смартфон или автомобиль, но знаете за сколько хотите купить.
Пишите бюджет и время в личку.
 
Цитата
nikolz написал:
Цитата
SellBuyStyle написал:
Здравствуйте! Хочу заказать скрипт по поиску роботов, которые покупают или продают по рынку.
Для примерного понимания ТЗ, есть бесплатный скринер: (  https://www.youtube.com/watch?v=-pTgrdbgpcg  )
Мне нужно то же самое только более доработанное и лёгкое. Мне не нужен лишний функционал который имеется в этом скринере, меня интересует только поиск роботов.
В этом скринере есть ряд недостатков и недостающих функций, из-за чего хочу заказать скрипт. В программировании ничего не понимаю, по этому финансово оценить никак не могу. Можете писать свои предложения в ЛС или в тему.
Функции которые нужны в скрипте:
1) Определение роботов (Инструмент; Лотаж; Направление; Периодичность (Вплоть до миллисекунд); Время включения; Количество бросков; Время выключения)
2) Определение разнолотовых роботов. Например, робот с периодичностью 20сек кидает в рынок заявки объёмом 1105-1106. Скрипт должен их относить к одному роботу и выводить периодичность бросков (До миллисекунд).
3) Истории роботов, показывает когда скрипт заметил их и когда они выключились, какая была периодичность бросков (Время когда их заметил и когда они выключились можно было экспортировать в EXСEL)
4) Гибкие настройки. Например, регулировать процент/лотаж возможного отклонения объёма робота. Выбирать по каким бумагам будет работать скрипт.
5) Ну и просто звуковое оповещение в случае обнаружения робота
Постарался описать всё, жду любой обратной связи)
PS Не знаю возможно ли это уложить в скрипт, потому что вообще не шарю, поправьте если не прав.  
Правильно понял , что критерий обнаружения это равные объемы с одинаковым периодом покупаются и продаются?
Если верно, то скажите , Вы где читали или есть статистика, что такие дебильные роботы кто-то применяем?
----------------
Написать можно любую хотелку за Ваши деньги.
Но у меня правило.
Кому надо, тот и говорит за сколько надо.
Вы же не знаете как делать смартфон или автомобиль, но знаете за сколько хотите купить.
Пишите бюджет и время в личку.
Написал в лс. Продублирую часть информации тут.
Да, равные объёмы, которые могут немного отличаться.
Например: раз в Nсек робот кидает 430л, проходит Nсек, кидает 431, проходит Nсек и кидает 430.
Мне нужно, что бы скрипт определял это как 1 робота.
По поводу целесообразности не стоит задумываться, статистика личная.
По поводу времени написания тоже не могу ответить, не знаю сколько это потребуют времени, наверное, месяц.
И по поводу цен. Считаю пример не уместным. Приходя в магазин, вы видите в первую очередь цены на смартфоны и автомобили.
То же самое касается различных услуг, исполнитель называет свои цены смотря на объём работ.
Я понимаю ваше правило, но я не готов тыкать пальцем в небо гадая цены. В конце концов я трейдер, моя задача анализировать цены, а не гадать :D
 
Вот поэтому я рандомно ставлю заявки как по времени, так и по объемам))) А еще есть айсберги и никто не запрещает их ставить по несколько штук с разными объемами.
Кстати, есть ли в луа функция генератора случайных чисел без повторений с момента каждого запуска?
Смутно представляю, что даст определение таких роботов. Хотите заранее перед ними успеть? И потом продавать им подороже? Так они могут и не купить у вас))
 
Цитата
Cyber написал:
Вот поэтому я рандомно ставлю заявки как по времени, так и по объемам))) А еще есть айсберги и никто не запрещает их ставить по несколько штук с разными объемами.
Кстати, есть ли в луа функция генератора случайных чисел без повторений с момента каждого запуска?
Смутно представляю, что даст определение таких роботов. Хотите заранее перед ними успеть? И потом продавать им подороже? Так они могут и не купить у вас))
Задача скрипта найти их, а далее я буду смотреть по ситуации.
 
SellBuyStyle, как Вы собираетесь проверять, что скрипт нашёл всех подразумеваемых Вами роботов? По таблице обезличенных сделок? Или через подключение к потоку заявок за большие бабки?
 
Цитата
funduk написал:
SellBuyStyle, как Вы собираетесь проверять, что скрипт нашёл всех подразумеваемых Вами роботов? По таблице обезличенных сделок? Или через подключение к потоку заявок за большие бабки?
В сравнения с другим софтом.
 
Цитата
SellBuyStyle написал:
Цитата
Цитата
И по поводу цен. Считаю пример не уместным. Приходя в магазин, вы видите в первую очередь цены на смартфоны и автомобили.
То же самое касается различных услуг, исполнитель называет свои цены смотря на объём работ.
Я понимаю ваше правило, но я не готов тыкать пальцем в небо гадая цены. В конце концов я трейдер, моя задача анализировать цены, а не гадать :D
Чтобы реально определить трудоемкость серьезной разработки, а не поделки в 10 операторов, требуется тщательная проработка тех задания.
---------------------
Каждая хотелка, если ее нет бесплатно в интернете, это индивидуальный заказ, типа "смартфон с экранами с двух сторон".
----------------------
Как правило, то, что хочет заказчик не соответствует тому, что он написал за пять минут раздумий над своей хотелкой.
----------------------
Если тех задание не написано с анализом  возможных ситуаций и тщательным тестированием,
то получится поделка, которую долго будет дорабатывать разработчик ,
либо будет долго ругаться заказчик, что разработчик плохой и сделал ему то, что работает не так, как он хочет.
-----------------------------------
Вы предлагаете разработчику тыкать в небо и угадывать.
 
SellBuyStyle, можете посмотреть работу реального робота сегодня в валюте (продажи по 20 лотов в рандомные интервалы два-три раза внутри секунды в районе 17 часов)
 
Цитата
funduk написал:
SellBuyStyle, можете посмотреть работу реального робота сегодня в валюте (продажи по 20 лотов в рандомные интервалы два-три раза внутри секунды в районе 17 часовДружи
Товарищ, зачем мне эта информация? Я не просил проводить мне 'ликбез' по роботам.
Я отлично разбираюсь в роботах, но вот в программировании не очень, по этому и искал программистов.
P.S Я без негатива.
 
SellBuyStyle, приведённый пример показывает поведение непериодического робота. Как скрипт, по ТЗ ищущий периодических роботов, должен работать в моменты, когда такой робот активен? Скрипт будет видеть равные объёмы очень регулярно, и определит их или как (условно) 10 роботов, работающих через равные промежутки времени, или никак (если интервалы между бросками слишком разные).
 
Цитата
funduk написал:
SellBuyStyle, приведённый пример показывает поведение непериодического робота. Как скрипт, по ТЗ ищущий периодических роботов, должен работать в моменты, когда такой робот активен? Скрипт будет видеть равные объёмы очень регулярно, и определит их или как (условно) 10 роботов, работающих через равные промежутки времени, или никак (если интервалы между бросками слишком разные).
Наверное, вы не смотрели видео которое я приложил.
Скрипт должен искать роботов, которые кидают именно с одинаковой периодичностью.
Мне не нужны другие роботы, потому что это просто невозможно сделать скриптом.
Пример: Робот кидает по 445лотов раз в 11 секунд. Скрипт определит его на 3 принт, и высветит мне в таблицу.
Если робот кидает одинаковый объём в абсолютно разное время, то скрипт мне это не высветит.
PS Такие мелкие роботы по 20лотов меня не интересуют, мне нужны крупные. По этому нужны настройки позволяющие отсеивать по объёмам и тд.
 
Конечно же смотрел, потому и спрашиваю.
 
Цитата
funduk написал:
Конечно же смотрел, потому и спрашиваю.
скрипт будет игнорировать такого робота.
 
Это небольшая но рабочая утилита, которая умеет управляться с таблицей всех сделок, то есть тиками.
Конечно это не то что Вы хотите получить, но этот не большой скрипт легко превращается в поиск необходимых Вам данных и многое еще чего, достаточно дописать фильтры.
Что делает данный скрипт, он предназначен для использования в торговой платформе QUIK, создает таблицу, отображающую баланс покупок и продаж за последние 5 минут, и обновляет ее при поступлении новых обезличенных сделок, в окно выводится баланс полученный за каждую 1 минуту.
Это "классический" вариант, алгоритм и идея которого взяты от сюда QuikLuaCSharp.ru, за что автору отдельное "большое человеческое спасибо!",
все что я сделал это превратил его в класс - модуль луа, для удобства использования в своих программах. В общем удачи.
Код
 -- Класс для отслеживания баланса покупок/продаж
local BalanceTracker = {}
BalanceTracker.__index = BalanceTracker
-- Конструктор
function BalanceTracker:new()
    local obj = setmetatable({}, BalanceTracker)
    obj.isRunning = true
    obj.array5Min = {}
    obj.lastBarSeconds = 0
    obj.t_id = nil
    obj:createTable()
    return obj
end
-- Создание таблицы
function BalanceTracker:createTable()
    self.t_id = AllocTable()
    if self.t_id == nil then
        error("Failed to allocate table")
    end

    AddColumn(self.t_id, 0, "1", true, QTABLE_INT_TYPE, 15)
    AddColumn(self.t_id, 1, "2", true, QTABLE_INT_TYPE, 15)
    AddColumn(self.t_id, 2, "3", true, QTABLE_INT_TYPE, 15)
    AddColumn(self.t_id, 3, "4", true, QTABLE_INT_TYPE, 15)
    AddColumn(self.t_id, 4, "5", true, QTABLE_INT_TYPE, 15)
    CreateWindow(self.t_id)
    SetWindowCaption(self.t_id, "Баланс покупок/продаж")
    InsertRow(self.t_id, -1)
end
-- Установка цвета
function BalanceTracker:setColor(col, color)
    SetColor(self.t_id, 1, col, color, RGB(0,0,0), color, RGB(0,0,0))
end
function BalanceTracker:red(col)
    self:setColor(col, RGB(255,128,128))
end
function BalanceTracker:yellow(col)
    self:setColor(col, RGB(240,240,0))
end
function BalanceTracker:green(col)
    self:setColor(col, RGB(128,255,128))
end
-- Добавление нового бара в массив
function BalanceTracker:addNewBarToArray5Min()
    table.insert(self.array5Min, 0)
    if #self.array5Min > 5 then
        table.remove(self.array5Min, 1)
    end
    local offset = 5 - #self.array5Min
    for i = 1, #self.array5Min do
        self:setBalance(self.array5Min[i], i + offset - 1)
    end
end
-- Установка баланса и цвет ячейки
function BalanceTracker:setBalance(newBalance, numCol)
    SetCell(self.t_id, 1, numCol, tostring(newBalance))
    if numCol == 4 then
        self.array5Min[#self.array5Min] = newBalance
    end
    if newBalance < 0 then
        self:red(numCol)
    elseif newBalance == 0 then
        self:yellow(numCol)
    else
        self:green(numCol)
    end
end
-- Проверка на новую минуту
function BalanceTracker:checkNewMin(dealDateTime)
    dealDateTime.sec = 0
    dealDateTime.mcs = 0
    local seconds = os.time(dealDateTime)
    if seconds > self.lastBarSeconds then
        self.lastBarSeconds = seconds
        return true
    else
        return false
    end
end
-- Обработка сделки
function BalanceTracker:onAllTrade(alltrade)
    if alltrade.sec_code == SEC_CODE then
        local newMinute = self:checkNewMin(alltrade.datetime)
        if newMinute then
            self:addNewBarToArray5Min()
        end

        if bit.test(alltrade.flags, 0) then
            self:setBalance(self.array5Min[#self.array5Min] - alltrade.qty, 4)
        else
            self:setBalance(self.array5Min[#self.array5Min] + alltrade.qty, 4)
        end
    end
end
-- Остановка скрипта
function BalanceTracker:onStop()
    self.isRunning = false
end
-- Главный цикл
function BalanceTracker:main()
    while self.isRunning do
        sleep(100) -- Уменьшить частоту вызова
    end
end
--return BalanceTracker

local CLASS_CODE     = "SPBFUT"     -- Класс бумаги
local SEC_CODE       = "NGN4"       -- Код бумаги

-- Создание объекта класса и функции обратного вызова
local balanceTracker = BalanceTracker:new()
function main()
    balanceTracker:main()
end
function OnAllTrade(alltrade)
    balanceTracker:onAllTrade(alltrade)
end
function OnStop()
    balanceTracker:onStop()
end
 
Цитата
VPM написал:
Это небольшая но рабочая утилита, которая умеет управляться с таблицей всех сделок, то есть тиками.
Конечно это не то что Вы хотите получить, но этот не большой скрипт легко превращается в поиск необходимых Вам данных и многое еще чего, достаточно дописать фильтры.
Что делает данный скрипт, он предназначен для использования в торговой платформе QUIK, создает таблицу, отображающую баланс покупок и продаж за последние 5 минут, и обновляет ее при поступлении новых обезличенных сделок, в окно выводится баланс полученный за каждую 1 минуту.
Это "классический" вариант, алгоритм и идея которого взяты от сюда QuikLuaCSharp.ru, за что автору отдельное "большое человеческое спасибо!",
все что я сделал это превратил его в класс - модуль луа, для удобства использования в своих программах. В общем удачи.
[CODE][/CODE]
это вообще не из той оперы.
 
Написал первый вариант такого скрипта.
Пускаю его на тест сервере.
Он обрабатывает всю таблицу  это 330 инструментов и 1 млн 100 тысяч записей
Для каждого инструмента и каждой записи он ищет по истории нужных роботов.
Примерно так.
 
Цитата
nikolz написал:
Написал первый вариант такого скрипта.
Пускаю его на тест сервере.
Он обрабатывает всю таблицу  это 330 инструментов и 1 млн 100 тысяч записей
Для каждого инструмента и каждой записи он ищет по истории нужных роботов.
Примерно так.
Ну даете, nikolz,  Вы не перестаёте меня удивлять :smile:  
 
Цитата
nikolz написал:
Написал первый вариант такого скрипта.Пускаю его на тест сервере.Он обрабатывает всю таблицу  это 330 инструментов и 1 млн 100 тысяч записейДля каждого инструмента и каждой записи он ищет по истории нужных роботов.Примерно так.
Поделитесь своими чудесами?
 
Цитата
VPM написал:
Цитата
nikolz написал:
Написал первый вариант такого скрипта.Пускаю его на тест сервере.Он обрабатывает всю таблицу  это 330 инструментов и 1 млн 100 тысяч записейДля каждого инструмента и каждой записи он ищет по истории нужных роботов.Примерно так.
Поделитесь своими чудесами?
Когда пишу подобную информацию,  то сообщаю о том, что можно получить на QUIK  экспериментально,
а не рассуждая теоретически или оплевывая вся и все.
---------------------  
Если для кого-то это чудеса,
то  рад за него и не хочу его разочаровывать  в такой вере.
-----------------------------------
Тот, кто сам экспериментирует может сообщить о своих достижениях.
-----------------------------
Для меня подобная информация является руководством  к новым экспериментам,
если мне это интересно.
 
Страницы: 1
Читают тему
Наверх