Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 375
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Всем доброго дня!
Подскажите пожалуйста команду для робота что бы на 1 свечу он не открывал больше 1-го ордера.
Даже если он забрал свой тэйк на этой свече - не открывать следующий ордер на этой же свече.
Сейчас так выходит что если условия индикаторов выполнены - открыть сделку.
После того как сделка по тэйку закрыта он на этой же свече сразу же открывает новую сделку и вот она уже не нужна мне и создает проблемы.
Ну или может подскажите где про это прочитать что бы самому разобраться.
Нужно строго так 1 свеча - 1 сделка.
Заранее благодарен!
Всем доброго дня!
Подскажите пожалуйста команду для робота что бы на 1 свечу он не открывал больше 1-го ордера.
Даже если он забрал свой тэйк на этой свече - не открывать следующий ордер на этой же свече.
Сейчас так выходит что если условия индикаторов выполнены - открыть сделку.
После того как сделка по тэйку закрыта он на этой же свече сразу же открывает новую сделку и вот она уже не нужна мне и создает проблемы.
Ну или может подскажите где про это прочитать что бы самому разобраться.
Нужно строго так 1 свеча - 1 сделка.
Заранее благодарен!
Ещё можно использовать флаг.
Объявить static bool переменную или переменную глобального уровня, пусть будет flag. Ордер открыли - flag = true, открылась новая свеча - flag = false и этот flag добавить к условию открытия ордера.
Ещё можно использовать флаг.
Объявить static bool переменную или переменную глобального уровня, пусть будет flag. Ордер открыли - flag = true, открылась новая свеча - flag = false и этот flag добавить к условию открытия ордера.
Флаг нужно сохранять в глобальных терминала и восстанааливать при его перезапуске.
Это смотря на каком периоде торговля и возможность перезапуска терминала в течении одного бара открыть ордер и перезапустить терминал.
Не люблю я GV и стараюсь обходиться без них. При запуске советника, всё-равно надо собрать всю информацию по открытым ордерам, так почему-бы не восстановить значение флага при запуске? Это один вариант. Второй вариант начальное значение флага запрещает открытие ордеров и открывается разрешение только на следующем баре. Так получится, что даже если на текущем баре было открытие и перезапуск советника, то флаг по любому будет запрещать открытие ордеров до следующего бара.
Просто если давать совет с такими тонкостями, то самому думать ни о чём не надо будет. Соответственно не исключено возрастание количества вопросов... Зачем самому что-то решать... спроси на форуме и тебе дадут рабочий вариант. И останется только разместить продукт в маркете...
Это смотря на каком периоде торговля и возможность перезапуска терминала в течении одного бара открыть ордер и перезапустить терминал.
Не люблю я GV и стараюсь обходиться без них. При запуске советника, всё-равно надо собрать всю информацию по открытым ордерам, так почему-бы не восстановить значение флага при запуске? Это один вариант. Второй вариант начальное значение флага запрещает открытие ордеров и открывается разрешение только на следующем баре. Так получится, что даже если на текущем баре было открытие и перезапуск советника, то флаг по любому будет запрещать открытие ордеров до следующего бара.
Просто если давать совет с такими тонкостями, то самому думать ни о чём не надо будет. Соответственно не исключено возрастание количества вопросов... Зачем самому что-то решать... спроси на форуме и тебе дадут рабочий вариант. И останется только разместить продукт в маркете...
:)
Именно по этой-же причине и женщины нам нравятся разные.
А какая разница, флаг или время открытия позиции??? Хоть как ни крути, а всё-равно что-то надо проверять...Здравствуйте! Подскажите как возвращать количество последних убыточных ордеров, после профитных?
Вот моя часть кода что не правильно?
int GetProfitLoss()// Убыток по закрытым ордерам (количество последних убыточных ордеров)
{
int Loss = 0;
datetime lastCloseTime = 0;
int cnt = OrdersHistoryTotal();
for(int i=0; i < cnt; i++)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == OrderId && lastCloseTime < OrderCloseTime())
{
lastCloseTime = OrderCloseTime();
}
if (OrderProfit()<0)
{
Loss ++;
}
if(OrderProfit()>0)
{
break; // Выход из цикла на первом встретившемся прибыльном }
}
}
}
}
return(Loss);
}
Всем доброго дня!
Подскажите пожалуйста команду для робота что бы на 1 свечу он не открывал больше 1-го ордера.
Даже если он забрал свой тэйк на этой свече - не открывать следующий ордер на этой же свече.
Сейчас так выходит что если условия индикаторов выполнены - открыть сделку.
После того как сделка по тэйку закрыта он на этой же свече сразу же открывает новую сделку и вот она уже не нужна мне и создает проблемы.
Ну или может подскажите где про это прочитать что бы самому разобраться.
Нужно строго так 1 свеча - 1 сделка.
Заранее благодарен!
Функция NumberOfBarCloseLastPos().
Эта функция возвращает номер бара закрытия последней позиции или -1. Отбор учитываемых позиций задаётся внешними параметрами:
Функция NumberOfBarOpenLastPos().
Эта функция возвращает номер бара открытия последней позиции или -1. Отбор учитываемых позиций задаётся внешними параметрами:
Дальше используя эти функции проверяйте нужное вам условие.
Пожалуйста помогите.
Нужно прикрутить к роботу следующую функцию:
После открытия сделки, через 40 секунд если прибыль больше 15 пунктов, то сделка закрывается моментально, если меньше, то тейкпрофит перемещается на уровень прибыли 15 пунктов.
Заранее благодарю.
Функция NumberOfBarCloseLastPos().
Эта функция возвращает номер бара закрытия последней позиции или -1. Отбор учитываемых позиций задаётся внешними параметрами:
Функция NumberOfBarOpenLastPos().
Эта функция возвращает номер бара открытия последней позиции или -1. Отбор учитываемых позиций задаётся внешними параметрами:
Дальше используя эти функции проверяйте нужное вам условие.
Большое вам человеческое Аригато!
Буду вникать!!