Как написать код удаляющий повторяющиеся ордера MQL4 для mt4?

 
Как написать код, удаляющий повторяющиеся ордера MQL4, для mt4? 
 

Что такое

Meta Novicok:
повторяющиеся ордера  

?

 
Ihor Herasko:

Что такое

?

подозреваю что  тикеты  одной позиции одного объёма и по схожей до 1.5 спреда цене.

...

много кода получается, в форум с руки не напишешь, повезёт если "тикеты должны идти подряд"

 
Может проще написать чтобы не ставились повторяющиеся ордера?
 
Maxim Kuznetsov:

подозреваю что  тикеты  одной позиции одного объёма и по схожей до 1.5 спреда цене.

...

много кода получается, в форум с руки не напишешь, повезёт если "тикеты должны идти подряд"

Советник открывает по одной цене 2 и боле ордеров, а мне надо только один. Допустим (eur/usd 1,1380 buy) 2 раза, а мне надо только один. Надо код, что удалял вторую
 
Если есть 2 ордера, по цене 1.1380, закрыт вторую
 
Meta Novicok:
Советник открывает по одной цене 2 и боле ордеров, а мне надо только один. Допустим (eur/usd 1,1380 buy) 2 раза, а мне надо только один. Надо код, что удалял вторую
Если есть 2 ордера, по цене 1.1380, закрыват вторую
 
Meta Novicok:
Если есть 2 ордера, по цене 1.1380, закрыват вторую
Или если есть 3 ордера, по цене 1.1380, оставит только одну
 
Meta Novicok:
Если есть 2 ордера, по цене 1.1380, закрыт вторую

было дело, помучился с этим в свое время

вобщем так:

пишите в магик при открытии ордера

int MN=(int)(BID/Point);

предварительно делаем так:

double BID=NormalizeDouble(Bid,Digits);

если 5-значная котировка, то для перехода к 4-знаку можно так:

int MN=(int)(NormalizeDouble(BID/(Point*10.0),Digits-1);

если нужно перейти из 5-значной в 3-х значную, то можно так

int MN=(int)(NormalizeDouble(BID/(Point*100.0),Digits-2);

и т.д.

затем анализируем открытые ордера и делаем с ними все что угодно

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

// ---

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

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

и сравнить текущую запись массива с соседями(соседние строки) по массиву

нашли повтор, удалили(закрыли) ордер по тикету

 
Alexey Viktorov:
Может проще написать чтобы не ставились повторяющиеся ордера?
Так и написано, открывает по одному ордеру, но иногда бывает открывает 2 и боле ордеров (наверно не успеет проверять)
 
Meta Novicok:
Советник открывает по одной цене 2 и боле ордеров, а мне надо только один. Допустим (eur/usd 1,1380 buy) 2 раза, а мне надо только один. Надо код, что удалял вторую

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

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