Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 74
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
есть переменная
int Level = 0;
В процессе работы программы она постоянно меняется. Помогите написать условие: если Level НЕ изменилось, то ничего не делаем, если Level изменилось (не важно в большую или меньшую сторону) то делать определенное действие { оператор }
введи другую переменную
int Level1 = 0;
int Level = 0;
if (Level !=Level1)
{};
а потом Level1 =Level
а так я реально не понимаю зачем дергать массив на каждом тике если можно делать после любой торговой операции
введи другую переменную
int Level1 = 0;
int Level = 0;
if (Level !=Level1)
{};
а потом Level1 =Level
а так я реально не понимаю зачем дергать массив на каждом тике если можно делать после любой торговой операции
{
ObjectCreate("Sell no loss level", OBJ_HLINE, 0, 0, SELL_NoLossLevel);
}
далее мне нужно, что бы при увеличении SELL_Lvl происходило:
Но так как выполняется условие SELL_Lvl>0 линия должна заново перерисоваться, но уже по новому значению SELL_NoLossLevel. Может есть какой то более легкий и очевидный способ перерисвки линии в зависимости от значения SELL_Lvl ?
{
ObjectCreate("Sell no loss level", OBJ_HLINE, 0, 0, SELL_NoLossLevel);
}
далее мне нужно, что бы при увеличении SELL_Lvl происходило:
Но так как выполняется условие SELL_Lvl>0 линия должна заново перерисоваться, но уже по новому значению SELL_NoLossLevel. Может есть какой то более легкий и очевидный способ перерисвки линии в зависимости от значения SELL_Lvl ?
Переносите объект на новое значение не удаляя его, и не создавая заново:
Переносите объект на новое значение не удаляя его, и не создавая заново:
это конечно вариант но мне бы хотелось, чтобы линия все таки перерисовывалась по значению SELL_NoLossLevel в зависимости от того изменилось ли SELL_Lvl
вот так if(ObjectGet("Sell no loss level", 1) !=SELL_NoLossLevel {ObjectDelete( "Sell no loss level");}
линия перерисовывается на каждом тике, а мне нужно что бы она перерисовывалась только если изменилось SELL_Lvl
это конечно вариант но мне бы хотелось, чтобы линия все таки перерисовывалась по значению SELL_NoLossLevel в зависимости от того изменилось ли SELL_Lvl
вот так if(ObjectGet("Sell no loss level", 1) !=SELL_NoLossLevel {ObjectDelete( "Sell no loss level");}
линия перерисовывается на каждом тике, а мне нужно что бы она перерисовывалась только если изменилось SELL_Lvl
Распиши условие перерисовки линии чётко, с реальными значениями цены, тогда и сам поймёшь что нужно сделать.
По выделенному: изменилось на сколько? Что указывает на тот факт что SELL_Lvl изменилось?
ребят подскажите функцию для закрытия отложенных ордеров в мкл5 есть пять отрдеров бай лимит закрыть нужно самый нижний
Лучше в цикле перебрать, определить нужный и по документации
Delete Pending Order
Торговый приказ на удаление отложенного ордера. Требуется указание 2 полей:
Лучше в цикле перебрать, определить нужный и по документации
Распиши условие перерисовки линии чётко, с реальными значениями цены, тогда и сам поймёшь что нужно сделать.
По выделенному: изменилось на сколько? Что указывает на тот факт что SELL_Lvl изменилось?
для закрытия нужен тикет нижней отложки как найти цену нижнего ордера знаю буду благодарен если подскажеш как найти тикет нижнего ордера
Пример в документации есть.
Тут, наверное будет лучше перебирая ордера в цикле, сразу, при условии, что очередной получается ниже предыдущего, выбирать его для дальнейшей работы с ним. Таким образом после выхода из цикла уже будет выбран ордер для удаления.
Или сначала в цикле запомнить позицию его в списке ордеров и после выхода из цикла выбрать его по запомненному индексу.