Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
потому что вы берете каждый раз новое время тика, и оно конечно не равно предыдущему.
а в прошлой функции вы брали время начала бара. поэтому и тут берите время бара, а не тика.
Объясните непонятливому, какой параметр в коде на какой изменить.
Как описать время бара, а не тика?
Объясните непонятливому, какой параметр в коде на какой изменить.
Как описать время бара, а не тика?
Объясните непонятливому, какой параметр в коде на какой изменить.
Как описать время бара, а не тика?
Вот тут все популярно описано Обработчик события "новый бар"
В общем не ленимся иногда заглядывать в статьи и коде бейз прежде чем задавать вопрос
Вот тут все популярно описано Обработчик события "новый бар"
В общем не ленимся иногда заглядывать в статьи и коде бейз прежде чем задавать вопрос
Вот на mql4 в пять строк можно было выяснить, новый бар или нет. А теперь целая куча каких-то файлов написали, непонятно куда их помещать, что внутри программы писать...
Короче, если есть специалисты, то приведите мне пример кода, чтоб я не мучился, а в библиотеку я и сам кого угодно послать могу, хоть в электронную, хоть в настоящую.
Я не сомневаюсь, но для галочки спрашиваю, кто-нибудь создавал одного и того же советника на mql4 и mql5 и сравнивал результаты тестирования? Должно же быть идеально-похоже, если код правильно трансформирован? Или я ошибаюсь..?
Если тестирование там и там побарное и в mql5 логика разположена в onTick, то выйдет похоже.
Единственно, различие может быть в спредах. В 5-ке история содержит спреды. В 4-ке спред прогона тестера равен текущему в терминале.
Если тестирование "каждый тик", то похоже будет еще меньше, т.к. алгоритмы генерации тиков в версиях разные.
Вот на mql4 в пять строк можно было выяснить, новый бар или нет. А теперь целая куча каких-то файлов написали, непонятно куда их помещать, что внутри программы писать...
Короче, если есть специалисты, то приведите мне пример кода, чтоб я не мучился, а в библиотеку я и сам кого угодно послать могу, хоть в электронную, хоть в настоящую.
Держи, переменную lastbar объяви как статическую или на глобальном уровне, массив iTime на глобальном уровне
На странице есть пример с функцией isNewBar
https://www.mql5.com/ru/forum/2804/38752#comment_38752
1. Я не зря спрашивал про результаты тестирования одних и тех же стратегий на mql4 и mql5.
Я использовал вхождение в рынок на новом баре, если условия удовлетворяли требованиям входа и закрывал позицию, если индикаторы показывали обратный сигнал и входил снова на новом баре.
На mql4 я использовал вот эту процедуру для входа на новом баре:
void Fun_New_Bar() // Ф-ия обнаружения ..
{ // .. нового бара
static datetime New_Time=0; // Время текущего бара
New_Bar=false; // Нового бара нет
if(New_Time!=Time[0]) // Сравниваем время
{
New_Time=Time[0]; // Теперь время такое
New_Bar=true; // Поймался новый бар
}
}
Вот как выглядит результат тестирования робота на mql4 по моей стратегии:
Спасибо за присланные процедуры для определения нового бара. Они работают. Я делал скрипт, который пишет Alert на новом баре и проверил на M1, чтоб долго не ждать.
Но та же стратегия дает совсем другие результаты (причем одинаковые) на обоих процедурах в mql5 советнике:
Я ж тут не зря рубашку рву и ногами топаю. Хочется повторить результаты, а они не совпадают.
Вот как примерно выглядит функция onStart на mql4:
int start()
{
GetIns();
Fun_New_Bar();
if (New_Bar==false) return(0);
if (Total()>0)
{
CloseSellEnd();
CloseBuyEnd();
}
if (Total()<1)
{
OpenBuy();
OpenSell();
}
return(0);
}
И примерно также на mlq5:
void OnTick()
{
GetIns();
if (NewBar())
{
if (Total()>0) TryToClose();
if (Total()<1)
{
OpenBuy(Lots,10,"EUR/USD (Buy)",102406);
OpenSell(Lots,10,"EUR/USD (Sell)",102406);
}
}
}
GetIns для обработки параметров индикаторов, а Total() - дает число позиций с нужным мэджиком ддля mql4 или с нужным символом для mql5.
Помогите.
Мне кажется я нашел причину расхождений. Вы не поверите. На MT4 и MT5 разная история катировок. Вроде немного отличается, а стратегия тестируется с огромной разницей!!!!
Вот один участок на разных терминалах:
Вы по присмотритесь, есть разница. Небольшая? А какая разница между результатами тестирования стратегии, тоже небольшая???
Буду обращаться к разработчикам! Что за бета-версия!!!