Сегодня решил ещё поэкпериментировать с определением тренда в советнике.
Как уже говорил ранее, для определения тренда использую индикатор CCI, маркером является пересечение индикатором линий 100 и -100. Контроль проводится на старших таймфреймах. Отличием от стандартной процедуры является то, что для определения тренда "вверх" и "вниз" применяется индикаторы с соответственно различными периодами.
В остальном принцип классический.
Ламберт рассматривал движения выше +100 и ниже -100, которые подают сигналы покупки и продажи. Поскольку приблизительно 70% – 80% значений CCI находится между +100 и -100, сигнал покупки или продажи будет подаваться только в 20 - 30 процентах времени. Когда CCI двигается выше +100, считается, что рыночный инструмент находится в сильном восходящем тренде и подается сигнал покупки. Когда CCI двигается ниже -100, считается, что рыночный инструмент находится в сильном нисходящем тренде и подается сигнал продажи.
В советник добавил следующие настройки:
extern bool trend_filter = true; // Включение функции определения тренда
extern int s_kcci = 5; //Период индикатора для продаж
extern int b_kcci = 5; //Период индикатора для покупок
extern int target = 4; // Кратность увеличения цели (увеличиваем ТР)
Чтобы как-то определиться со значениями переменных, решил на скорую руку провести оптимизацию. Оптимизацию делал "ПО КОНТРОЛЬНЫМ ТОЧКАМ"...
Честно говоря полученный график меня озадачил, уж очень стабильные результаты получались на выходе...
для проверки сделал контрольный прогон советника с ОТКЛЮЧЁННОЙ функцией определения тренда
Потом не меня основных настроек включил функцию определения тренда...
прсадка, в обоих случаях почти одинаковая, однако значительно изменилась прибыль и матожидание ....
Тест проводился за период с января 2011 года по сегодняшний день....