Скачать MetaTrader 5

Как узнать, что сделка закрыта вручную?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Нашел интересную программу? Опубликуй ее в CodeBase - миллионы трейдеров оценят это!
Roman Starostin
1635
Roman Starostin 2016.05.20 12:26 
Есть небольшая проблема. Советником открываю сетку ордеров. При закрытии одного из них руками нужно делать некоторые действия по пересчету суммарного лота и т.п. 
Вопрос такой: Как узнать, что сделка закрыта пользователем? Сравнивать значение ТП советника и произошедшее в реале смысла нет, потому что всегда есть задержки и проскальзывания на рынке, и фактическое значение ТП в 70% случаев не будет совпадать с расчетным один в один. 
Artyom Trishkin
Модератор
75590
Artyom Trishkin 2016.05.20 13:00  
Roman Starostin:
Есть небольшая проблема. Советником открываю сетку ордеров. При закрытии одного из них руками нужно делать некоторые действия по пересчету суммарного лота и т.п. 
Вопрос такой: Как узнать, что сделка закрыта пользователем? Сравнивать значение ТП советника и произошедшее в реале смысла нет, потому что всегда есть задержки и проскальзывания на рынке, и фактическое значение ТП в 70% случаев не будет совпадать с расчетным один в один. 

Всегда есть в комментарии закрытой позиции по стопу или тейку такая подстрока: "[sl" или "[tp"

Но вот если закрыта советником по условию... Был у меня заказчик, который хотел и советником торговать, и ручонками шаловливыми туда же лазить... Честно - замучился я с ним... Логика убивается на раз. Пришлось при закрытии по условию выставлять объекты с описанием. Если объекта, соответствующего закрытой по условию позиции нет - значит всё же ручками залез.

Alexey Oreshkin
3751
Alexey Oreshkin 2016.05.20 14:34  
Roman Starostin:
Есть небольшая проблема. Советником открываю сетку ордеров. При закрытии одного из них руками нужно делать некоторые действия по пересчету суммарного лота и т.п. 
Вопрос такой: Как узнать, что сделка закрыта пользователем? Сравнивать значение ТП советника и произошедшее в реале смысла нет, потому что всегда есть задержки и проскальзывания на рынке, и фактическое значение ТП в 70% случаев не будет совпадать с расчетным один в один. 
Много зависит от конкретного советника и его логики. Я как то ранее делал функцию "Защиты от детей" - если какой то ордер, выставленный роботом, закрывается вручную, то робот его сразу же заново открывает. Так как ордеров было много, то нельзя было ломать систему шаловливыми ручками, но в том роботе, тоже кажется сеточник, было легко создать дерево ордеров в самого начала, именно это я и делал постоянно. Если это сделать проблематично, то необходимо вести свою таблицу ордеров в файле.
Roman Starostin
1635
Roman Starostin 2016.05.20 14:43  
Alexey Oreshkin:
Много зависит от конкретного советника и его логики. Я как то ранее делал функцию "Защиты от детей" - если какой то ордер, выставленный роботом, закрывается вручную, то робот его сразу же заново открывает. Так как ордеров было много, то нельзя было ломать систему шаловливыми ручками, но в том роботе, тоже кажется сеточник, было легко создать дерево ордеров в самого начала, именно это я и делал постоянно. Если это сделать проблематично, то необходимо вести свою таблицу ордеров в файле.

Отличное решение. Совсем забыл про изменение комментарием при ТП/СЛ. 

А графические объекты тоже отличная идея для запоминания важных данных. Если их еще сделать скрытыми и на цене 0 (чтобы видно не было), то ими вполне можно заметить глобальную, если пользователь, конечно, не любит ручками график чистить )
Хотя, проверку на их наличие можно делать постоянно. 

Спасибо за советы! 

Alexey Volchanskiy
16754
Alexey Volchanskiy 2016.05.20 16:12  
Artyom Trishkin:

Всегда есть в комментарии закрытой позиции по стопу или тейку такая подстрока: "[sl" или "[tp"

Но вот если закрыта советником по условию... Был у меня заказчик, который хотел и советником торговать, и ручонками шаловливыми туда же лазить... Честно - замучился я с ним... Логика убивается на раз. Пришлось при закрытии по условию выставлять объекты с описанием. Если объекта, соответствующего закрытой по условию позиции нет - значит всё же ручками залез.

Объекты - имеются в виду графические? 

У меня робот пишет в логи, когда он закрывает позицию. Надо дополнить, чтобы искал закрытые не им ордера и тоже в лог писал. Графические объекты все же не так удобны, полистай-ка экран за месяц назад...

2016.05.19 10:11:01,    Close,  Ticket= 10097604,  SELL,  NZDUSD,    timeClose= 188  volume= 2.00  Profit= 100.0000
2016.05.19 12:39:20,    Close,  Ticket= 10098534,  SELL,  NZDUSD,    timeClose= 297  volume= 6.00  Profit= 240.0000
Roman Starostin
1635
Roman Starostin 2016.05.20 21:58  
Alexey Volchanskiy:

Объекты - имеются в виду графические? 

У меня робот пишет в логи, когда он закрывает позицию. Надо дополнить, чтобы искал закрытые не им ордера и тоже в лог писал. Графические объекты все же не так удобны, полистай-ка экран за месяц назад...

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

Разве логи и информацию в них можно анализировать советником?  

Artyom Trishkin
Модератор
75590
Artyom Trishkin 2016.05.20 23:44  
Alexey Volchanskiy:

Объекты - имеются в виду графические? 

У меня робот пишет в логи, когда он закрывает позицию. Надо дополнить, чтобы искал закрытые не им ордера и тоже в лог писал. Графические объекты все же не так удобны, полистай-ка экран за месяц назад...

Не нужно их видеть глазами. Они либо есть на 1970.01.01 на цене ноль, либо их нет. А уж советник точно знает какое имя объекта искать, и что в самом объекте должно быть прописано. Объекты невыделяемые и скрытые. Можно конечно и в файл записывать-перезаписывать, но жутко что-то не удобно.

Можно и глобальные переменные терминала использовать, но до них шаловливым ручонкам быстрее добраться чтобы "почистить своё рабочее место". Было дело. С непонятками и глазами по полтиннику ко мне с вопросами обращается - вчерась всё работало, а сегодня - нет. Нет чтобы сразу сказать мне, что тупо удалил всё "лишнее" как ему казалось. И чего полез? Ведь первый раз он туда случайно попал. И зачистил всё нафиг. Причём сказал об этом, когда я уже половину кода разобрал в поисках моего косяка. Сам виноват - не сказал ему, да и не думал, что так скоро настигнет такая кара - давал не доделанное на пробу алгоритма. Вот он и сказал, что весь алгоритм рухнул.

Алексей Тарабанов
7271
Алексей Тарабанов 2016.05.21 00:35  
Рухнул... На рыбалку поедем? 
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий