Проблема в следующем.
На границах канала выставляются отложенные (стоповые) ордера, это делает советник или вручную.
Я хочу, после того как один из пары ордеров сработает (станет рыночным) программа должна выставить дополнительный "стоповый" ордер но уже по средине канала (шаг можно регулировать)....
Ниже сама программа.
Проблема в том, что иногда она работает корректо (выставляя один ордер), а иногда может выставить целую "пачку" ордеров на одном уровне.....
/* Отредактировано модератором, для вставки кода есть кнопка SRC */
В коде есть одна ошибка, связанная с предположением, что функция OrderOpenPrice() возвращает нормализованную цену. Однако, это не так. Поэтому, следует переделать сравнение
if (OrderMagicNumber()==step_mgk && OrderOpenPrice()==step_price) ...
например, в такое
if (OrderMagicNumber()==step_mgk && MathAbs(OrderOpenPrice()-step_price)<Point)
Ну, и везде в циклах <=OrdersTotal(); заменить на <OrdersTotal();
Хотя это и не влияет на результат. Так, просто для порядка.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Проблема в следующем.
На границах канала выставляются отложенные (стоповые) ордера, это делает советник или вручную.
Я хочу, после того как один из пары ордеров сработает (станет рыночным) программа должна выставить дополнительный "стоповый" ордер но уже по средине канала (шаг можно регулировать)....
Ниже сама программа.
Проблема в том, что иногда она работает корректо (выставляя один ордер), а иногда может выставить целую "пачку" ордеров на одном уровне.....
/* Отредактировано модератором, для вставки кода есть кнопка SRC */