Скачать MetaTrader 5

Заметил глюк: открывается 2 ордера по одной и той же цене

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Александр
217
Александр  

Добрый день, профессионалам!

Заметил ситуацию, когда открывается 2 одинаковых по лоту ордера по одной цене. В принципе в моем советнике такого не должно быть по нескольким причинам (не буду вдаваться в подробности).

Хочу отследить момент, когда это происходит. А для этого нужно перебирать открытые и отложенные ордера по признаку: одна цена, одинаковый лот и одинаковый тип - выводить сообщение.

Подскажите, как сделать в коде.

Заранее благодарю!

Victor Nikolaev
Модератор
15654
Victor Nikolaev  
Вам, это, может к экстрасенсам. Им подробности ни к чему. Ветка есть специальная. Не найдете - сам поищу
Александр
217
Александр  

Можно с подробностями (почему не должны открываться 2 ордера одновременно):

1. Есть параметр, определяющий расстояние в пипсах между каждым новым ордером. Если расстояние меньше - ордер не открывается.

2. Для открытия ордера есть процедура, т.е. после открытия устанавливается встречный ему. Потом взаимная модификация. На это нужно время, т.е. цена за это время должна уйти и открытие другого ордера не может произойти по той же цене.

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

Для этого нужен код слежения за открытием одинаковых по параметрам ордеров. По идее надо сравнить каждый ордер с каждым. Т.е. какой-то цикл в цикле?!

Сергей Исаев
994
Сергей Исаев  
Кривой код.
Александр
217
Александр  
TEXX:
Кривой код.


Приведу пример прямого кода:

Закрываются 2 или больше ордеров в прибыль. Определить, что они суммарно составляют прибыль не сложно. Но после закрытия одного из ордеров обрывается связь с сервером (не Интернет, с ним-то все нормально). Проходит 3 минуты - восстанавливается связь. Советник отрабатывает закрытие нескольких ордеров и... получаем убыток. Потому что цена ушла в сторону увеличения убыточных ордеров. Кривой код? Наверное. И таких вариантов могу массу представить.

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

Сергей Исаев
994
Сергей Исаев  
religare:

Приведу пример прямого кода:

Закрываются 2 или больше ордеров в прибыль. Определить, что они суммарно составляют прибыль не сложно. Но после закрытия одного из ордеров обрывается связь с сервером (не Интернет, с ним-то все нормально). Проходит 3 минуты - восстанавливается связь. Советник отрабатывает закрытие нескольких ордеров и... получаем убыток. Потому что цена ушла в сторону увеличения убыточных ордеров. Кривой код? Наверное. И таких вариантов могу массу представить.

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

1. Ставь программно ТП и СЛ.

2. Смени брокера и не парься.

Dmitriy Voevodkin
596
Dmitriy Voevodkin  

если ты сравниваешь цены через == или !=, то работать не будет.

в мкл 1.3254 не равно 1.3254

если тебе надо А==Б, то пиши код MathAbc(А-Б)<Point

если тебе надо А!=Б, то пиши MathAbc(А-Б)>Point

Александр
217
Александр  
TEXX:

1. Ставь программно ТП и СЛ.

2. Смени брокера и не парься.

Вопрос был о другом. Но по поводу 1-го пункта - стопы и тейки стоят, но... если их поставить близко к уровню безубытка, то изменение спреда спокойно сделает из суммы ордеров убыточную комбинацию.
Сергей Исаев
994
Сергей Исаев  
kermit:

если ты сравниваешь цены через == или !=, то работать не будет.

в мкл 1.3254 не равно 1.3254

если тебе надо А==Б, то пиши код MathAbc(А-Б)<Point

если тебе надо А!=Б, то пиши MathAbc(А-Б)>Point

После нормализации всё сравнивается нормально.

Сергей Исаев
994
Сергей Исаев  
religare:
Вопрос был о другом. Но по поводу 1-го пункта - стопы и тейки стоят, но... если их поставить близко к уровню безубытка, то изменение спреда спокойно сделает из суммы ордеров убыточную комбинацию.

Уверен??? Спред при расширении влияет только на закрытие (может не закрыться ордер при расширении спреда) но никак не влияет на сумму закрытия.

Кароче, без твоего сверсекретного кода нефиг гадать.

ушёл....

Александр
217
Александр  

Вы понимаете, что я спрашивал? Мне нужен код или хотя бы намек как его сделать:

нужно перебирать открытые и отложенные ордера по признаку: одна цена, одинаковый лот и одинаковый тип. Если условие выполняется, то выводить сообщение.


Тема: а закроется ли группа ордеров, если расширился спред меня не интересует. Если кого-то интересует - часто закрывается в убыток, если спред увеличился, а стопы и тейки стоят стабильные.

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий