Построение и тестирование системы в Метастоке
Вот прекрасная статья Jim Greening, показывающая, как в MetaStock можно
построить систему . . .
Я хочу поговорить о моей третьей системе для Метастока - 03_Tema PDI - MDI,
ADX (Vol Required). Этот тест базируется на индикаторах системы направлений
Уайлдера (Wilder). Как и в руководстве по Метастоку, Уайлдер говорит, что
сигнал на покупку происходит, когда PDI - MDI движется выше ноля, а
селл-сигнал случается при падении PDI-MDI ниже ноля. Давайте начнем с этого
и немного поэкспериментируем. Уайлдер использует 14-дневный период для
функций PDI и MDI. Так как мне нравятся числа Фибоначчи, я возьму взамен
этого период 13. Кроме того, я люблю сглаживать свои индикаторы, поэтому
буду использовать усреднение Tema. Моя формула PDI - MDI выглядит так:
Tema PDI - MDI
Periods := Input("Enter Tema Smoothing Periods",8,55,13);
Tema(PDI(13) - MDI(13),Periods)

Я начал с идеи, что необходимо оптимизировать значения
пересечения PDI-MDI, при которых поступает сигнал на покупку или продажу.
Это число не будет нолем и не может быть одинаковым для длинных и коротких
позиций. После многих проб, я вывел, что лучше всего в длинную позицию
входить при достижении уровней -1, -3 или -5, а в короткую - -5, -13 или
-21. Это оставило ощущение. что рынок настроен вверх, и уровни, более
близкие к нолю, введут нас в позицию раньше. Наконец, мне хочется каким-то
образом уменьшить число ложных сигналов, и я хочу сделать так. чтобы этот
тест не повторял мои остальные системы.
Для длинной позиции я заметил, что большинство движений наверх начинаются,
когда ADX внизу, а затем на протяжении хода поднимался вверх начал падение в
конце хода. Исходя из этого, я решил, что максимумы и минимумы ADX помогут
уменьшить количество ложных сигналов. Поэкспериментировав, я установил
минимум 8 и максимум 21. Я также заметил. что большинство хороших сигналов
наверх произошли в момент, когда MDI и ADX располагаются близко друг от
друга, так что я решил. что разница между ними должна быть мала. В конце
концов нарисовалась такая формула для сигнала входа в длиную позицию:
Open Long:
Alert(Cross(Fml("Tema PDI -
MDI"),opt1),13) AND
MDI(13) - ADX(13) <= 4 AND
MDI(13) - ADX(13) >= -2 AND
ADX(13) >= 8 AND
ADX(13) <= 21
Для закрытия длинной позиции мне нужно, чтобы PDI-MDI был
меньше, чем opt1. Когда акция начинает падать, MDI начинает расти, поэтому
для закрытия позиции мне нужно, чтобы MDI был больше, чем определенное число.
И наконец, поскольку многие рынки находятся в бычьем тренде, мне нужно,
чтобы развернулась 55-дневная переменная средняя. Таким образом получились
следующие условия:
Close Long:
Fml("Tema PDI - MDI") < opt1 AND
MDI(13) > 21 AND
LLV(Mov(L,55,VAR),5) = LLV(Mov(L,55,VAR),13)
Для открытия короткой позиции мне нужно, чтобы PDI-MDI упал
ниже заранее определенного значения. Кроме того, мне требуется подтверждение
от ADX, которая должна быть достаточно высоко в этот момент:
Open Short:
Alert(Cross(opt2,Fml("Tema PDI -
MDI")),8) AND
ADX(13) > 34
Для закрытия короткой позиции мне нужно лишь, чтобы PDI-MDI
была выше определенного значения. Мне не требуется много подтверждений для
этого действия. (А зря, учитывая нынешние условия - прим. перев.)
Когда рынок смотрит наверх, вам нужно быстро закрывать шорты. Итак:
Close Short:
Fml("Tema PDI - MDI") > 13
Оптимизация:
Opt1: Min = -5 Max = -1 Step = 2
Opt2: Min = -21 Max = -5 Step = 8
