Избранное трейдера _sg_
Господа, всех приветствую. Продолжаем изучение mql4. В прошлый раз мы познакомились с «Мастером MQL4», а так же программами и файлами, которые в нём можно создавать и разобрались, чем они друг от друга отличаются и какие задачи выполняют.
Сегодня я расскажу о трёх основных функциях, которые у Вас будут в каждом советнике. Эти функции называются OnInit(), OnDeinit(), OnTick() и являются обработчиками событий: инициализация, деинициализация и новый тик.
Если Вы попробуете создать шаблон советника в «Мастере MQL4», Вам будет предложено добавить и другие имеющиеся обработчики событий, но перечисленные функции являются базовыми, о них Вас даже не будут спрашивать. После получения пустой заготовки для советника, эти 3 функции уже будут в исходнике, после чего Вы можете их наполнить программным кодом.
В этом посте разберёмся, что следует размещать в каждой из функций и когда каждая из них выполняется.
Функция OnInit() выполняется первой, когда торговый терминал посылает событие init (инициализация). А делает он это в следующих ситуациях: запуск советника на графике, смена торгового символа или таймфрейма, перекомпиляция советника в MetaEditor’e, если его копия установлена на графике, изменение входных параметров советника из окна его настроек, а так же при смене счёта.
(Модератор, перенеси в алго плз)
Всем привет,
Допустим, есть система(и не одна, но пока упростим), изначально писавшаяся инструментов обладающих определенными свойствами(трендовость или контртрендовость, например). Тестирование, без глубоких оптимизаций итд, дало хорошие результаты. При этом, тестирование на некоторых других инструментах, очевидно(на глазок :) ) не обладающих этими свойствами, достаточно ожидаемо, дает в лучшем случае околонулевые результаты.
Результаты достаточно постоянны 10-15 лет(таймфрейм не минутки :), но сделок минимум десятки, по каждому инструменту. Часто сотни), так что логически кажется, что изменение свойств этих инструментов на дистанции а) не ожидается б) если и ожидается, то не всех же сразу :)
На первый взгляд кажется, что торговать слишком большую корзину инструментов — это просто раздавать деньги в рынок.
При этом, классики торговых систем, описывающие «как надо», говорят, что мы не знаем наперед, что будет, и торговать надо максимально разнообразную корзину инструментов.
Что думаете ?
Вопрос 2(с теми же входными условиями):
те же системы, все так же, но при тестировании на другом классе инструментов(допустим изначально использовались фьючерсы, а теперь хотим протестить на акциях), мы видим тоже самое: условно говоря 3 группы: акции а) где все шикарно, б) где все средне, может быть даже умеренно позитивно, но с плохой кривой эквити, для отдельной акции(но суммарно — очень достойно), и в) группа где все плохо. достаточно стабильно плохо. Только сложность теперь в том, что мы имеем не(скажем) 30 инструментов, а 2000. Идти по каждому и анализировать — муторно, почти не реально. Можно автоматически выбрать хороших, и(возможно) нормальных, и выкинуть плохих. Возможно, оставить всех, как учит теория. Каким путем идти ?
Если плохих выкидывать, то как часто пересматривать портфель инструментов? А что, если система неплохо работает на разных таймфремах? после какого количества плохих трейдов выкидывать инструмент из корзинки и когда добавлять ?