Задача по поиску ордеров - страница 4

 
Михаил:

...

Приведите пример ( МТ5 ) когда просто НЕОБХОДИМО оставить в рынке ранее выставленный ордер,

...

Например, стопордер на стоплоссе позиции.
 
Vladimir Pastushak:

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

За мою практику работы с VDS/VPS серверами ОС на них ни разу не слетала, но перезагрузки непредвиденные и запланированные бывают.

Суть моего вопроса грамотно написать код который собирает информацию о текущей ситуации...

Который ВОССТАНОВИТ, а не удалит. Я-то о чём писал? О восстановлении, что это хорошо. Мне же говорили, что удалять нужно. Внимательнее нужно быть ;)
 
Artyom Trishkin:
Который ВОССТАНОВИТ, а не удалит. Я-то о чём писал? О восстановлении, что это хорошо. Мне же говорили, что удалять нужно. Внимательнее нужно быть ;)

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

Советник должен по условию собирать информациию и после этого работать согласно своего алгоритма...

 
Vasiliy Sokolov:
Блин, чувак, *** не пори. Ты же сам определил правильное направление: состояние надо восстанавливать по текущему окружению, то, что дает тебе МТ - это самы надежный вариант. И вместо этого, ты пишешь длиннющий и бестолковый класс Info, в который каким-то макаром надо запихивать найденные внешними функциями значения. Да, в итоге, он будет содержать необходимые для тебя переменные: тикет максимального и минимального с точки зрения цены ордера, а также другую важную для тебя туфту. Но в действительности, задача решается с помощью специализированного контейнера ордеров: представь, у тебя есть список ордеров, где каждый ордер представляет строчку таблицы со множеством колонок (id ордера, время открытия, цена открытия, профит и т.д. и т.п.). Ты делаешь сортировку по одной из колонок, и получаешь именно ту последовательность которую тебе нужно. Так вот, все это можно сделать с помощью классов, которые ты так любишь использовать (хоть и бестолково, уж прости). Как это сделать - напишу завтра, если интересно.
Надеюсь Вы не просто сотрясли воздух ... Точнее байты интернета...
 
Dmitry Fedoseev:
Например, стопордер на стоплоссе позиции.

А что мешает при инициализации удалить, а потом вновь установить?

Почему именно ВОССТАНОВИТЬ контроль? 

 
Михаил:

А что мешает при инициализации удалить, а потом вновь установить?

Почему именно ВОССТАНОВИТЬ контроль? 

потому что при таком подходе инфу о окружении мы собираем только один раз в момент инициализации,

иногда бывает такое что брокер дробит открытый ордер, то есть отправляешь 0,05 а брокер принимает как 0,02 и 0,03

поэтом информацию о окружении лучше получать на каждом тике или с определенным интервалом времени.

Например я исхожу из принципа "советник должен иметь всю информацию о торгуемом символе и ордерах постоянно".

 
Михаил:

1. А что мешает при инициализации удалить, а потом вновь установить?

2. Почему именно ВОССТАНОВИТЬ контроль? 

1. Слышали анекдот про удаление гланд? Ничто не мешает.

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

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

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

 
Dmitry Fedoseev:

1. Слышали анекдот про удаление гланд? Ничто не мешает.

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

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

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

Я почему-то предвидел такой ответ - НИЧЕГО конкретного!

У меня за 4,5 года ни разу не упала Винда и за 3,5 года использования терминала - ни разу не завис.

Когда Вы загрузите эксперта, после "падения" (если таковое когда-нибудь случится) не важно сколько и

каких ордеров у Вас было, ВАЖНО есть или нет ПОЗИЦИИ, потому что, возможно, Вам придётся СНЯТЬ

прежние ордера, которые в нынешней ситуации не соответствуют существующей позиции.

Зачем же восстанавливать контроль (раз в год!!!), если всё-рано придётся снимать прежние ордера?

Есть ли в этом хоть какой-то смысл писать уйму кода?

Ради чего? 

 
Михаил:

Я почему-то предвидел такой ответ - НИЧЕГО конкретного!

У меня за 4,5 года ни разу не упала Винда и за 3,5 года использования терминала - ни разу не завис.

Когда Вы загрузите эксперта, после "подения" (если таковое когда-нибудь случится) не важно сколько и

каких ордеров у Вас было, ВАЖНО есть или нет ПОЗИЦИИ, потому что, возможно, Вам придётся СНЯТЬ

прежние ордера, которые в нынешней ситуации не соответствуют существующей позиции.

Зачем же восстанавливать контроль (раз в год!!!), если всё-рано придётся снимать прежние ордера?

Есть ли в этом хоть какой-то смысл писать уйму кода?

Ради чего? 

Все конкретно,  это вам зачем-то интересно держать такую позицию. 

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

Кроме перезапуска еще могут быть обрывы связи, после них надо тоже восстанавливать контроль. Здесь вообще нет понятия восстановления контроля, потому-что без контроля ничего не должно быть вообще. На каждом тике анализ ситуации и принятие решения.

Вашу позицию  прекрасно понимаю, написание устойчиво функционирующих советник и терпимых перезапускам требует совсем другого подхода и взгляда на алгоритм совсем с другой стороны. Это не просто, а для некоторых это вообще невыполнимо. 

 
Dmitry Fedoseev:

Все конкретно,  это вам зачем-то интересно держать такую позицию. 

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

Кроме перезапуска еще могут быть обрывы связи, после них надо восстанавливать контроль. Здесь вообще нет понятия восстановления контроля, потому-что без контроля ничего не должно быть вообще. На каждом тике анализ ситуации и принятие решения.

А заказчику не всё-равно? Для заказчика главное чтобы эксперт работал! 

Если обрывается связь, то Вы не теряете контроля, потому что не утеряны БИЛЕТЫ ордеров!

 

P/S И, Дмитрий, с чего Вы взяли что я пишу игрушки для тестера?

Если я ничего не пишу для заказчиков и не продаю свои эксперты - это

совсем не значит, что они "игрушки"!