Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Записки частного Инвестора|Трейдера (forex, акции)" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Работа на FOREX. Практические занятия в виртуальной группе.
Информационный Канал Subscribe.Ru |
Работа на FOREX. Практические занятия в виртуальной группе. 2004-11-13
Адрес сайта рассылки: http://www.forexclass.ru
Доброго времени суток, уважаемые подписчики!
Группа
"Конкурс "Альфа-5" new! Группа "Конкурс "Бета-5" new! Группа "Профессионал" Группа "ПРАКТИКУМ" Группа "ФОРЕКС КЛАСС" |
Группа
"ForexWorld" Группа "Finware Technologies" |
Трейдинг
это как раз тот случай, когда имеет смысл изобрести свой велосипед. //Донской Д.В. |
Строим свою торговую систему. Создаем стратегию (Strategy).
Рекомендуемая литература:
1. "Easy Language
PowerEditor. Руководство пользователя."
2. "Easy Language
PowerEditor. Примеры программирования и использования."
В предыдущем выпуске мы рассмотрели процедуру создания индикатора. Сегодня мы создаем свои сигналы и стратегию.
Стратегия,
в терминах Омеги, это набор правил входа и
выхода и управления объемом, то есть то,
что можно тестировать на истории.
Стратегия создается (build) в EL PowerEditior (Strategy
builder) и применяется на графике в Омеге.
Для создания стратегии
используются "сигналы". Сигналом в
Омеге называется такая процедура, которая
выдает сигналы на открытие и закрытие
позиций. Процедура "сигнала" может
содержать сразу все сигналы, либо только
сигналы на открытие либо только на
закрытие. К примеру стратегия может
использовать для открытия позиций сигналы
на основе пересечения средних, а для
закрытия сигналы на основе параболика -
эти сигналы могут быть описаны в разных
процедурах. Ниже все это рассмотрим
подробнее.
Итак, первое что нам нужно для создания стратегии, это создать процедуру "сигналов". Для начала мы сделаем одну процедуру в которой будут все сигналы: открытие длинных и коротких позиций и их закрытие. Объем позиций будет постоянным.
Прежде чем описать создание процедуры "сигналов" я опишу используемую тактику.
Тактика торговли очень простая: Когда быстрая SMA (simple moving average) пересекает медленную SMA первый раз, мы открываем позицию: если быстрая пересекает медленную снизу вверх, то покупаем, если сверху вниз - продаем Каждое последующее пересечение мы разворачиваемся: если была открыта длинная позиция, то закрываем ее и открываем короткую и наоборот Объем всегда постоянный |
Шаг 1. Запускаем EL PowerEditor.
Шаг 2. Создаем новую процедуру "сигнал" (Signal)
В меню File -> New открывается
диалог изображенный на рисунке 1.
На первой закладке General выбираем Signal, то есть создаем новую процедуру "сигнал". Как видите мы здесь можем выбрать еще много разных процедур из которых Indicator уже знаем что такое - остальное нам предстоит в будущем - просто невообразимые возможности! Итак, выбрали Signal, жмем [ OK ] Указываем имя сигнала и его описание латинскими буквами. Все, процедура Signal создана. |
|
Шаг 3. Описываем нашу тактику.
Хорошим тоном в
программировании считается, если в
начале каждой процедуры идет описание
процедуры и прочие необходимые
комментарии. Будем придерживаться
правил хорошего тона ;) Я назвал свою процедуру "Crosses of 2 SMA. Это означает "Пересечение 2-х простых средних скользящих". Рассмотрим процедуру построчно: |
Строка 1: Inputs: -
после двоеточия через запятую указываются
параметры которые можно будет потом
изменять и оптимизировать. В нашей тактике
мы будем оптимизировать только периоды
средних скользящих: быстрой (Fast) и
медленной (Slow). В скобках, после названия
параметров, указываются значения по
умолчанию.
Inputs - входные параметры.
Строка 2: используя уже известную конструкцию мы проверяем не пересекла ли быстрая МА медленную МА снизу вверх. пересечение снизу вверх записывается как "crosses above".
Строки 3, 4: Если
условие выполнено, то
а) закрываем короткую позицию "ExitShort"
по цене закрытия текущего бара "This Bar at
Close";
б) открываем длинную позицию "Buy("MA Buy")"
по цене открытия следующего бара "Next Bar
at Open";
Строка 5: Здесь мы проверяем не пересекла ли быстрая МА медленную МА сверху вниз "crosses under"
Строки 6 и 7: если пересекла сверху вниз,
то
а) закрываем длинную
позицию "ExitLong" по цене закрытия
текущего бара "This Bar at Close";
б) открываем короткую позицию "Sell("MA
Sell")" по цене открытия следующего
бара "Next Bar at Open";
Общие замечания. Как это работает.
Эта процедура,
выполняются на каждом баре графика 1 раз.
Поясню: омега берет, например бар №100,
проверяет (строка 2) не пересекла ли
быстрая МА медленную МА снизу вверх,
если пересекла, то выполняет строки 3,4.
Далее омега смотрит не пересекла ли
быстрая МА медленную сверху вниз (строка 5),
если пересекла, то выполняет строки 6 и 7.
Понятно, что на одном баре не может
выполняться оба условия одновременно,
поэтому если на баре №100 быстрая МА
пересекла медленную МА снизу вверх, то
омега закроет короткую позицию и откроет
длинную "ExitShort" и "Buy("MA Buy")"
К примеру, цена растет и на барах №101-117
средние скользящие не пересекаются,
поэтому длинная позиция будет сохраняться.
А на баре №118 быстрая МА пересекает
медленную МА сверху вниз (смотрите рисунок
3, отмечено стрелками), тогда омега закроет
длинную позицию и откроет короткую: "ExitLong"
и "Sell("MA Sell")".
Рисунок 3. Стрелками обозначены бары где
наша тактика переворачивает позицию.
Нюанс 1. конечно стратегия работает не с первого бара, несколько первых баров пропускается чтобы иметь возможность подсчитать значения средних скользящих, к примеру, если мы используем средние скользящие с периодами 20 и 40, то стратегия может начать работать только с 41 бара, потому что только на 41 баре начнет вычисляться 40-периодная средняя скользящая.
Нюанс 2. На самом первом пересечении мы еще не имеем открытой позиции, поэтому команда ExitLong или ExitShort не выполнится, но и не вызовет ошибки, просто будет проигнорирована. На всех последующих пересечениях мы будем закрывать предыдущую открытую позицию и открываться в другую сторону.
Оцените как просто и красиво получилось на языке омеги описать тактику работы по пересечениям. Я, конечно специально, как мог, упростил тактику чтобы легче было освоить процесс ее программирования в омеге.
Шаг 4. Проверка процедуры Signal. Прежде чем процедуру использовать ее необходимо проверить на наличие ошибок в тексте. Для этого нажимаем кнопку Verify, точно как мы это делали для индикатора. Надпись "Excelent!" говорит о том что ошибок нет.
Теперь мы имеем сигнал и можем построить стратегию.
Шаг 1. В меню Go -> TradeStation StrategyBuilder либо по кнопке на панели инструментов запускаем "Конструктор стратегии":
В "Конструкторе
стратегии" мы видим список уже
созданных стратегий "Available " и
можем либо исправить уже существующую
(Edit) или создать новую "New...".
Создаем новую "New..." |
Указываем название стратегии
"Name" и краткий комментарий "Notes".
Назовем нашу стратегию "Crosses 2 SMA" Идем [ Далее > ] |
Нажимаем кнопку [ Add ] чтобы выбрать сигналы для стратегии: |
В открывшемся списке сигналов
выбираем наш созданный сигнал "Crosses
of 2 SMA".
Видно, что наша процедура содержит
все типы сигналов: а другие процедуры не все типы. То есть стратегия может быть построена с использованием нескольких процедур Signals. Мы выбираем нашу одну: "Crosses of 2 SMA" |
Идем далее... |
Здесь нам предлагают изменить имена параметров и значения по умолчанию для нашей стратегии. Оставим все как есть: периоды быстрой и медленной МА будут 20 и 40 соответственно. |
Следующие диалоги нужно сделать так:
Вот и все. На кнопке написано "Готово".
Теперь остается применить созданную
стратегию на графике Омеги:
И теперь в Омеге смотрите в меню View -> Strategy Performance Report - результаты тестирования.
Практическое задание к сегодняшнему уроку
Создайте свою стратегию, разместите исходник сигналов и результаты тестирования (Strategy Performance Report) своей стратегии в виде публикации в группе ПРАКТИКУМ. Омега проводит тестирование стратегии автоматически при выборе этого пункта меню View -> Strategy Performance Report.
Пожалуйста в форуме "Изучаем Омегу" задавайте вопросы. А в проекте в группе "ПРАКИКУМ" публикуйте свои исходники (текст сигнала) и графики Equity по результатам тестирования.
В следующем выпуске, завтра, мы будем оптимизировать нашу стратегию и проводить первые исследования.
Конкурсы
трейдеров FOREX. Alfa-5,
Beta-5.
Новые конкурсы, новые правила, новые призы.
Начало
22 ноября. Регистрация продолжается!
Все на сегодня, удачи!
В форуме "Изучаем
психологию трейдинга" - вопросы
психологии трейдинга.
В форуме "Изучаем
технический анализ" - вопросы
технического анализа.
В форуме "Изучаем фундаментальный анализ" - вопросы
фундаментального анализа.
В нашем
форуме специальная ветка "Изучаем
Омегу - инструмент профессионала"
посвящен вопросам работы с омегой.
Если кто-то что-то пропустил, архив рассылки смотрите здесь: Архив рассылки.
До новых выпусков!
Автор рассылки Донской Д.В.
Поиск по архиву рассылки
"Работа на FOREX. Практические занятия в виртуальной группе." |
http://subscribe.ru/
http://subscribe.ru/feedback/ |
Подписан адрес: Код этой рассылки: job.education.000forexclasses |
Отписаться |
В избранное | ||