Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1516
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
благодарю за ответ, костыльное и неплохое решение, но с точки зрения моей идеи оно работает немного некорректно, так как баланс плавает, наверное он это делает не мгновенно и в некоторых случаях мои ордера начали по какой-то причине закрываться с минусом. Но прирост пошел как надо, но и просадка с теми минусами повырастала. Я плюнул на все и решил задать вручную лимиты выторга, придется так подстраивать ежедневно.
благодарю за ответ, костыльное и неплохое решение, но с точки зрения моей идеи оно работает немного некорректно, так как баланс плавает, наверное он это делает не мгновенно и в некоторых случаях мои ордера начали по какой-то причине закрываться с минусом. Но прирост пошел как надо, но и просадка с теми минусами повырастала. Я плюнул на все и решил задать вручную лимиты выторга, придется так подстраивать ежедневно.
Функция работает корректно.
Попробуй так
и добавь в функцию закрытия ордеров обновление баланса
ловить смену дня и рассчитывать значение баланса на этот момент.
не зря-же говорили что "возьмите подходящий индикатор" - это не уложится в пару строчек кода. Там довольно ёмкий алгоритм.
поймать смену дня легко, "известный номер дня сейчас не равен номеру дня ранее", а вот дальше сложности
Алг. " посчитать баланс на момент D" (без учёта снятий/пополнений и некоторым багом про свопы и комиссии)
Баланс:=текущий баланс счёта. Тот который AccountBalance()
По всем закрытым рыночным ордерам в истории:
если время закрытия попадает между D и текущим моментом, Баланс -= OrderProfit()+OrderSwap()+OrderCommision();
по завершению перебора, Баланс есть искомое значение..
НО, комиссия взимается (то есть влияет на линию баланса) при открытии, а мы её учтём при закрытии и свопы берутся при перемене дня, а мы учтём опять-же лишь при закрытии
и при большой глубине D, есть шанс в переборе не получить все требуемые ордера
благодарю за ответ, костыльное и неплохое решение, но с точки зрения моей идеи оно работает немного некорректно, так как баланс плавает, наверное он это делает не мгновенно и в некоторых случаях мои ордера начали по какой-то причине закрываться с минусом. Но прирост пошел как надо, но и просадка с теми минусами повырастала. Я плюнул на все и решил задать вручную лимиты выторга, придется так подстраивать ежедневно.
Я уже заблудился в ваших пожеланиях и советах вам… Поэтому возможно мой совет совсем не в тему, ну уж извиняйте…
Я так понимаю, надо на начало дня зафиксировать баланс и в течении дня считать прибыль\потери с соответствии с которыми надо принять решение о продолжении торговли…
Так вот решение
Если в течении дня будет перезапуск советника, то в OnInit() надо предусмотреть подсчёт прибыли\убытков сегодняшних ордеров с учётом свопов и комиссий и высчитать баланс на начало дня.
Я верю в способности Макара, он может всё это показать уже в коде…
Здравствуйте. Подскажите, пожалуйста.
Как определить номер текущего бара с начала суток?
Спасибо.
Здравствуйте. Подскажите, пожалуйста.
Как определить номер текущего бара с начала суток?
Спасибо.
это текущий бар, если последний закрытый, то -0,5
это текущий бар, если последний закрытый, то -0,5
Спасибо. Попробую.
это текущий бар, если последний закрытый, то -0,5
на минутках и экзотах будет сбоить.
кол-во баров != число_отсчётов
бары пропускаются просто на раз, за 15 мин может быть 12 минутных баров
лучше использовать штатную iBarShift()
лучше использовать штатную iBarShift()
Я не знаю как(
Я не знаю как(
Функция