- Пополнение счетов и вывод средств - Начало работы
- Управление торговыми счетами - Для продвинутых пользователей - Начало работы
- Пополнение счетов и вывод средств - Счета - MetaTrader 5 для Android
Я их сам писал. А где можно скачать предыдущие билды? И где прочитать про изменения , которые появились в 1870. А вообще у меня почти 3 года все работало, эти обновления нафиг не нужны, но постоянное навязчивое появление напоминания о новом обновлении, которое почему то нельзя отключить, действовало на нервы. Обновился на свою голову...
Терминал. Справка / Что нового.
Уже одну ошибку нашел
У меня работал такой код
datetime currentTime = rt[1].time; // время последнего тика
// выполнять логику только на новом баре! Т.е. когда предыдущий завершен!
static datetime last_bar; // Время последнего бара
if(last_bar == currentTime || last_bar == NULL)
{
last_bar = currentTime;
return;
}
last_bar = currentTime;
Т.е. код запускался только на новом баре, теперь непонятно как работает, не каждый тик, но регулярно проходит этот "фильтр"
Уже одну ошибку нашел
У меня работал такой код
Т.е. код запускался только на новом баре, теперь непонятно как работает, не каждый тик, но регулярно проходит этот "фильтр"
А так не логичней???
datetime currentBar[]; // время последнего бара CopyTime( _Symbol, 0, 0, 1, currentBar); // выполнять логику только на новом баре! Т.е. когда предыдущий завершен! static datetime last_bar = 0; // Время последнего бара if(last_bar == currentBar[0]) return; last_bar = currentBar[0];
Ну практически тоже самое написали, может чуть покрасивше, сути это не меняет.
Я так сказать повыводил значения с помощью Print и увидел глюк, чего раньше, видимо, не было и все работало. Периодами время бара приходит неверное, т.е. имеем 6 минутный бар 20:30, должно каждый раз это время приходить до нового бара в 20:36 и тут вдруг приходит время 20:32, затем опять 20:30. И тут вопрос, является ли это глюком нового МТ5 или тики приходят в него "неправильные", как и в старый приходили бы, а мое обновление терминала просто совпало.
Можно конечно что-то другое попробовать использовать для определения времени, какой-нибудь iTime, но где гарантия. Все таки реальные деньги, а не развлечение на демо счете.
Т.е. ошибка крайне неочевидная, приходят тики с правильным временем, начала свечи, потом вдруг "неправильный" и опят пошли правильные.
Ну практически тоже самое написали, может чуть покрасивше, сути это не меняет.
Я так сказать повыводил значения с помощью Print и увидел глюк, чего раньше, видимо, не было и все работало. Периодами время бара приходит неверное, т.е. имеем 6 минутный бар 20:30, должно каждый раз это время приходить до нового бара в 20:36 и тут вдруг приходит время 20:32, затем опять 20:30. И тут вопрос, является ли это глюком нового МТ5 или тики приходят в него "неправильные", как и в старый приходили бы, а мое обновление терминала просто совпало.
Можно конечно что-то другое попробовать использовать для определения времени, какой-нибудь iTime, но где гарантия. Все таки реальные деньги, а не развлечение на демо счете.
Т.е. ошибка крайне неочевидная, приходят тики с правильным временем, начала свечи, потом вдруг "неправильный" и опят пошли правильные.
Вы работаете по тикам, а проверяетесь барами. Разницу улавливаете. Тик не обязан приходить во время открытия нового бара. От сюда и остальные проблемы.
Никто не замечал странного поведения роботов? С 2015г советники торгуют в Открытии без проблем. А тут началось непонятно что после обновления. Робот входит сразу допустим на 46 контрактов Si, при том что в коде, есть ограничение на 6 контрактов, т.е. он не должен ни при каких обстоятельствах входить на большее, даже если ему придет неверная большая сумма свободных средств на счете. Да и вроде условий на сделку не было, но это уже другой вопрос. Код не правил, ничего не менял, появилось ни с того ни с сего впервые за 3 года
Значит код написан не правильно.
Я написал несколько роботов ещё в 2013 г. и они работают (пока) правльно, включая билд 1870
Емли хотите, могу посмотреть где у Вас ошибки.
Вы работаете по тикам, а проверяетесь барами. Разницу улавливаете. Тик не обязан приходить во время открытия нового бара. От сюда и остальные проблемы.
нет проблемы не отсюда. Тик может придти когда угодно это не важно, но вот это , то что вы написали (и тоже самое и у меня), выдает время последнего незавершенного бара, а фактически данные последнего тика в функции OnTick
datetime currentBar[]; // время последнего бара
CopyTime( _Symbol, 0, 0, 1, currentBar);
Но тики эти должны быть с временем начала бара, что соответствует описанию в Хелпе и соответствовало реальной работе также. Это глюк - даже чисто теоретически! Не может быть верным, когда приходит тик с временем 20:30, затем 20:32, затем опять 20:30. Но 20:32 и не должен был приходить вообще, он пришел "невзначай" среди множества тиков с временем 20:30. Может я непонятно объясняю, но мне ситуация предельно ясна.
На самом деле этот глюк можно обойти по разному, но сам факт такого поведения терминала в последнее время напрягает, где еще что может произойти неизвестно.
Значит код написан не правильно.
Я написал несколько роботов ещё в 2013 г. и они работают (пока) правльно, включая билд 1870
Емли хотите, могу посмотреть где у Вас ошибки.
В БД Открытие или у другого Брокера (ДЦ) работают без ошибок? Так как, то что я на данный момент рассматриваю явно может отличаться у брокеров. У меня тоже с 2015 работало.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования