Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1481
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Привет, Алексей! Одно уточнение. PositionSelect() нужно вместо цикла использовать или опять чего-то недопонял?
С уважением, Владимир.
Да как угодно можно написать, главное, для получения ошибки, вписать несуществующий символ…
Да как угодно можно написать, главное, для получения ошибки, вписать несуществующий символ…
Тока не кидай в меня тапками!!! Не получается получить код ошибки. ((((
С уважением, Владимир.
Ошибка = "
Там должен спецификатор стоять
Спасибо, Артём! Всё заработало!!! Всем ОГРОМНОЕ спасибо!
С уважением, Владимир.
Короче говоря, решил проблему, описанную здесь, другим способом:
С уважением, Владимир.
Всем доброго вечера!
Пытаюсь создать функцию открывающую дополнительную позицию (пока без стопа и тейка) к уже имеющейся открытой позиции. Написал код:
но он почему-то не видит открытую позиции. Пробовал найти проблему отладчиком, но он после запуска цикла сразу вылетает из функции не видя того, что прописано внутри неё. Точку останова ставил на PositionGetTicket(i). Подскажите, пжл, где опять у меня косяк в коде?
С уважением, Владимир.
Всем доброго вечера!
Пытаюсь создать функцию открывающую дополнительную позицию (пока без стопа и тейка) к уже имеющейся открытой позиции. Написал код:
но он почему-то не видит открытую позиции. Пробовал найти проблему отладчиком, но он после запуска цикла сразу вылетает из функции не видя того, что прописано внутри неё. Точку останова ставил на PositionGetTicket(i). Подскажите, пжл, где опять у меня косяк в коде?
С уважением, Владимир.
Чему равен pos_total?
Чему равен pos_total?
Привет, Алексей! Переменная pos_total=PositionsTotal(), просто она была задана на глобальном уровне. Сейчас перенёс внутрь функции и оказалось, что проблема была именно в этом. Всё заработало. А чё за фигня? Вообще не понял прикола!!!
Сейчас ради эксперимента ещё раз вынес pos_total на глобальный уровень и снова перестало работать, а когда вставил внутрь функции - работает, как надо! Просто чудеса какие-то, ну, по крайней мере для меня!!! )))
Получается, что переменную на глобальном уровне нельзя инициализировать функцией? Так, что ли?
С уважением, Владимир.
Привет, Алексей! Переменная pos_total=PositionsTotal(), просто она была задана на глобальном уровне. Сейчас перенёс внутрь функции и оказалось, что проблема была именно в этом. Всё заработало. А чё за фигня? Вообще не понял прикола!!!
Сейчас ради эксперимента ещё раз вынес pos_total на глобальный уровень и снова перестало работать, а когда вставил внутрь функции - работает, как надо! Просто чудеса какие-то, ну, по крайней мере для меня!!! )))
Получается, что переменную на глобальном уровне нельзя инициализировать функцией? Так, что ли?
С уважением, Владимир.
Иногда можно, но не каждую. В этом случае, когда ты запускаешь советник, он ещё не видит открытые позиции и переменная равна нулю…
Собственно я вчера экспериментировал с выборкой позиций и пришёл к выводу, что PositionsTotal() нужна исключительно для определения количества позиций. А это количество нужно только для ограничения цикла.
Вот такой цикл
работает даже если перед ним получить список ордеров или сделок из истории. На днях проверю будет-ли мешать выборка отложенных ордеров.
А в твоём случае проще написать без цикла
если тебе надо последнюю позицию…
В этом случае, когда ты запускаешь советник, он ещё не видит открытые позиции и переменная равна нулю…
Согласился бы с тобой, но вот в чём проблема - при выносе на глобальный уровень переменной pos_total советник не видел открытые позиции на протяжении всего периода тестирования, хотя за это время было открыто более 50 шт. Не понятно! Получается, что такой вариант не прокатывает?
С уважением, Владимир.