Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день.
Перерыл кучу индикаторов, может я слепой, а может такого действительно нет.
Нужен индикатор для МТ5, который рисует или отображает три цены, линии за последний квартал, ну или можно за заданный период. 1) Максимальная цена. 2) Минимальная цена. 3) средняя цена, рассчитанная от разницы макс-мин.
Буду благодарен, если кто намекнет на такой индикатор)
Есть проблемка - открывается сетка ордеров с общим ТП и иногда у одной сделки ТП не выставляется. Ладно если это не дает сделать теккущая цена, но бывает, что ТП должен стоять за 50 и более пунктов, а у одной из семи (скажем) сделок вместо ТП пусто. Как заставить советник контролировать этот момент? Но при том условии, что он должен контролировать установку ТП именно в этот момент, потому что потом (через час скажем) я захотел сбросить все ТП и сов не должен мне заново их выставлять. Вот фрагмент кода, который вот это делает:
if (gridDirect==-1 && countBUY<MaxTrades)
{
// открыть новый сеточный ордер BUY
comment=EAName+"-"+Symbol()+"-"+(countBUY+1)+"-"+Step;
nextLots = NormalizeDouble(Lots*MathPow(LotExponent, countBUY), lotDecimal);
RefreshRates();
ticket=OpenOrder(OP_BUY,nextLots,comment,MagicBuy, clrLime);
if (ticket>0)
{
SetTakeProfit(OP_BUY,MagicBuy);
}
return;
}
if (ticket>0)
Вместо этого условия
поставьте это
Вместо этого условия
поставьте это
if(OrderSelect(ticket))
и ещё, я поменял эту строчку, у меня выскочила ошибка - wrong parameters count. Я так понимаю єтот ордер селект нужно прописать в начале советника?
Ну да, меня «дёрнули» и я в спешке не дописал. Надо так
if(OrderSelect(ticket, SELECT_BY_TICKET))
для селл та же строка?
Можете простым языком сказать что Вы сделали. Я уже второй день ищу информацию что бы решить этот вопрос и не нашёл. Хочу понимать что Вы сделали, что это значит.Спасибо
для селл та же строка?
Можете простым языком сказать что Вы сделали. Я уже второй день ищу информацию что бы решить этот вопрос и не нашёл. Хочу понимать что Вы сделали, что это значит.Спасибо
Прочтите внимательно примечание.
«Функция OrderSelect() копирует данные об ордере…» и далее
Прочтите внимательно примечание.
«Функция OrderSelect() копирует данные об ордере…» и далее
Всем доброго дня.
Есть проблемка - открывается сетка ордеров с общим ТП и иногда у одной сделки ТП не выставляется. Ладно если это не дает сделать теккущая цена, но бывает, что ТП должен стоять за 50 и более пунктов, а у одной из семи (скажем) сделок вместо ТП пусто. Как заставить советник контролировать этот момент? Но при том условии, что он должен контролировать установку ТП именно в этот момент, потому что потом (через час скажем) я захотел сбросить все ТП и сов не должен мне заново их выставлять. Вот фрагмент кода, который вот это делает:
if (gridDirect==-1 && countBUY<MaxTrades)
{
// открыть новый сеточный ордер BUY
comment=EAName+"-"+Symbol()+"-"+(countBUY+1)+"-"+Step;
nextLots = NormalizeDouble(Lots*MathPow(LotExponent, countBUY), lotDecimal);
RefreshRates();
ticket=OpenOrder(OP_BUY,nextLots,comment,MagicBuy, clrLime);
if (ticket>0)
{
SetTakeProfit(OP_BUY,MagicBuy);
}
return;
}
Вам лучше поправить функцию SetTakeProfit
P.S.
Если Вы сделаете так
то скорее всего, там где ТП не выставляется, увидите ошибку 1