Система 25x25 Бонд
Gary Randal адаптировал систему к Метастоку.
"25 x 25" BOND TRADING SYSTEM
от Charles LeBeau и Terence Tan
Введение
В этой статье мы представим несколько полезных концепций для торговли на
фьючерсных рынках бондов и проиллюстрируем эти концепции системой торговли,
которую мы назвали "25 x 25". Система "25 x 25" - следующая за трендом,
только дпя длинныхпозиций, разработанная для рынка казначейский
обязательств, принесшая гипотетическую прибыль 53,000 $ за последние 10 лет
исторических данных, с точностью 76 %.
Правила системы "25 x 25"
Вначале мы кратко представим правила системы, а затем проработаем и объясним
концепцию и логику некоторых важнейших методов торговли, представленных в
системе:
Чтобы встать в длинную позицию на рынке бондов, должны выполниться три
условия.
1. 14-дневный +DI должен быть выше 14-дневного -DI.
2. 14-дневный ADX должен быть выше 20.
3. 4-дневный RSI должен быть ниже 50.
Если эти три условия выполнены, то покупаем на следующий день только и когда
цена превысит сегодняшнее закрытие на 18 тиков (18/32). Входим ордером buy
stop.
После входа размещаем ордер sell stop по тому из следующих правил, которое
ближе к текущей цене.
1. Стоп ордер на $2,500 ниже точки входа.
2. Или стоп ордер по наименьшей цене за последние 25 дней.
3. Через 25 дней (считая день входа, как день 1), меняем стоп #2 с минимума
за 25 дней на минимум за 2 дня.
4. Не взирая на число дней в сделке, если профит открытой позиции превысил 5
Average True Ranges, стоп выхода переносится под минимум 2 дней. (Внимание:
для расчета ATR используйте 45 дней)
Исторические результаты
Таблица 1 показывает исторические результаты торговли одним контрактом более
чем за 10 лет. Мы игнорировали все ночные сессии, все вычисления основаны на
ценах дневных сессий. Из каждой сделки вычиталось по 100 $, чтобы
смоделировать эффекты комиссионных и проскальзывания. Испытательный период с
1/1/88 до 1/16/98 с набором MaxBarsBack = 50, чтобы получить адекватное
сглаживание при вычислении ADX. (MaxBarsBack - число баров данных,
необходимых, чтобы рассчитать правила системы)
Таблица 1. Система "25 x 25" v.2.0 Результаты (формат TradeStation)
Изначально система создавалась для TradeStation и уже позже была
адаптирована для Метастока.
Total net profit $ 55,112.50 Open position P/L $ 1,875.00
Gross profit $ 64,887.50 Gross loss $-9,775.00
Total # of trades 32 Percent profitable 72%
Number winning trades 23 Number losing trades 9
Largest winning trade $ 5,181.25 Largest losing trade $ -2,600.00
Average winning trade $ 2,821.20 Average losing trade $ -1,086.11
Ratio avg win/avg loss 2.60 Avg trade(win & loss) $ 1,722.27
Max consec. winners 5 Max consec. losers 2
Avg # bars in winners 26 Avg # bars in losers 12
Max intraday drawdown $ -3,381.25
Profit factor 6.64 Max # contracts held 1
Account size required $ 3,381.25 Return on account 1,630%
ПРОШЛЫЕ ДОСТИЖЕНИЯ НЕ ГАРАНТИРУЮТ БУДУЩИХ РЕЗУЛЬТАТОВ.
ГИПОТЕТИЧЕСКИЕ ИЛИ МОДЕЛИРУЕМЫЕ РЕЗУЛЬТАТЫ РАБОТЫ ИМЕЮТ НЕКОТОРЫЕ
ХАРАКТЕРНЫЕ ОГРАНИЧЕНИЯ. В ОТЛИЧИЕ ОТ РЕАЛЬНОЙ РАБОТЫ, МОДЕЛИРУЕМЫЕ
РЕЗУЛЬТАТЫ НЕ ПРЕДСТАВЛЯЮТ ФАКТИЧЕСКУЮ ТОРГОВЛЮ, ТАК КАК СДЕЛКИ НЕ БЫЛИ
ВЫПОЛНЕНЫ В ДЕЙСТВИТЕЛЬНОСТИ, РЕЗУЛЬТАТЫ МОГУТ ПОДВЕРГАТЬСЯ ДЕЙСТВИЮ
НЕКОТОРЫХ РЫНОЧНЫХ ФАКТОРОВ ТИПА НЕДОСТАТОЧНОЙ ЛИКВИДНОСТИ.
Концепция системы
Концепция системы проста. Мы разработали 25 x 25, как трендследящую систему,
которая войдет в uptrend при падении цен. Чтобы сделать это, мы осуществляем
три стратегии для входа. Во первых, есть индикатор тренда для идентификации
бычьего рынка. Во вторых, более краткосрочный индикатор отката, который
идентифицирует небольшое падение при восходящем тренде, который
устанавливает сделку. В третьих, мы имеем точный краткосрочный сигнал входа,
который войдет в сделку, когда uptrend возобновится.
Индикация тренда
Для индикатора тренда мы используем один из наших любимых индикаторов,
Индикатор Направленного Движения (Directional Movement Indicator). Особенно
мы отслеживаем отношение между +DI, -DI и ADX. Эти индикаторы были описаны
Welles Wilder в его книге "New Concepts In Technical Trading Systems".
Для существования тренда нам нужно, чтобы 14-дневный +DI был выше
14-дневного-DI, и чтобы величина ADX была больше 20. Отношение +DI к-DI -
полезный способ определения направления промежуточного тренда; однако это
определение несостоятельно без включения ADX, который фактически измеряет
силу тренда. Трендовые Индикаторы обычно лишь указывают, направлен тренд
вверх или вниз, но не дают точного представления того, как ведет себя рынок.
Как Вы знаете, рынки проводят большую часть времени в боковом движении.
Требуя, чтобы ADX был выше 20, мы эффективно отфильтровываем эти боковые
движения и позволяем нашей системе включаться в периоды относительно
сильного восходящего тренда. Важно понять, что ADX не указывает направление
тренда, а лишь его силу, поэтому мы должны комбинировать ADX с отношением DI.
В качестве общей концепции, это хорошая идея - всегда торговать согласно
направлению промежуточного тренда. Например, с нашим индикатором тренда,
система 25 x 25 сделала 53,000 $ за 10 лет с точностью 76 %, при средней
сделке 1,829 $.
Чтобы оценить воздействие восходящего тренда в торговле, мы устранили
требование к ADX быть выше 20 и полностью изменяли правила системы так,
чтобы для сделки требовалось только, чтобы +DI был ниже -DI, указывая на
нисходящий тренд. Результаты поражают: торговля с теми же сигналами входа но
в течение нисходящего тренда, определенного, как -DI выше +DI, привела к
убытку 781 $ за 10 лет, с ужасной точностью 29 %, средняя сделка -$6, и
просадка 25,000 $!
Мы упоминали значение величины ADX в оценке силы тренда. Чтобы увидеть
воздействие величины ADX, мы перепроверили систему, чтобы посмотреть, как
она сработает, если ADX будет ниже 20 при сохранении требования для +DI быть
выше -DI. Когда ADX - ниже 20 при преобладании восходящего тренда (что
определяется отношением +DI и -DI), система, сделала только 8,900 $, при 47
% точности, и имела среднюю сделку лишь 595 $ при просадке 6,500 $,
существенное ухудшение результатов. Мы заключаем, что комбинация индикатора
тренда с величиной ADX предпочтительна, так как уровень ADX служит, чтобы
отфильтровать периоды поперечных движений.
Индикатор отката
Второй индикатор, который мы приняли - 4-дневный RSI (Индекс Относительной
Силы) который мы используем, чтобы идентифицировать краткосрочное падение
цен в период преобладающего восходящего тренда. Мы используем RSI из-за его
популярности и включения в большинство программ. Wilder описал долгосрочный
RSI, и наш выбор 4-дневного RSI отражает наше намерение идентифицировать
краткосрочные откаты, которые привели бы к сделкам с высокой степенью
вероятности. RSI колеблется между минимальной и максимальной величинами 0 и
100. Когда RSI снижается ниже 50 (середина), мы определяем краткосрочное
снижение на рынке.
Краткосрочное снижение, измеренное 4-дневным RSI, падающим ниже 50, приносит
значительные отличия в торговлю? Чтобы изучить эти отличия, мы провели тест
системы с точно теми же самыми правилами, но устранили 4-дневное правило RSI.
Тест за 10 лет показал прибыль 22,400 $, с точностью 51 %, средняя сделка
440 $, и просадка 9,200 $. Результаты поразительны: устраняя индикатор
отката и входя в рынки в любой точке в течение восходящего тренда, система
делает меньше половины прибыли, сделанной при входах на краткосрочных
откатах. Средняя сделка уменьшилась до 25 % от прежней! (440 $ по сравнению
с 1,800 $). Мы заключили поэтому, что ожидание краткосрочного снижения или
падения цены, при входе в длинную позицию предпочтительно.
Сигнал входа
С +DI,-DI и ADX, определяющими место и краткосрочном откате, измеренном RSI,
мы идентифицировали бычью рыночную ситуацию. Что нам требуется, это очень
краткосрочный индикатор, который введет нас в сделку. По нашему мнению, этот
специфический индикатор наименее важен. Он лишь дает нам войти немного
точнее. Фактически, наши тесты показывают, что Вы можете игнорировать этот
механизм входа, и входить в сделку на открытии следующего дня, как только
появятся установки ADX и RSI, чтобы получить прибыль 49,600 $ за 10 годах и
точность 57 % со средней сделкой 974 $, просадка 6,000 $, и фактор прибыли
2.63!
Но вход на открытии после снижения имеет свои трудности, особенно. если
рынок продолжает падать. На психологическом уровне, многим трейдерам
(включая нас) - более удобно знать, что рынок движется в направлении
торговли перед входом в позицию. Следовательно, логика нашего механизма
входа: подождать, пока рынок окажется на 18 тиков выше закрытия предыдущего
дня прежде, чем мы войдем в сделку. Это существенный подъем, но такой вход
позволяет системе сделать намного более высокий процент (76 % за 10 годах)
побед.
Нет никакой особенной магии в числе 18 для тиков. Фактически, чтобы
проверить устойчивость к ошибкам этого параметра входа, мы провели ряд
тестов, использующих те же самые правила входа, но с разными значениями
механизма входа - от 2 до 36 тиков выше цены закрытия. Результаты
представлены в Таблице 2 ниже.
Наиболее существенный факт оптимизации - в том, что все тесты оказались
прибыльными, что является хорошим индикатором ошибкоустойчивости параметра.
Знаменательно также, что все тесты имеют большие средние сделки, превышающие
1,000 $, и все факторы прибыли - лучше 2.50, а также не было просадок
больших, чем 6,000 $. Вероятно не имеет значения, сколько тиков принять выше
закрытия для точки входа. Как упоминалось ранее, даже слепое вступление
выгодно, судя по историческим данным. Кроме того, мы могли бы торговать
чаще, если бы приняли меньшее движение выше предыдущего закрытия, но это
привело бы к более низкому проценту выигрышей. Например, мы можем выбрать
меньший ход - на 8 тиков выше закрытия и получить прибыль 52,500 $ при
большем количестве сделок (40), но с меньшей точностью. (68 %) и чуть более
высокой просадкой (5,600 $).
Таблица 2. Результаты оптимизации параметра входа
Ticks Net Profit Avg Trde PFact MaxDD #Trds %Prft
2.00 54712.50 1189.40 2.93 -5168.75 46 61
4.00 54087.50 1175.82 2.95 -4825.00 46 59
6.00 48475.00 1101.70 2.66 -5606.25 44 61
8.00 52562.50 1314.06 3.39 -5668.75 40 68
10.00 48575.00 1278.29 3.39 -5731.25 38 68
12.00 49300.00 1332.43 3.72 -5793.75 37 70
14.00 51375.00 1467.86 4.69 -3881.25 35 71
16.00 48837.50 1575.40 5.40 -4256.25 31 71
18.00 53068.75 1829.96 7.17 -3381.25 29 76
20.00 46100.00 1589.66 5.01 -4037.50 29 72
22.00 46700.00 2030.43 7.64 -4100.00 23 78
24.00 46362.50 2107.39 8.66 -4131.25 22 82
26.00 39306.25 1871.73 6.11 -4193.75 21 76
28.00 30787.50 1620.39 4.71 -4256.25 19 68
30.00 15343.75 1022.92 2.52 -4318.75 15 60
32.00 17637.50 1356.73 3.05 -4381.25 13 62
34.00 16400.00 1490.91 3.02 -4443.75 11 64
36.00 12281.25 1228.13 2.50 -4506.25 10 60
Тестирование техники входа
Часто, когда мы хотим отдельно изучить эффективность техники входа, мы
делаем тесты оптимизации с выходом просто на закрытии X-го дня в будущем.
Это часто дает хороший признак потенциала прибыльности любой техники входа.
Процент выигрышных сделок - хороший признак эффективности техники входа.
Таблица 3 ниже представляет результаты техники входа, описанной выше, с
выходом на закрытии X-го дня после входа. Эти тесты не подразумевают
никакого управления капиталом и никаких других стратегий управления рисками.
Заметьте, что все выходы оказались прибыльными, кроме выхода на первом
закрытии, которое обозначает закрытие дня входа. Вы, конечно, не захотите
быть дейтрейдером с этой техникой, следующей за трендом! Обратите внимание
на высокий процент точности - от 85 до 90 %, когда позиция удерживается 20
дней или больше. Например, если бы Вы вышли из каждой сделки на 22-ом
закрытии, Вы сделали бы 54,800 $ с точностью 91 % и просадкой меньше 5,500 $!
И это сделано без какого-либо стопа! Мы можем заключить, что эта техника
входа предсказывает возобновление тренда, который длится от 20 до 25 дней, с
точностью от 85 до 90 процентов,
Таблица 3. Результаты тестирования техники входа с выходом на закрытии X-го
дня в будущем.
X NetPrft AvgTrd PFact MaxDD #Trds %Prft
1.00 -412.50 -5.81 .96 -3900.00 71 45
2.00 2506.25 36.32 1.15 -4243.75 69 51
3.00 3231.25 51.29 1.18 -5493.75 63 52
4.00 9562.50 173.86 1.75 -4781.25 55 64
5.00 14925.00 287.02 2.30 -4043.75 52 63
6.00 21343.75 426.88 3.21 -3518.75 50 66
7.00 24650.00 535.87 3.05 -4056.25 46 65
8.00 31350.00 712.50 3.77 -3650.00 44 73
9.00 22481.25 522.82 2.73 -4212.50 43 60
10.00 21325.00 495.93 2.49 -5337.50 43 58
11.00 21418.75 498.11 2.51 -6431.25 43 63
12.00 27868.75 679.73 3.34 -4687.50 41 66
13.00 24187.50 604.69 2.73 -6081.25 40 63
14.00 19731.25 519.24 2.04 -7181.25 38 58
15.00 20768.75 561.32 2.11 -7393.75 37 70
16.00 25737.50 695.61 2.58 -7050.00 37 68
17.00 37000.00 1057.14 4.49 -5468.75 35 71
18.00 40631.25 1195.04 4.75 -5468.75 34 74
19.00 46162.50 1357.72 6.23 -5468.75 34 79
20.00 52793.75 1599.81 7.52 -5468.75 33 85
21.00 57168.75 1732.39 8.29 -5468.75 33 85
22.00 54862.50 1714.45 7.92 -5468.75 32 91
23.00 56618.75 1826.41 9.00 -5468.75 31 90
24.00 53318.75 1838.58 8.27 -5468.75 29 90
25.00 56168.75 2006.03 7.45 -5468.75 28 86
26.00 54075.00 1931.25 6.01 -5468.75 28 79
27.00 52325.00 1868.75 6.45 -5468.75 28 79
28.00 51043.75 1822.99 6.83 -5468.75 28 75
29.00 47893.75 1773.84 5.92 -5468.75 27 78
30.00 47581.25 1762.27 6.38 -5468.75 27 78
Техники выхода
Для выходов мы применяем стоп управления капиталом на 2,500 $, которая
пытается ограничивать максимально возможный убыток любой сделки. Мы всегда
наиболее комфортно чувствуем себя со стопами, которые ограничивают
максимальный убыток, хотя мы понимаем, что эта защита может быть условной,
если рынок внезапно совершил гэп против позиции. В этой системе мы выбрали
2,500 $. Это - большой стоп, он лишь один раз сработал за последние 10 лет.
Несмотря на то, что этот стоп редко срабатывает, мы полагаем, что он
обязателен. Мы рекомендуем применять долларовые стопы во всех системах для
защиты от катастрофических убытков.
Вторая стратегия выхода - обычная: выход по низу канала. В данном случае мы
выбрали минимум за последние 25 дней. Опять таки, точное число дней,
вероятно, несущественно; концепция перемещения стопа по нижней точке рынка
очень популярна и успешно использовалась техниками в течение долгого
времени.
Если мы просто установили долларовый стоп на 2,500 $ и 25-дневный минимум
для выхода, система делает 43,000 $ за 10 лет торговли при 18 сделках.
Средняя продолжительность выигрышных сделок - 67, что является относительно
длительным периодом, а средняя продолжительность убыточных - 14, показывая,
что трейлинг выход эффективно сокращает потери и позволяет расти прибыли.
Система - 67 % точности и имеет огромную среднюю сделку 2,400 $. Отношение
среднего выигрыша к убытку при этом выходе - 3.78.
В то время как этот вариант системы выгоден и торгуем, он имеет некоторые
неудобства: Во-первых, он держит сделки в течение очень длительного периода.
Чтобы взять прибыль, трейдер был бы должен удерживать позицию в среднем 67
дней. Это в психологическом отношении не для всех. Но во-вторых, и даже
хуже, выход здесь неэффективен, он часто упускает большое количество
открытой прибыли, так как он всегда требует, чтобы рынок упал до 25-дневного
минимума, прежде чем подать сигнал выхода. Мы часто видели, что сделки
теряют треть, половину, или даже всю уже полученную прибыль перед
срабатыванием стопа.
Простое "удвоение" стратегии выхода позволяет нам уменьшить число дней
средней продолжительности сделки, увеличить общую прибыль, увеличить
точность до 72 %, и торговать чаще. Техника такова: мы терпеливо подождем,
пока позиция разовьется до определенного числа дней, используя обычные
долларовый и минимальный стопы, а затем переключимся на более плотный стоп,
чтобы произвести быстрый выход. Определенно, мы установим 25-дневный стоп по
минимуму в течение первых 25 дней сделки (будем считать день входа как день
1), а в 26-ой день, мы сменим технику выхода на намного более близкий стоп
до последних 2 дней. Этот переход, очевидно, вызовет более чувствительный
выход, но все еще позволить нам сохранять позицию на быстро двигающемся
рынке.
Мы должны также помнить, что наша цель в торговле непосредственно связана с
размером прибыли а не со средним периодом сделки. Длительные позиции могут
быть лучшим выбором в большинстве случаев, но не всегда. Для тех случаев,
когда нам посчастливилось получить большую прибыль меньше чем за 25 дней, мы
хотим поднять наш стоп, чтобы защитить эту прибыль независимо от того, как
долго мы были в торговле. Мы определили большую прибыль, как 5 или больше
средних истинных диапазонов (average true ranges). Как только наша открытая
прибыль достигает этого уровня, мы осуществим наш 2-дневный стоп независимо
от числа дней в сделке.
Заключение
Здесь были представлены несколько выгодных концепций торговли бондами,
которые, как мы верим, могут быть одинаково применимы и на других рынках.
Например, мы наблюдали, что незначительные разновидности этой системы хорошо
работают по данным, к примеру, швейцарского франка. Мы показали воздействие
сильного тренда на выигрышные сделки и рекомендуем входить в позицию только,
когда тренд ясно выражен. Несмотря на сильный тренд мы также показали, что
выгоднее подождать отката цены, чтобы определить точку входа высокой
вероятности. Также мы показали, как простая адаптация старой техники выхода
может увеличить доходность и точность, при сокращении средней длительности
сделки.
Мы надеемся, что эта система, также, как и все наши системы, будет выгодна и
в будущем.
******************************************************************
Применение системы в Метастоке
Система 25x25 входит в сделки и выходит из них по внутридневным ценам. Чтобы
создать ее в Метастоке, необходимо создать несколько индикаторов, чтобы
отслеживать внутридневные входы и выходы. И хотя это звучит достаточно
просто, MetaStock не предусматривает такие процедуры, которые очень
упростили бы задачу.
Основной индикатор - "25x25 LongEntry" который возвращает цену входа в
сделку для каждого дня. Нулевое значение указывает на отсутствие позиций.
День выхода индицируется отрицательной ценой входа. Таким образом, значение,
возвращенное fml (" 25x25 LongEntry ") сообщает Вам позицию, цену входа, и
может использоваться, чтобы вычислить открытую прибыль сделки и дни в
торговле. Этот индикатор - сердце системы. Он должен быть тщательно изучен,
чтобы понять, как он решает, когда войти в торговлю, продолжить ли ее или
выйти. Все другие индикаторы зависят от него.
Следующий индикатор - " 25x25 LongExit " который возвращает цену выхода,
когда " 25x25 LongEntry " возвращает отрицательную величину. Он просто
повторно вычисляет значение стопа выхода, которое вызвало отрицательную
величину " 25x25 LongEntry ". Результат используется только, чтобы
определить конечную прибыль сделки. Эти два индикатора могут показаться
избыточными для системы 25x25, но техника учитывает более сложные системы,
которые могут останавливать и полностью разворачиваться на внутридневных
ценах. Построением соответствующих индикаторов "ShortEntry" и "ShortExit"
может быть смоделирована почти любая система.
Третий индикатор, " 25x25 TP ", возвращает позицию торговли и все другие
переменные, необходимые MetaStock Эксперту. Эксперт позволяет системе
торговать без необходимости рисовать индикаторы.
Так как System Tester МетаСтока не работает с внутридневными ценами, он не
может проверить работу 25x25. Индикатор "25x25 Equity" позволяет трейдеру
нарисовать кривую доходности, но, к сожалению, не может быть составлен
рапорт "сделка за сделкой" . Этот индикатор не требуется системой и
используется только при тестировании.
Индикатор "25x25 Stop" - еще один индикатор, не требуемый системой, но
который является очень полезным в отслеживании величины стопа. В отличие от
других индикаторов, которые должны быть начерчены в отдельных окнах, " 25x25
Stop" должен рисоваться непосредственно на графике цены.
*********************************************************************************
Коды системы
{Chuck Le Beau's System Trader's Club}
{ http://traderclub.com }
{ mailto:chuck@traderclub.com }
"25 x 25" Bond System
25X25 LongEntry
{Returns long trade entry price. }
{A non-zero number if in a long trade. }
{A negative value if the last day of a trade. }
{Note: Modifications to MetaStock indicators }
{were req'd to simulate TradeStation results }
{ RSI: rounded to two decimal places }
{ ATR: Wilder's smoothing removed }
{Variables to avoid duplicate function calls }
PLLV2 := Ref(LLV(L,2),-1);
PLLV25 := Ref(LLV(L,25),-1);
{ Was yesterday a setup day? }
IsSetUp :=
Cum(1) > 50 AND
Ref(PDI(14),-1) > Ref(MDI(14),-1) AND
Ref(ADX(14),-1) > 20 AND
PREC(Ref(RSI(4),-1)+.005,2) < 50;
{Determine initial entry price condition}
EntryPriceCond := Ref(C,-1) + 0.5625;
{Adjust it to enter on open if open is greater}
EntryPriceCond :=
If(O > EntryPriceCond, O, EntryPriceCond);
{Return entry price, zero if no trade. }
If(PREV <= 0,
{Not in a long trade}
If(IsSetUp AND H >= EntryPriceCond,
{Trade entered today, was it stopped?}
If(L <= PLLV25 OR
L <= EntryPriceCond - 2.5,
-EntryPriceCond, {Yes}
EntryPriceCond {No}
),
{Not in trade and not entered today}
0
),
{Have been in trade for over one day. }
{Was it stopped today? }
{Note: BarsSince() gives days in trade }
If(L <= PREV - 2.5, - PREV,
If(BarsSince(PREV=0) > 24,
{More than 24 days in trade}
If(L <= PLLV2, -PREV, PREV),
{Less than 25 days in trade}
If(L <= PLLV25, -PREV,
If(Ref(C,-1) - PREV >
5*Ref(Mov(ATR(1),45,S),-1),
If(L <= PLLV2, -PREV, PREV),
PREV
)
)
)
)
);
25x25 LongExit
{Returns exit price if last day of long trade}
EntryPrice := Fml("25x25 LongEntry");
ExitingTrade := EntryPrice < 0;
EntryPrice := Abs(EntryPrice);
{Variables to avoid duplicate function calls }
{Lowest low of previous two days }
PLLV2 := Ref(LLV(L,2),-1);
{Lowest low of previous 25 days }
PLLV25 := Ref(LLV(L,25),-1);
TradeDays := If(EntryPrice > 0,
BarsSince(Fml("25x25 LongEntry") = 0), 0);
{ Determine type of stop(s) }
Stop1 :=
ExitingTrade AND TradeDays>24 AND L<=PLLV2;
Stop2 :=
ExitingTrade AND TradeDays>0 AND TradeDays<=24 AND L<=PLLV25;
Stop3 :=
ExitingTrade AND L <= EntryPrice - 2.5;
Stop4 :=
ExitingTrade AND Ref(C,-1) - EntryPrice > 5*Ref(Mov(ATR(1),45,S),-1) AND L
<= PLLV2;
{ Determine prices for activated stops }
Stop1Price :=
If(Stop1, Min(O, PLLV2), 0);
Stop2Price :=
If(Stop2, Min(O, PLLV25), 0);
Stop3Price :=
If(Stop3, Min(O, EntryPrice - 2.5), 0);
Stop4Price :=
If(Stop4, Min(O, PLLV2), 0);
{ Assume best stop price stopped the trade }
StopPrice :=
Max(Stop1Price,Max(Stop2Price,
Max(Stop3Price,Stop4Price)));
If(ExitingTrade, StopPrice, 0);
25x25 TP
{ Calculate today's trade position and other }
{ values used by the expert. }
{ LE = LongEntryPrice from indicator }
{ SULE = Tommorow's LongEntry if setup day }
{ SULS = Tommorow's LongStop if setup day }
{ TP = TradePosition +1,0 }
{ TLS = Tomorrow's LongStop if in trade }
{ PRFT = Trade Profit }
{ RISK = Tommorow's theoretical capital risk }
LE := Fml("25x25 LongEntry");
TP := If(LE <> 0, +1, 0);
PRFT := If(LE = 0, 0,
If(LE > 0, C - LE,
Fml("25x25 LongExit") + LE));
TradeDays := If(LE <> 0,
BarsSince(Fml("25x25 LongEntry") = 0), 0);
{Calculate tomorrow's entry prices }
SULE :=
If(TP = 0,
If(PDI(14) > MDI(14) AND ADX(14) > 20 AND
PREC(RSI(4)+.005,2) < 50,
C + .5625, 0), 0);
{Calculate initial stop price}
SULS :=
If(SULE <> 0, Max(LLV(L,25), SULE-2.5), 0);
{Calculate tomorrow's stops }
S1 := If(LE > 0,
If(TradeDays >= 24,
LLV(L,2),
LLV(L,25)), 0);
S2 := If(LE > 0, LE - 2.5, 0);
S3 := If(LE > 0 AND
PRFT >= 5*Ref(Mov(ATR(1),45,S),-1),
LLV(L,2), 0);
{Tomorrow's Long Stop}
TLS := Max(S1, Max(S2, S3));
PRFT := PRFT * 1000;
RISK :=
If(LE > 0, (LE-TLS)*1000,
If(SULE <> 0, (SULE-SULS)*1000, 0));
TP;
ПРОШЛЫЕ ДОСТИЖЕНИЯ НЕ ГАРАНТИРУЮТ БУДУЩИХ РЕЗУЛЬТАТОВ.
ГИПОТЕТИЧЕСКИЕ ИЛИ МОДЕЛИРУЕМЫЕ РЕЗУЛЬТАТЫ РАБОТЫ ИМЕЮТ НЕКОТОРЫЕ
ХАРАКТЕРНЫЕ ОГРАНИЧЕНИЯ. В ОТЛИЧИЕ ОТ РЕАЛЬНОЙ РАБОТЫ, МОДЕЛИРУЕМЫЕ
РЕЗУЛЬТАТЫ НЕ ПРЕДСТАВЛЯЮТ ФАКТИЧЕСКУЮ ТОРГОВЛЮ, ТАК КАК СДЕЛКИ НЕ БЫЛИ
ВЫПОЛНЕНЫ В ДЕЙСТВИТЕЛЬНОСТИ, РЕЗУЛЬТАТЫ МОГУТ ПОДВЕРГАТЬСЯ ДЕЙСТВИЮ
НЕКОТОРЫХ РЫНОЧНЫХ ФАКТОРОВ ТИПА НЕДОСТАТОЧНОЙ ЛИКВИДНОСТИ.