Резервный советник на другом компьютере

 

Хочется сделать советник со standby копией.

Т.е. на одному счете будет работать один и тот же советник но с разных компьютеров ( с одного компьютера в режиме торговли primary, с другого в режиме "подстраховки" standby )

Если что-нибудь происходит на primary - в дело вступает standby копия (становится при этом primary копией).

Как только комп с экс-primary поднимается после "падения", он должен встать в режим standby (если уже есть ведущая копия на этом счете)


Всякий обмен по сети сообщениями/файлами рассматривать не хочется. Как вариант общения между копиями советника - ежеминутное пересоздание отложенного ордера с primary советника, с заведомо далеким уровнем от реальной цены на какой-нибудь экзотической паре (полезную информацию можно хранить в комменте и magic-е) Может есть другие варианты/мысли, более грамотные :)?
 

такую схему имеет смысл рассматривать только в схеме

---

1-комп 1-й провадер - питание от источника 1

2-комп 2-й провайдер - питание от источника 2


при этом обойти обмен между советниками не возможно т е PRIMARY всегда должен знать что он PRIMARY

а standby должен знать что он standby

если они не знают у кого какая роль - будет проблема

следовательно между двумя советниками должен быть обмен


схему такую разумно делать

1 при разных провайдерах

2 при запитке от разных источников энергии



---

2 если у вас один провайдер инета и одна подстанция

при падении провайдера, или пропадении питания, и PRIMARY и standby не помогут

( UPS я даже не рассматриваю - подразумевая что они стоят )


кроме ситуации когда завис один из компов

если компы не трогать то как правило надежность выше

чем стоимость схемы


в такой ситуации

не разумно городить проблему там где ее нет


---

 
YuraZ >>:
..такую схему имеет смысл рассматривать только в схеме --- 1 1-комп 1-й провадер 2-комп 2-й провайдер при этом обойти обмен между советниками не возможно..

Поддерживаю в части диверсификации провайдеров и линий связи, но, ИМХО, как я уже предлагал ранее, обмен между советниками необязателен.

Нужна логика советника, предполагающая, что он не один и проверяющая, отработан ли вторым советником сгенерированный сигнал, или надо его выполнять.

Проще говоря, пара (или больше) одинаковых советников работают на одном счете из разных точек. Сигналы генерируются одинаковые, при их исполнении ставится флаг "выполнено",

и второй советник при наличии аналогичного сигнала уже не пытается его исполнять. То есть, кто первый успел - тот выполнил, остальным отбой.

Флагом может быть, например, отложенный ордер с невыполнимыми параметрами.

При продуманной логике может повыситься надежность исполнения даже в штатном режиме за счет дублирования функций.

 

Флаги и разние магики. Ежеминутные отложки лучше не делать.

 

Основной советник работает сразу при получении сигнала на открытие/закрытие.

Подстраховочный с минутным ожиданием после получения сигнала на открытие/закрытие.

 

Флаги обоих советников переключаются в зависимости от магика открытой позиции.

Если открыта сделка с магиком подстраховочного советника, то флаг первого советника включает его в режим подстраховки (Флаг=ЛОЖЬ), а флаг второго в основной режим (Флаг=ИСТИНА), и наоборот.

 

Сигналом для начала работы страховочного советника лучше использовать отсутствие сигнала от главного советника.

 
WWer >>:

Сигналом для начала работы страховочного советника лучше использовать отсутствие сигнала от главного советника.

Скорее, не отсутствие сигнала (как второй это увидит при отсутствии связи 1-2?), а отсутствие исполнения.

Вообще-то развивать идею рановато, ее сначала должен попытаться прибить одним ударом бывалый программист.

 
granit77 >>:

Скорее, не отсутствие сигнала (как второй это увидит при отсутствии связи 1-2?), а отсутствие исполнения.

Вообще-то развивать идею рановато, ее сначала должен попытаться прибить одним ударом бывалый программист.

Отсутсвие сигнала можно считать если например отложеный ордер уже не модифицыровался больше 5 минут скажем (думаю, что выставление такого ордера не зависит от рынка), а отсутсвие исполнения главным советником может быть как раз из-за рынка: большой волатильности и т.п.

 
WWer >>:

Сигналом для начала работы страховочного советника лучше использовать отсутствие сигнала от главного советника.

совершенно верно!


главный,перед тем как зайти

первый посылает второму Я РАБОТАЮ НЕ ВХОДИ - тот подчиняется

при получении сигнала второй просто покрно стоит


если на втором случился сигнал, а от первого не пришел ЗАПРЕТ

то тогда второй может зайти

но лучше если он зайдет половиной позы

и если первый все же молчит то на том же уровне второй может добавить

---

первый всегда тоже заходит половиной позы и если второй не зашел доливается!

вторйо частью позу

---

так как вероятны случаи когда оба все же зайдут!!!

и перегрузят ММ

---

а еще надежней поделить между двумя одинаковыми стратегиями ММ

и пусть входят одновременно и страхуют сделки друг друга - кроют тралят закрывают открываю

так будет еще надежней

это при условии что машины от разных провайдеров и с разным питанием от разных подстанций

т е в этой ситуации нет главной машины и проблемы обмена

( достаточно после сигнала посмотреть а мой близнец сработал или нет

и если квант времени исчерпан долить сделку - при условии что сигнал еще в силе)

второй если очухается проверяет а не вошел ли брат за меня и не лезет если вошел

--

я так делал - работает чудненько


вообще взаимодействие между двумя машинами не тривиальная задача

это на первый взгляд кажется что все просто!

 

Насчет разных провайдеров и подстанций - само собой.

Значит в итоге три варианта для включения standbay:

1 "Устаревший" невыполнимый сигнальный отложенник ( в нем можно хранить IP Primary, и тогда всем ясно ху из ху )

2 Отсутствие реакции Primary копии на сигнал в течении минуты ( здесь нужны логические изыски для определения того, кто есть ведущий )

3 Магики ( но там может быть занято )


Если первые два метода объединить в один - прошла минута без реакции, удаляем сигнальный отложенник "упавшего" Primary и пересоздаем его со своим IP адресом.

Вроде и лишних действий нет и достаточно просто реализовать ( для моей ТС )

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


YuraZ писал(а) >>

первый посылает второму Я РАБОТАЮ НЕ ВХОДИ - тот подчиняется

Вот это не понял - как посылает?? Что то внешнее? Хотелось бы обойтись малой кровью :)

 
artemox >>:

Насчет разных провайдеров и подстанций - само собой.

Значит в итоге три варианта для включения standbay:

1 "Устаревший" невыполнимый сигнальный отложенник ( в нем можно хранить IP Primary, и тогда всем ясно ху из ху )

2 Отсутствие реакции Primary копии на сигнал в течении минуты ( здесь нужны логические изыски для определения того, кто есть ведущий )

3 Магики ( но там может быть занято )


Если первые два метода объединить в один - прошла минута без реакции, удаляем сигнальный отложенник "упавшего" Primary и пересоздаем его со своим IP адресом.

Вроде и лишних действий нет и достаточно просто реализовать ( для моей ТС )

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


Вот это не понял - как посылает?? Что то внешнее? Хотелось бы обойтись малой кровью :)

малой кровью я рассказал как

ставите два активных клиента делите между ними мм

и дописываете в модуль который оценивает что сдеелки две и значит торгуют оба

и если второй не вошел то первый входит догоняя мм до расчетного значения

а второй если проснулся после сбоя видит что брат на нужном сигнале все же вошел

и значит все ок

Причина обращения: