Несколько Lua-роботов на 1 инструменте

Страницы: 1
RSS
Несколько Lua-роботов на 1 инструменте
 
На данном форуме вычитал что многие дают роботу идентификатор в поле комментарий при открытии/закрытии позиций.
Не совсем понимаю как несколько роботов могут торговать на 1 инструменте?
Ведь все равно сколько бы роботов не было - они будут опираться на общие данные а не анализ своих операций.
Торговый привод на Lua http://iv-litovchenko.ru/
 
Цитата
Иван написал:
идентификатор в поле комментарий при открытии/закрытии позиций
На одном инструменте хоть сто роботов могут торговать и каждый по свой логике. Фильтр по комментарию как раз дает такую возможность - новый бот - новый уникальный комент. У меня имя робота - это комментарий к заявке - если имена ботов разные - торгуем хоть миллиард стратегий на одном инструменте.
 
Цитата
Константин Рейм написал:
Цитата
Иван написал:
идентификатор в поле комментарий при открытии/закрытии позиций
На одном инструменте хоть сто роботов могут торговать и каждый по свой логике. Фильтр по комментарию как раз дает такую возможность - новый бот - новый уникальный комент. У меня имя робота - это комментарий к заявке - если имена ботов разные - торгуем хоть миллиард стратегий на одном инструменте.
Получается Вам что бы понять сколько у Вас открыл контрактов или закрыл нужно постоянно анализировать таблицу сделок?
Торговый привод на Lua http://iv-litovchenko.ru/
 
Ну наверное не таблицу, а контролировать OnTrade(), и в нем проверять принадлежность "моей сделки"
 
Цитата
Иван написал:
нужно постоянно анализировать таблицу сделок?
Нет, анализ только если появилась новая строка в Таблице сделок - зашел посмотрел - мое не мое
 
Цитата
Imersio Arrigo написал:
а контролировать OnTrade()
OnTrade() - не использую, только таблица сделок
 
Цитата
Константин Рейм написал:
OnTrade() - не использую, только таблица сделок
А почему? Это же логично, чем все время опрашивать таблицу.
Цитата
Константин Рейм написал:
только если появилась новая строка в Таблице сделок
А как вы узнаете что появилась новая строка?
 
Цитата
Imersio Arrigo написал:
А почему? Это же логично, чем все время опрашивать таблицу.
Обрыв связи - потеряли сделку. Не все время, а только при появлении новой строки.
Цитата
Imersio Arrigo написал:
А как вы узнаете что появилась новая строка?
Код
      if NumLineTT < getNumberOf("trades")-1 then -- Появилась новая строка в таблице сделок
         CheckDeal() -- Проверим таблицу сделок
      end
 
Цитата
Константин Рейм написал:
ров
Судя по ответам прихожу к выводу что проблематично это нескольких роботов запускать на 1 инструмент в рамках 1 счета.

Но

Если у Вас робот имеет свой внутренний алгортим и не опирается например на то:
- сколько сделок было сегодня
- сколько убыточных сделок было
- интервал между сделками
- кол-во открытых контрактов
- и другие общие данные,

то да наверное это возможно
Пока отказался от этой идеи.
Торговый привод на Lua http://iv-litovchenko.ru/
 
Цитата
Константин Рейм написал:
Обрыв связи - потеряли сделку.
А в таблице-то не потеряли, ага :)

Предупреждая следующий вопрос: при восстановлении связи, все сделки за день приедут заново. Так что все нормально.

Цитата
Константин Рейм написал:
Не все время, а только при появлении новой строки.
Ну вот я и спрашиваю: -как узнать что появилась новая строка и пора опросить таблицу?
Цитата
Константин Рейм написал:
if NumLineTT < getNumberOf("trades")-1 then
Это в цикле выполняется или по событию? когда и как вы узнаете что пора это делать?
 
Цитата
Иван написал:
Судя по ответам прихожу к выводу что проблематично это нескольких роботов запускать на 1 инструмент в рамках 1 счета.
Каждый бот ведет свои и только свои сделки - ни каких проблем нет совсем.
 
Цитата
Imersio Arrigo написал:
Это в цикле выполняется или по событию? когда и как вы узнаете что пора это делать?
Код
local gNOf = getNumberOf("trades")-1 -- Номер последней строки в таблице сделок

NumLineTT = gNOf -- Запомнили последнюю строку таблицы сделок
 
Цитата
Константин Рейм написал:
NumLineTT = gNOf
Это понятно.
Когда и как вы решаете, что пора проверить кол-во строк в таблице?
 
Цитата
Imersio Arrigo написал:
Когда и как вы решаете, что пора проверить кол-во строк в таблице?
Пример уже приводил. Когда getNumberOf("trades")-1 (Номер последней строки в таблице сделок) станет больше чем NumLineTT (Запомнили последнюю строку таблицы сделок)
 
Цитата
Константин Рейм написал:
Пример уже приводил.
Да блин. То ли я спрашивать не умею, то ли что...
Я понимаю что приводил, понимаю что пример, понимаю как.

Не понимаю КОГДА это происходит?
Просто в основном цикле main? или по какому-то событию? Если да, то по какому?
 
Цитата
Imersio Arrigo написал:
То ли я спрашивать не умею, то ли что...
Лыжи не едут)))
Цитата
Imersio Arrigo написал:
Не понимаю КОГДА это происходит?Просто в основном цикле main?
Да просто в main. При дисконекте какие там события, то? А так обрыв связи - лимитка прошла - связь восстановлена - проверили таблицу и 100% ни чего не потеряли.
 
Цитата
Константин Рейм написал:
Да просто в main.
Ясно.
Страницы: 1
Читают тему (гостей: 1)
Наверх