Несколько стратегий через quik
Atom
26.03.2013
Макс


Как запускать несколько стратегий через quik ?
Если мне надо поправить одну, то приходиться все выключать и перезапускать после правки.
2-й quik не выход т.к. если будет 3-4 стратегии.

Есть какие то варианты, чтобы можно было остановить одну стратегию, ее поправить и перезапустить в то время как остальные продолжают работать?

Теги:


Спасибо:


< 1 2 
esper

Фотография
Дата: 27.03.2013
Ответить


VassilSanych
Можно загрузить её под другим именем

Что именно имеется ввиду? Extern alias?
Спасибо:

VassilSanych

Фотография
Дата: 27.03.2013
Ответить


esper
VassilSanych
Можно загрузить её под другим именем

Что именно имеется ввиду? Extern alias?

Нет. Просто тупо подложить переименованную сборку.
(предположение. не пробовал)
PS
Extern alias вроде как для references, а мы их обходим.
Спасибо:

esper

Фотография
Дата: 27.03.2013
Ответить


VassilSanych
Нет. Просто тупо подложить переименованную сборку.
(предположение. не пробовал)

Было бы прикольно, если бы работало[biggrin] А Extern alias это на этапе добавления ссылок.

  • MEF, скорее всего, так же не поможет.
  • Можно загружать стратегии в отдельный AppDomain, но будет много проблем с маршалингом данных и не ясно, что с производительностью.
  • Скрипты отличный вариант, лучше даже просто CodeDomProvider использовать


А можно просто использовать S#.Studio, где этот функционал идет из коробки.
Спасибо:

Макс

Фотография
Дата: 27.03.2013
Ответить


Всем спасибо за советы.
Но все это теория.
А есть кто-нибудь реально торгющий несколько стратегий через quik ?

Мне еще приходит идея сделать типа шлюза, который будет подключаться к квику, а все остальные роботы будут подключаться к шлюзу, получать данные и отправлять туда заявки, но все это велосипед, который не хочется изобретать...
Спасибо:

VassilSanych

Фотография
Дата: 27.03.2013
Ответить


Макс
но все это велосипед, который не хочется изобретать...

Велосипед изобретать придётся по-любому.
Потому что во-первых это уже вопрос конечной реализации, а она у каждого своя - по своим отдельным требованиям.
А во-вторых, можно конечно поискать, кто её вам бесплатно откроет, но я бы не надеялся.

Спасибо:

VassilSanych

Фотография
Дата: 27.03.2013
Ответить


esper
VassilSanych
Нет. Просто тупо подложить переименованную сборку.
(предположение. не пробовал)

Было бы прикольно, если бы работало[biggrin] А Extern alias это на этапе добавления ссылок.

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

Спасибо: esper

esper

Фотография
Дата: 27.03.2013
Ответить


VassilSanych
Заинтриговали меня. Проверил.
Нормально работает загрузка двух стратегий из двух копий одной библиотеки.
В том-то и дело, что ссылок у нас никаких нет при динамической загрузке.

Получается, что при загрузке только имя файла проверяется, FullName для сборки может быть один и тот же?
Спасибо:

VassilSanych

Фотография
Дата: 27.03.2013
Ответить


esper
Получается, что при загрузке только имя файла проверяется, FullName для сборки может быть один и тот же?

Хрен его знает. Ковырял рефлектором. Дальше определённого уровня не пускает посмотреть.
Причём LoadFrom не ругается, но грузит прошлую сборку.
А LoadFile грузит новую.
Спасибо:

VassilSanych

Фотография
Дата: 28.03.2013
Ответить


PS
Кстати Assembly.LoadFile dll не лочит. Но повторно не загружает. Так что переименовывать-таки надо.
Некоторые особенности:
Assembli.LoadFrom загружает референсные библиотеки из целевой папки
Assembly.LoadFile загружает референсные библиотеки из стартовой папки
Спасибо:

VassilSanych

Фотография
Дата: 31.03.2013
Ответить


esper
А можно просто использовать S#.Studio, где этот функционал идет из коробки.

Спасибо, не надо.
Имея небольшой опыт работы с Гидрой, я уже имею премирное представление о том, что там может копошиться в коробке Studio.
Даже пробовать не буду.
Спасибо:
< 1 2 

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy