Вы не учитываете возможный вариант когда OrderStopLoss() равен нулю. А ноль в любом случае будет меньше выражения Ask+(TrailingStop+TrailingStep)*Point, и условие вернет false.
Я пишу советник на основе индикатора RSI, принцип советника будет построен на открытие ордеров по индикатору, НО и закрытие будет так же по индикатору (именно ценны закрытия я не знаю)
Это условие не выполняется. Почему? (открывает и сразу же закрывает ордер и так по циклу)
И вот главный вопрос. Советник будет работать с большим кол-вом ордеров и потребуется высчитать среднюю,большую и меньшую цену по всем ордерам в рынке , Как найти цены закрытия всех ордеров , для достижения общего профита и др. подобных операций?
Я пишу советник на основе индикатора RSI, принцип советника будет построен на открытие ордеров по индикатору, НО и закрытие будет так же по индикатору (именно ценны закрытия я не знаю)
Это условие не выполняется. Почему? (открывает и сразу же закрывает ордер и так по циклу)
И вот главный вопрос. Советник будет работать с большим кол-вом ордеров и потребуется высчитать среднюю,большую и меньшую цену по всем ордерам в рынке , Как найти цены закрытия всех ордеров , для достижения общего профита и др. подобных операций?
Цена закрытия позиции будет не известна до тех пор пока позиции не будет закрыта. После чего в истории сделок можно будет узнать цену закрытия функция OrderClosePrice().
Открывает и сразу же закрывает позиции потому, что условие закрытия позиций у вас выполняется. Проверяйте логику условия закрытия позиций. Для начала попробуйте написать так:
Почитайте справку о приоритете вычислений логических выражений.
" потребуется высчитать среднюю,большую и меньшую цену по всем ордерам в рынке" - Не понял о какой цене идет речь? Цене открытия ордера? Текущей цене валютной пары? Цене когда совокупная прибыль по всем открытым позициям достигнет без убытка?
Цена закрытия позиции будет не известна до тех пор пока позиции не будет закрыта. После чего в истории сделок можно будет узнать цену закрытия функция OrderClosePrice().
Открывает и сразу же закрывает позиции потому, что условие закрытия позиций у вас выполняется. Проверяйте логику условия закрытия позиций. Для начала попробуйте написать так:
Почитайте справку о приоритете вычислений логических выражений.
Ну а как быть в к примеру с сеткой , там нужно общий ТР или (и) общ. Цену .
Может есть какой буфер(а) куда сохранять цену или в самом индикаторе еможет есть буфер где хранится цена открытия посл. ордера (а оттуда можно было бы брать и сохранять в наш общий буфер)
Ну а как быть в к примеру с сеткой , там нужно общий ТР или (и) общ. Цену .
Может есть какой буфер(а) куда сохранять цену или в самом индикаторе еможет есть буфер где хранится цена открытия посл. ордера (а оттуда можно было бы брать и сохранять в наш общий буфер)
Рекомендую начать изучать язык с учебника Ковалева (должен быть на сайте). Он, конечно, немного устарел, но в совокупности с документацией все будет ок!
Я пишу советник на основе индикатора RSI, принцип советника будет построен на открытие ордеров по индикатору, НО и закрытие будет так же по индикатору (именно ценны закрытия я не знаю)
Это условие не выполняется. Почему? (открывает и сразу же закрывает ордер и так по циклу)
И вот главный вопрос. Советник будет работать с большим кол-вом ордеров и потребуется высчитать среднюю,большую и меньшую цену по всем ордерам в рынке , Как найти цены закрытия всех ордеров , для достижения общего профита и др. подобных операций?
Вы пытаетесь бай закрыть по аску, если не понимаете элементарных вещей - почитайте документацию
Ну а как быть в к примеру с сеткой , там нужно общий ТР или (и) общ. Цену .
Может есть какой буфер(а) куда сохранять цену или в самом индикаторе еможет есть буфер где хранится цена открытия посл. ордера (а оттуда можно было бы брать и сохранять в наш общий буфер)
Вам надо вычислить среднюю цену открытия всех позиций. И исходя из этого уже рассчитывать общий тейкпрофит для всех позиций. Цена открытия позиций известна (OrderOpenPrice()). Сложите все и поделите на кол-во открытых позиций.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Вот код:
Вы не учитываете возможный вариант когда 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);
Это условие не выполняется. Почему? (открывает и сразу же закрывает ордер и так по циклу)
И вот главный вопрос. Советник будет работать с большим кол-вом ордеров и потребуется высчитать среднюю,большую и меньшую цену по всем ордерам в рынке , Как найти цены закрытия всех ордеров , для достижения общего профита и др. подобных операций?
Вы пытаетесь бай закрыть по аску, если не понимаете элементарных вещей - почитайте документацию
или вы привыкли методом научного тыка?
Ну а как быть в к примеру с сеткой , там нужно общий ТР или (и) общ. Цену .
Может есть какой буфер(а) куда сохранять цену или в самом индикаторе еможет есть буфер где хранится цена открытия посл. ордера (а оттуда можно было бы брать и сохранять в наш общий буфер)