Можно ли обойтись без цикла подсчета / пересчета ордеров имея оригинальные тикеты ордеров? - страница 5

 
Vladimir Simakov:

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

PS. Для модераторов и админов: ничего не ломал, все подсмотрено так:

кто то из разработчиков писал, что в MQL-программе переменные с модификатором const помещаются в специально отведенную память

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

хотя если честно, то все это настолько относительно, что если закладываться на все эти тонкости, то цель написания MQL-программы будет сводиться к поиску совершенства, а не к применению самого терминала и тестера )))

 
Спасибо всем, полезно.)))
 
Artyom Trishkin:

Учитывается. Удалённый ордер попадает в историю - история меняется и меняется текущее состояние.

Удалили ордер: поменялся список рыночных ордеров и поменялся список истории

Открыли позицию - поменялся список рыночных ордеров, но список истории не изменился.

Кажется, что при одновременном выполнении таких действий всё остаётся в том же самом состоянии. Однако нет - меняется хэш-сумма. А так как мы сравниваем состояния двух списков по отдельности, то изменение любого из них требует проверить что же произошло. Нет желания расписывать алгоритм уже единожды реализованный, расписанный и опубликованный. Если конечно когда-нибудь мне сообщат, что алгоритм даёт сбои, то буду разбираться и дорабатывать. Но пока работает...

Нисколько не хочу придраться и/или спорить. Но если работаешь  с отложниками, то проверка Total-ов по сути смысла не имеет, в МТ4.

 

Можно отслеживать изменение считая (суммируя) тикеты и типы ордеров, можно раздельно, чтоб понять что произошло, а можно и в одну переменную и тикеты и тип, так же можно и с ценами отложек стопов и т.п.

long sum_ticket; 
static long sum_ticket_prev-1;

sum_ticket=GetSum();

if(sum_ticket!=sum_ticket_prev)...
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
Причина обращения: