Коллеги, пишу функции для подсчета прибыли/убытка для советника за сегодня, за период 7 дней и за все время.
Что-то бред считает, укажите на ошибку пожалуйста.
Скачайте индикатор и посмотрите как это сделано
![i-Profit i-Profit](https://c.mql5.com/36/24/i-profit.jpg)
- www.mql5.com
похоже я не выспался ))))
у меня же нет цикла для перебора всех ордеров
Этому индикатору ещё бы научиться выполнять ежедневный и еженедельный по-трендовый подсчет
не только фактической, но также потенциальной прибыли и убытка. Бесценная штучка была бы!
похоже я не выспался ))))
у меня же нет цикла для перебора всех ордеров
И тут некорректное сравнение происходит, перечитайте, что возвращает каждая из функций
if (TimeDay(OrderCloseTime()) >= iTime(Symbol(), PERIOD_D1, 6))
Все-равно, что-то не так. Понимаете? То есть; и у Кима, что-то не так?! Я сейчас скачал, этот индикатор, посмотрел его код, предположил, что я не обращаюсь к MarketInfo() вырезал у него эти участки(что бы самому не писать, если что), поставил их себе в свою функцию(она похожа на ту, которую написал задающий вопрос по этой теме, только с циклами), и вот складывается такое впечатление, что функция все-равно считает последний ордер в прибыль и += - не работает совсем, или, когда работает, а когда не работает
Надо суммировать!!!
Да, по ходу все, нашел. И не надо там ни чего придумывать. Это функция AccountProfit(), она возвращает значение прибыли текущего счета. Он может быть как плюсом, так и минусом. И вот его так же как у Кима ставишь += и в проверке допустим если сумма превышает 5 долларов, то закрываем все ордера. И вот я только что смотрел проверял - все идет как и должно идти, то есть, без всяких непонятных минусов, то есть, если там 2 ордера и их сумма больше 5 долларов он их закрывает и график в тестере стратегий показывает возрастающую тенденцию, а не непонятный обвал; если 5 ордеров - то же самое и 10 ордеров тоже самое - график идет, как и полагается в верх, то есть в прибыль 5+5+5 и т.д. И с ней я и буду уже мудрить, чем с непонятными заскоками с непонятными расчетами. Удачи Вам.
Да, по ходу все, нашел. И не надо там ни чего придумывать. Это функция AccountProfit(), она возвращает значение прибыли текущего счета. Он может быть как плюсом, так и минусом. И вот его так же как у Кима ставишь += и в проверке допустим если сумма превышает 5 долларов, то закрываем все ордера. И вот я только что смотрел проверял - все идет как и должно идти, то есть, без всяких непонятных минусов, то есть, если там 2 ордера и их сумма больше 5 долларов он их закрывает и график в тестере стратегий показывает возрастающую тенденцию, а не непонятный обвал; если 5 ордеров - то же самое и 10 ордеров тоже самое - график идет, как и полагается в верх, то есть в прибыль 5+5+5 и т.д. И с ней я и буду уже мудрить, чем с непонятными заскоками с непонятными расчетами. Удачи Вам.
Ну-ну… А что покажет AccountProfit() если на счёте будет работать два советника или больше?
По поводу советников не знаю, а проблема может возникнуть на разных символах. Тут вот надо будет считать профит по каждому символу в отдельности. Типа P.S: это я искал себе и учусь скальпингу и бывает, моменты что ордера не закрываются и цена улетает, (это я рассказываю свою стратегию и вот это сообщение удалю потом), вот, я выставляю ордера в одном направлении(отложенные стопы), за уходящей ценой. Потом когда цена начинает идти обратно у меня получается уже стоит сетка ордеров, я им удаляю тайкпрофит и вот мне нужен был советник который я включаю и он их все закрывает при наступлении определенной прибыли по определенному инструменту. А по поводу AccountProfit() очень мало информации в самом справочнике - ее фактически нет там - это плохо. То есть, я предполога, что эта функция считает общий баланс всего счета. Вот. Если я его с ее помощью посчитаю и применю OrderSymbol()=="..."; и потом отниму от общего. И главное, что она считает, я хоть и на демке тренируюсь, но сегодня по одному инструменты она убрала мои сопли, какие я нагородил. Так что пока все идет как надо, а дальше видно будет, точнее до этого еще надо дожить. И два советника смогут торговать, разные потоки им сделать и все; и мьютексы еще в вести, то есть, синхронизацию организовать, хотя кому как. Можно эту функцию им разделить, половину одному, а другую другому и устроить соревнования между ними.
И ещё AccountProfit() не считает свопы и комиссии.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Коллеги, пишу функции для подсчета прибыли/убытка для советника за сегодня, за период 7 дней и за все время.
Что-то бред считает, укажите на ошибку пожалуйста.