Ордера "исчезают": решение проблемы - страница 2

 

Да, вроде тема не называется "Стоит или не стоит торговать мартином". Если хотите, создайте такую тему и я поучаствую. Но на этом форуме не принята самореклама, потому рекламировать свою систему - безрассудно и бесполезно. К слову - у меня не мартин в чистом виде.

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

Вопрос состоял не в том, что "я Вам докажу, что моя система прибыльна" или "Докажите мне, что моя система не прибыльна", вопрос: как контролировать "исчезающие" ордера. Выскажитесь, кто разбирается в этом вопросе или сам реализовывал нечто. Мне не нужен весь код, хотя бы мысли, как это сделать? 

 
nesssesary 10.02.2013 15:14 

Ну тогда все просто - напишите автотестер под Вашу систему в виде индикатора с выводом результатов в инд. буфер (или в файл) - и не придется в журнал лезть, а просто данные по сделкам из индикатора будете брать - отттуда ни кто ни чего не удалит.Да и наглядно все будет)

Не сложно сохранить в файлы 2 списка, но как их сравнить друг с другом, чтобы вычленить те ордера, которые "исчезли" ?

 
religare:

Добрый день всем специалистам!

Недавно столкнулся с проблемой, которая возникла у брокера из-за DOS-атаки на их сервера.

Благо дело было с демо-счетом, но такая проблема на реальных счетах вполне возможна.

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

 По-видимому из-за атаки на сервера эти ордера даже не сохранились, т.е. их не было среди сработавших по тейку, стопу  или удаленных в результате логики работы, либо среди текущих.

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

У меня есть идея, но она слишком не удобна в реализации.

Т.е. надо сохранять куда-то ордера:

а) открытые

б) сработавшие по цене  (из истории)

в) закрытые по тейку и стопу (из истории) 

г) удаленные по стратегии (из файлов) 

д) текущие 

таким образом  а + б = в + г + д

Если произошло вмешательство, то id исчезнувшего ордера надо зафиксировать (чтобы потом отослать брокеру) .

На реале это тем более актуально, что можно предупредить брокера заранее, до того, как возникли убытки.

 Если у кого-то есть готовое решение, буду очень благодарен!!!


Если у Вас действительно исчезают ордера, то это означает лишь то, что Ваш ДЦ кидает Вас.
 
religare:

Не сложно сохранить в файлы 2 списка, но как их сравнить друг с другом, чтобы вычленить те ордера, которые "исчезли" ?

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

 
DYN:

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

 


Если отложенник не выполнился, то в истории его не найти
 
Vinin:

Если отложенник не выполнился, то в истории его не найти

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

Отслеживать "исчезновение" отложенников не имеет смысла, их заново можно установить, пусть даже по новым ценам.

А вот открытые ордера или сработавшие по цене отложенники отслеживать необходимо.

Сформулирую мысли, которые по ходу возникли.

Каждые 20-30 минут сохраняется список текущих  ордеров в файл-1, например:

 11513900

 11513901

 11513902

 11513903

Через 30 минут берется список из текущих ордеров, закрытых по тейку-стопу и иным причинам и сохраняется в файл-2:

 11513900

 11513901

 11513903

Из списка файла-1 удаляется список файла-2. Все, что остается в файле 1 - "исчезнувшие" за последние полчаса ордера, в данном случае:

 11513902

Все реализуемо, кроме последнего пункта. Не понимаю, как из одного списка удалить другой? 

 
DYN:

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

 


Достаточно сохранять номер тикета каждого ордера - OrderTicket(), тогда не нужен никакой счетчик.
Причина обращения: