Я побаловался немного с гроуботом, отрефакторил код, выбросил мусор типа принудительного закрытия старых сделок (я вообще не понимаю зачем это, бот фактически НЕ СЛЕДИТ за ордерами), ненужные параметры, вывел все переменные Power-версии и добавил кое-чего от себя.
Что теперь умеет:
1) рисует красивый статус как у воллстрита
2) динамически рассчитывает лот постоянно, выставляется не уровень риска, а сумма депозита в расчете на 0.01 лота (MM_Scale). По рекомендации Павла там стоит 250.
3) у бота очень странный алгоритм закрытия позиций - он выдает сигналы типа -1, -2, -3, что означает либо закрытие покупок, либо если их нет - открытие продаж, у него НЕТ динамического стоп-лосса, он как бы генерирует опорные точки, и в них происходит выход/вход. При этом, закрывается ПЕРВЫЙ ПОПАВШИЙСЯ ОРДЕР в очереди, вроде бы по логике вещей самый свежий. Функция, выдающая этот сигнал НЕ ЗНАЕТ сколько есть ордеров и есть ли они вообще.
Я добавил вариации - закрывать либо ордер с минимальным профитом первым, либо с максимальным. Что интересно, на результаты это почти что не влияет.
4) открыта переменная WaveTrailing - не совсем понятно что это за режим, но он сильно влияет на точки входа выхода, чуть растет прибыльность, сильно растет просадка.
5) добавил ньюс-фильтр, автозакрытие в пятницу - на результаты торговли влияет, как правило, отрицательно.
6) подумал о введении трейлинга - но боту это действительно мешает, он сравнивает со своей "хотелкой" (сколько лотов бы ему хотелось иметь в деле) и сразу открывает новую сделку, аналогично закрытию руками. Надо как-то по-другому.
В целом, там есть еще что дорабатывать, что-то можно слизать с других советников. Если кому интересно, могу кинуть.
UPD: добавил
UPD: Соврал немного - динамический стоплосс есть - он рассчитывается как параметр StopLoss*размах ближайшей самой большой свечи, но используется только в режиме Assign_PT_ST = true, а в нем бот торгует намного хуже.
Изменено 7 июля, 2017 пользователем Pavel888
