Здравствуйте! Сегодня написал свой первый советник. Прогоняю его на тестере стратегий и вижу, что он открывает по несколько одинаковых сделок (по одной и той же цене) в один и тот же момент времени. Если я правильно понимаю, то происходит это из-за того, что код советника выполняется при получении каждого нового тика, которых на одном баре приходит множество (советник тестирую на пятиминутном графике). Подскажите пожалуйста как избежать этого эффекта. Видимо надо сделать как-то так, чтобы алгоритм выполнялся по одному разу на каждый бар? И как это реализовать технически?
Попробуйте использовать такую мою функцию:
//+------------------------------------------------------------------+ bool NewBar() { bool r; static datetime bar = 0; if (bar == 0) bar = TimeCurrent(); if (bar == Time[0]) r = false; else { bar = Time[0]; r = true; } return(r); } //+------------------------------------------------------------------+