Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 405
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот код:
Вы не учитываете возможный вариант когда OrderStopLoss() равен нулю. А ноль в любом случае будет меньше выражения Ask+(TrailingStop+TrailingStep)*Point, и условие вернет false.
Спасибо Вам Vitalii Ananev , Vladimir Zubov!
Я пишу советник на основе индикатора RSI, принцип советника будет построен на открытие ордеров по индикатору, НО и закрытие будет так же по индикатору (именно ценны закрытия я не знаю)
if(OrderType()==OP_BUY && irsa <=20 || irsa >=40 )
OrderClose(ticket,Lot,Ask,Slippage,Blue);
return(0);
Это условие не выполняется. Почему? (открывает и сразу же закрывает ордер и так по циклу)
И вот главный вопрос. Советник будет работать с большим кол-вом ордеров и потребуется высчитать среднюю,большую и меньшую цену по всем ордерам в рынке , Как найти цены закрытия всех ордеров , для достижения общего профита и др. подобных операций?
Как указано в справке дает ошибку.
Да!? И какую же ошибку выдает? Что пишет компилятор?
Спасибо Вам Vitalii Ananev , Vladimir Zubov!
Я пишу советник на основе индикатора RSI, принцип советника будет построен на открытие ордеров по индикатору, НО и закрытие будет так же по индикатору (именно ценны закрытия я не знаю)
if(OrderType()==OP_BUY && irsa <=20 || irsa >=40 )
OrderClose(ticket,Lot,Ask,Slippage,Blue);
return(0);
Это условие не выполняется. Почему? (открывает и сразу же закрывает ордер и так по циклу)
И вот главный вопрос. Советник будет работать с большим кол-вом ордеров и потребуется высчитать среднюю,большую и меньшую цену по всем ордерам в рынке , Как найти цены закрытия всех ордеров , для достижения общего профита и др. подобных операций?
Цена закрытия позиции будет не известна до тех пор пока позиции не будет закрыта. После чего в истории сделок можно будет узнать цену закрытия функция OrderClosePrice().
Открывает и сразу же закрывает позиции потому, что условие закрытия позиций у вас выполняется. Проверяйте логику условия закрытия позиций. Для начала попробуйте написать так:
Почитайте справку о приоритете вычислений логических выражений.
" потребуется высчитать среднюю,большую и меньшую цену по всем ордерам в рынке" - Не понял о какой цене идет речь? Цене открытия ордера? Текущей цене валютной пары? Цене когда совокупная прибыль по всем открытым позициям достигнет без убытка?
Да!? И какую же ошибку выдает? Что пишет компилятор?
Цена закрытия позиции будет не известна до тех пор пока позиции не будет закрыта. После чего в истории сделок можно будет узнать цену закрытия функция OrderClosePrice().
Открывает и сразу же закрывает позиции потому, что условие закрытия позиций у вас выполняется. Проверяйте логику условия закрытия позиций. Для начала попробуйте написать так:
Почитайте справку о приоритете вычислений логических выражений.
Ну а как быть в к примеру с сеткой , там нужно общий ТР или (и) общ. Цену .
Может есть какой буфер(а) куда сохранять цену или в самом индикаторе еможет есть буфер где хранится цена открытия посл. ордера (а оттуда можно было бы брать и сохранять в наш общий буфер)
Ну а как быть в к примеру с сеткой , там нужно общий ТР или (и) общ. Цену .
Может есть какой буфер(а) куда сохранять цену или в самом индикаторе еможет есть буфер где хранится цена открытия посл. ордера (а оттуда можно было бы брать и сохранять в наш общий буфер)
Спасибо Вам Vitalii Ananev , Vladimir Zubov!
Я пишу советник на основе индикатора RSI, принцип советника будет построен на открытие ордеров по индикатору, НО и закрытие будет так же по индикатору (именно ценны закрытия я не знаю)
if(OrderType()==OP_BUY && irsa <=20 || irsa >=40 )
OrderClose(ticket,Lot,Ask,Slippage,Blue);
return(0);
Это условие не выполняется. Почему? (открывает и сразу же закрывает ордер и так по циклу)
И вот главный вопрос. Советник будет работать с большим кол-вом ордеров и потребуется высчитать среднюю,большую и меньшую цену по всем ордерам в рынке , Как найти цены закрытия всех ордеров , для достижения общего профита и др. подобных операций?
Вы пытаетесь бай закрыть по аску, если не понимаете элементарных вещей - почитайте документацию
или вы привыкли методом научного тыка?
Ну а как быть в к примеру с сеткой , там нужно общий ТР или (и) общ. Цену .
Может есть какой буфер(а) куда сохранять цену или в самом индикаторе еможет есть буфер где хранится цена открытия посл. ордера (а оттуда можно было бы брать и сохранять в наш общий буфер)