Здравствуйте, гость ( Вход | Регистрация )

IPB

 Обучение  трейдингу БЕСПЛАТНО!      Общение С БОНУСАМИ !!!    Подробности здесь

 Регистрация на форуме отдельная от сайта и ручная! Обращаться через КОНТАКТЫ

 
Ответить в данную темуНачать новую тему
> Системостроительство, Формальные правила, разбор примеров, полезные советы из личного опыта
BQQ
сообщение 3.4.2008, 11:38
Сообщение #1


Мимо проходил
*

Группа: Пользователи 
Сообщений: 47
Регистрация: 29.11.2007
Пользователь №: 223

Заработано
Штрафы
Выплачено
К оплате
:
:
:
:
€1.449
€0
€0
€1.449



Торговая система (в Омеге их называют "стратегия") собирается из отдельных сигналов.
Сигнал - результат программирования на языке Easy торговых правил.
Именно наличие этого промежуточного слоя сигналов позволяет построить основанную на классических идеях торговую систему вообще без программирования, так как стандартный комплект поставки содержит большое число (порядка сотни) предопределенных сигналов.

Наличие этого промежуточного слоя позволяет также при исследовании торговой системы сравнительно просто варьировать её торговые правила, просто заменяя одни сигналы другими.
Для сигналов на вход это малооправданная практика, так как сигнал на вход соответствует торговой идее, на которой основана ТС. А для выхода трендследящие системы часто применяют трейлинг-стоп. Можно не ограничиваться сменой значений параметров, а менять логику трейлинга путем смены сигнала. Комбинировать в одной стратегии можно любое число сигналов.
Комбинирование в одной стратегии нескольких сигналов на вход и нескольких на выход позволяет исследовать вопрос диверсификации по торговым системам. Но это уже - высший пилотаж.

Если строго следовать правилу отказа от программирования, то приходится обходиться сигналами из стандартного комплекта поставки Омеги.
Набор стандартных сигналов достаточно богат, но следует отметить, что изначально Омега была разработана для фондового рынка, поэтому каждый стандартный сигнал на вход в сделку существует там в двух видах: для входа в лонг и для входа в шорт.
Лично я для себя постепенно их объединяю в двунаправленные сигналы, так как считаю раздельную оптимизацию по параметрам входа в лонг и в шорт делом на форексе вредным.
============
Первый пост немного пустоватый (хотелось ветку зачать, чтобы не засорять сетку "Программирование..."), следующий будет разбором примера.
Перейти в начало страницы
 
+Цитировать сообщение
VladMih
сообщение 3.4.2008, 11:58
Сообщение #2


Михалыч
Иконка группы

Группа: Админ 
Сообщений: 31.511
Регистрация: 7.9.2007
Из: РБ, Гродно
Пользователь №: 2

Заработано
Штрафы
Выплачено
К оплате
:
:
:
:
€2713.432
€0
€133
€2563.335



Цитата(BQQ @ 3.4.2008, 9:38) *
1. Комбинирование в одной стратегии нескольких сигналов на вход и нескольких на выход позволяет исследовать вопрос диверсификации по торговым системам. Но это уже - высший пилотаж.
2. Если строго следовать правилу отказа от программирования, то приходится обходиться сигналами из стандартного комплекта поставки Омеги.
3. ...стандартный сигнал на вход в сделку существует там в двух видах: для входа в лонг и для входа в шорт.
Лично я для себя постепенно их объединяю в двунаправленные сигналы, так как считаю раздельную оптимизацию по параметрам входа в лонг и в шорт делом на форексе вредным.

1. Высший пилотаж в каком смысле?
а) техническая сложность скомбинировать в Омеге? (плохо)
б) трейдерская сложность в "сочинении" таких комбинаций? (переживём ab.gif )
2. Есть ли возможность, освоив азы, просто слегка "подправлять" стандартные?
Или они, как базовые индикаторы в МТ, не редактируются?
3. ИМХО входы в лонг и шорт по многим стратегиям разные, в т.ч. и на форексе, особенно если они с применением осцилляторов.
С пробойно-отбойными ТС проще, а вот осцилляторы верх и низ в трендах и на откатах показывают по-разному.
Перейти в начало страницы
 
+Цитировать сообщение
BQQ
сообщение 4.4.2008, 8:37
Сообщение #3


Мимо проходил
*

Группа: Пользователи 
Сообщений: 47
Регистрация: 29.11.2007
Пользователь №: 223

Заработано
Штрафы
Выплачено
К оплате
:
:
:
:
€1.449
€0
€0
€1.449



Цитата(VladMih @ 3.4.2008, 12:58) *
1. Высший пилотаж в каком смысле?
а) техническая сложность скомбинировать в Омеге? (плохо)
б) трейдерская сложность в "сочинении" таких комбинаций? (переживём ab.gif )
2. Есть ли возможность, освоив азы, просто слегка "подправлять" стандартные?
Или они, как базовые индикаторы в МТ, не редактируются?
3. ИМХО входы в лонг и шорт по многим стратегиям разные, в т.ч. и на форексе, особенно если они с применением осцилляторов.
С пробойно-отбойными ТС проще, а вот осцилляторы верх и низ в трендах и на откатах показывают по-разному.


1. Высший пилотаж в нескольких смыслах:
- если есть сигналы для двух некоторых стратегий, то при комбинировании их в объемлющую стратегию надо чуть-чуть подписать в текст сигналов малые добавки. Сверхстрашного тут нет, надо просто разобраться подетальнее, как именно Омеговский тестер отрабатывает ситуацию, когда на одном баре встречаются несколько сигналов;
- диверсификация - обычно не для депозитов начинающих;

Быть может, я преувеличил, и это всего лишь "средний пилотаж".
Отдельно отмечу очень полезную возможность Омеги экспортировать детальный отчет тестирования стратегии в файл Эксела. Я при попытках обследовать последствия одновременного применения двух стратегий не заморачиваюсь написанием объемлющей. а анализирую экспортированные в Эксел два отчета.

2. Практически все встроенные функции доступны в исходниках. Исключения есть, но они редки и обычно относятся к малополезному ИМХО жанру толкований показаний индикаторов (функции ExpertCommentary...)

3. За замечание спасибо, присмотрюсь. Мне раньше казалось, что лонг и шорт на форексе симметричны.
============
ВладМих, так как вы пока единственный читатель (активный), то задаю вопрос: какой пример лучше разобрать первым - реализация какой-либо классической стратегии на встроенных сигналах или пример построения стратегии на очевидно разумной идее от нуля с программированием сигнала?
Перейти в начало страницы
 
+Цитировать сообщение
VladMih
сообщение 4.4.2008, 9:42
Сообщение #4


Михалыч
Иконка группы

Группа: Админ 
Сообщений: 31.511
Регистрация: 7.9.2007
Из: РБ, Гродно
Пользователь №: 2

Заработано
Штрафы
Выплачено
К оплате
:
:
:
:
€2713.432
€0
€133
€2563.335



Цитата(BQQ @ 4.4.2008, 7:37) *
какой пример лучше разобрать первым - реализация какой-либо классической стратегии на встроенных сигналах или пример построения стратегии на очевидно разумной идее от нуля с программированием сигнала?
Любой, лишь бы побыстрей! ag.gif Если серьёзно, то по порядку лучше, конечно.
Будем ориентироваться на самых тормознутых (как я bm.gif).
Начнём с классической на встроенных. Хорошо бы на Stochastic-е.... ad.gif
Впрочем - лишь бы интересное было. Новое тоже лишним не будет.


--------------------
МикроFAQ (версия 10.11.2018 - добавлен мой партнерский ID)
Объявлен тендер на покупку моей подписи за eWM. См. ЗДЕСЬ.
Привет, Гость!
Зарегистрируйтесь и вам будет намного удобней!
Ваша первая ссылка (с полезными ссылками).
Очень рекомендую раздел сайта "О нас" - он снимет много вопросов.
Поиск Гуглом по сайту и форуму - используйте ДО того, как задать вопрос или открыть тему.
Хотите общаться в открытых форумах?
Вы уже стали "Пользователем"? Добро пожаловать! Вы можете неограниченно общаться в любом из верхних разделов по обычным для всех форумов правилам. При этом вы будете получать бонусы за посты даже в разделах флейма!

Единственное, что вам нужно будет учесть, смотрите ЗДЕСЬ.

Возможно вас заинтересуют Отзывы новичков о прохождении проб по методу Сперандео,
примерно так проходит и обучение на Подготовительном Отделении Школы.
Хотите поступить в Школу?
Построение трендовых Сперандео НА ФОРУМЕ и НА САЙТЕ (с видео)
Сопутствующие статьи: Индикатор ZigZag | Фильтры разметок

Правила Проб | Зачёт | Пробы-2013 | Пробы 2014 :)
Поздравляю с зачислением на ПО! (ссылки работают только для зачисленных)
1. Страницы сайта, темы и посты ПО, которые нужно прочитать в первую очередь.
2. Другие важные ссылки
Красота спасёт трейдера! © VladMih | От лёгкого ученья тяжело в бою! © НеСуворов
Бекап старой подписи (не обращать внимания) :)
Перейти в начало страницы
 
+Цитировать сообщение
BQQ
сообщение 7.4.2008, 11:23
Сообщение #5


Мимо проходил
*

Группа: Пользователи 
Сообщений: 47
Регистрация: 29.11.2007
Пользователь №: 223

Заработано
Штрафы
Выплачено
К оплате
:
:
:
:
€1.449
€0
€0
€1.449



"Вы хочете стохастика - их есть у меня"

Разберем входящую в стандартный комплект поставки стратегию с именем Stochastic Crossover.
Пусть у нас работают Жлобальный Сервер и собственно Омега.
====================
Первая наша задача - понять, как устроена эта стратегия.
Запустим (пункт меню Go Омеги или ГлобСервера) приложение TradeStation StrategyBuilder, в списке стратегий (по алфавиту) найдем и выделим Stochastic Crossover, после чего нажмем кнопку справа Edit.

Откроется окно с пятью закладками. По порядку:
General. Кроме тривиальных имени стратегии и примечания к имени тут задается важный параметр - максимальное число баров назад, которые требуются стратегии для работы. Например, если в стратегии есть простая средняя на 22 бара, то требуется по меньшей мере 22 бара назад для того, чтобы стратегия смогла работать.
Важность этого параметра в том, что при его неправильном задании вы можете потерять много времени при оптимизации, так как сообщение об ошибке выработается только при фактическом запросе бара вне указанных пределов, а все промежуточные результаты будут потеряны.
Signals. самая интересная закладка. Здесь задаются сигналы, применяемые в стратегии, и порядок их применения. Порядок регулируется кнопками Move Up, Move Down. Птички около сигналов показывают, какие решения принимает этот сигнал. В рассматриваемую стратегию входят сигнал Stochastic Bull Crossover (в виде сокращения Crss), генерирующий вход в лонг, и сигнал Trailing Stop LХ, генерирующий выход из лонга.
К моему удивлению, встроенного сигнала с выразительным именем StopLoss в этом списке нет... ag.gif
Inputs. Закладка задает значения параметров используемых сигналов. По умолчанию имя параметра конструируется из имени сигнала и имени параметра внутри сигнала. В данном случае имя параметра Stochastic_Length построено по правилам, а имя параметра OverSold_Level - нет. Кнопка Reset устанавливает параметру значение по умолчанию (то, которое прописано в тексте сигнала на Изи). Действие кнопки Combine достаточно сложно и в этом посте не рассматривается (тем более, что в данной конкретной стратегии применение этой кнопки бесмысленно).
Pyramiding - разрешает/запрещает повторный вход. обращу внимание на то, что разрешение на повторный вход может быть частичным: разрешается открытие сделки в том же направлении, что и уже открытая, но по другому сигналу.
Position. Устанавливает максимальные значения открытых лотов и разрешенных входов. Значения по умолчанию установлены с большим запасом - не трогайте.

Так как наша задача - не изменить стратегию. а сперва понять, как она устроена, мы ничего менять не будем. полезная информация для нас - имена сигналов на вход и на выход.
Теперь мы закрываем TradeStation StrategyBuilder и запускаем (пункт меню Go Омеги или ГлобСервера) EasyLanguage Power editor.
В редакторе открываем сигнал Stochastic Bull Crss (внимание, открываем именно сигнал, выбор типа открываемой программы - списком Select Analysis type вверху окна) и смотрим текст в попытке уловить торговую идею автора.

На всякий случай привожу текст.
Код
{*************************************************
******************
Description    : Stochastic Crossover Long Entry
Provided By    : Omega Research, Inc. (c) Copyright 1999
**************************************************
******************}

Inputs: Length(14), OverSold(30);
Variables: KLine(0), DLine(0);

KLine = SlowKCustom(High, Low, Close, Length);
DLine = SlowDCustom(High, Low, Close, Length);

If KLine Crosses Above DLine AND KLine < OverSold AND DLine < OverSold Then
    Buy ("Stch") This Bar on Close;


Из текста такого размера уловить идею можно.
Сигнал имеет внешние переменные (параметры) Length и OverSold.
Внутренние переменные KLine и DLine хранят вычисленные функциями SlowKCustom и SlowDCustom значения главной и сигнальной линий стохастика.
Решающая часть сигнала ищет ситуации, когда главная линия пересекает сигнальную, при этом обе они ниже уровня OverSold. При нахождении такой ситуации сигнал покупает по цене закрытия бара. Это - единственный вход рассматриваемой стратегии (и только в лонг!)

Аналогично смотрим сигнал Trailing Stop LХ.
Код
{*************************************************
******************
Description    : Trailing Stop Long Exit
Provided By    : Omega Research, Inc. (c) Copyright 1999
**************************************************
******************}

Inputs: Length(3), ShowText(False);
Variables: OrderPrice(0), StopText(0);

OrderPrice = LowestFC(Low, Length);

ExitLong ("Trl") Next Bar at OrderPrice  Stop;

If ShowText AND LastBarOnChart Then
    StopText = ShowLongStop(OrderPrice);


Сигнал имеет один содержательный параметр Length.
Из его текста видим, что сигнал вычисляет наименьший лоу за Length баров назад функцией LowestFC(Low, Length) и устанавливает на следующий бар ордер по этой цене.
Замечание:Рассеяно недоумение по поводу отсутствия стопа: так устроенный трейлинг исполняет и функции стопа, так как при старте сделки устанавливается на минимум из нескольких последних лоу.
Важное замечание: в этом месте я испытывал трудности при переключении мозгов между программированием на Изи и МКЛ. Дело в том, что ордер, установленный советником на МКЛ действителен до отмены или до исполнения. А на Изи ордер, установленный в тексте сигнала, действует только один бар! На следующем баре сигнал принимает следующее решение.
Констатируем, что мы поняли торговую логику стратегии.
=================
Следующая задача - тестирование стратегии.
Работа трейдера в Омеге организована посредством объектов WorkSpace и Chart. WorkSpace - аналог профиля в МТ. Он содержит несколько Chart.
Chart - аналог графика в МТ, но более сложно устроенный. Один Chart может содержать графики нескольких торгуемых валют (обычно или одна валюта и несколько таймфреймов или один таймфрейм и несколько валют). Для этой стратегии нам нужен простой Chart с всего одной валютой и одним таймфреймом.

Создаем новый Chart в каком-либо WorkSpace.
Разумно организовывать WorkSpace либо по принципу одна валюта - один WorkSpace, либо по принципу - одна торговая идея - один WorkSpace. Я держу разные WorkSpace для исследования пробойных, трендовых и шумовых торговых идей.

Изучаемая стратегия трендовая и только лонг. Поэтому, предвкушая хороший результат, откроем на нашем чарте Евро-дневки. После этого поставим на чарт (правой кнопкой мыши или грячей клавишей F7) стратегию.
Чарт приобретет примерно такой вид.
Прикрепленный файл  STOCHBULL.JPG ( 97.3 килобайт ) Кол-во скачиваний: 223

Буквы Stch и Trl рядом со стрелочками входа и выхода показывают имена сигнала, котрый сделал это действие. Вы найдете эти буквы в Изи-тексте сигналов в операторах ExitLong и Buy.

Для лучшего понимания можно одновременно установить индикатор, но надо не запутаться в стохастиках - в Омеге их три штуки. Для незапутывания надо изучить по Изи-тексту индикаторов, какой из индикаторов использует те же функции , что и наш сигнал.
=====================
Разглядывание отчета тестера стратегий.
В Омеге жмём меню View-> Strategy Performance Report
Открывается отчет тестера с 11 (!) закладками.
Главная закладка первая - Summary.
На этой закладке все слова, в общем, понятны.
Детальный анализ отчета - не в этом посте, просто отчет очень подробный.

Полезная возможность Омеги - экспорт отчета (кроме графиков) в виде файла Excel. Я экспортировал отчет, но движок форума не разрешил загрузить xls-файл. Пришлось зарарить. Распаковывайте и разглядывайте отчет.
======================
Важное замечание: я уже писал, что можно без программирования менять логику стратегии в рамках общей идеи. И вот пример: вместо трейлинга по сигналу Trailing Stop LХ можно использовать выходы по StopLoss/TakeProfit или превратить стратегию в переворотную добавлением сигнала Stochastic Bear Crss (он тоже входит в стандартную поставку).
Прикрепленный файл  StochBullEuroDay.rar ( 17.33 килобайт ) Кол-во скачиваний: 84
Перейти в начало страницы
 
+Цитировать сообщение
BQQ
сообщение 17.7.2008, 15:23
Сообщение #6


Мимо проходил
*

Группа: Пользователи 
Сообщений: 47
Регистрация: 29.11.2007
Пользователь №: 223

Заработано
Штрафы
Выплачено
К оплате
:
:
:
:
€1.449
€0
€0
€1.449



Здравствуйте. После длитетльного пререрыва, вызванного служебными делами, продолжаю делиться опытом системостроительства.

Ранее я выкладывал пример построения стратегии только на встроенных сигналах.
Теперь я разберу два примера построения своего сигнала на встроенных функциях, которое может быть выполнено на уровне программиста-чайника.

Первый пример - сбор из встроенных функций стратегии. основывающейся на стандартной идее. Второй пример - некоторое улучшение стандартной идеи.
Попутно будет затронут вопрос корректного тестирования.

Общеизвестен индикатор полос Боллинджера.
У него есть два применения (как и у всех канальных индикаторов) - на пробой и на отбой.
Рассмотрим стратегию пробойную. Какова её основная идея?
Если цена отклоняется от своей средней больше, чем на некоторое число среднеквадратичных отклонений (часто говорят "сигм" ), то это - крайне маловероятное событие, если считать эти отклонения обусловленными случайностями. Появляется естественное предположение, что эти отклонения обусловлены не только случайностью, т.е. на рынке началось направленное движение. Поэтому при пробое канала Боллинджера (при закрытии вне канала) открывается позиция в направлении пробоя.
Выход из пробойной позиции разумно выполнять по любому короткому трейлингу.
В данном случае выход - по обратному пересечению ценой экспоненциальной средней с малым временем усреднения.

Хорошая практика состоит в том, чтобы разносить сигналы на вход и выход. Тогда можно менять сигналы на выход, не внося изменений в текст сигнала на вход.
Итого нам надо сигнал на вход и сигнал на выход.
Тексты достаточно понятны и, надеюсь, вопросов не вызовут.

Вход
Код
Inputs: Len(20), Ampl(2);
Variables: BBBot(0),BBTop(0);

BBBot=BollingerBand(Close, Len, -Ampl); {BollingerBand - встроенная функция}
BBTop=BollingerBand(Close, Len, Ampl);

    
if close > BBTop  then buy ("BolBreak_Up")this bar on close;
if close < BBBot  then sell ("BolBreak_Dn")this bar on close;


Выход
Код
inputs: N(20);

if close > XAverage(close,N) then ExitShort this bar on close;
if close < XAverage(close,N) then ExitLong this bar on close;

Подбор параметров и тестирование.
Тестировать будем на дневном графике.
Дабы не плодить сущностей, заморозим значение параметра Len=20. Так как в месяце 22 рабочих дня - будем для торговли на днях анализировать интервал месяц, решение естественное. Поставим эту стратегию на график евро на период, оканчивающийся 1 января 2007 года и длительностью 500 дней.
Оптимизация по ширине канала (Ampl) от 1 до 3 через 0,1, а по параметру эксп.средней для выхода - от 5 до 20.
Результаты радуют глаз: профит-фактор чуть больше 3, отношение профита за период к просадке - тоже около 3.
Однако посмотрим, что же произойдет при попытке торговать вне того интервала времени, на котором проводилась оптимизация.
Не меняя оптимизированных параметров стратегии, сменим параметры графика (контекстное меню format symbol), положив конец периода на 1 января 2008 года. Общий результат остается положительным, но нас интересуют сделки только 2007 года. Они принесли только 11 пипсов...
Аналогичное действие - оптимизация для периода до 1 января 2008 года и проверка на первой половине 2008 года приносят совсем удручающий результат.

Почему же здравая идея принесла такой провал в 2008 году? Присмотримся к результатам оптимизации на периоде до конца 2007 года. Оптимальное значение ширины канала получилось только 1.2! Так как из теории мы знаем, что выброс на 1.2 среднеквадратичных отклонения с большой вероятностью случаен, можно заключить, что оптимизация в данном случае ухватилась за специфику рассматриваемого периода времени. Я приложил график оптимизации, который можно экспортировать из Омеги. На графике виден пик около значения 2, что соответствует вероятности случайного выброса примерно 1%. Это - важный урок системостроительства: при оптимизации на различных временных периодах надо следить за разумностью получающихся значений. Хорошей практикой является сопровождение одного и того же пика без перескока на другой.

Прикрепленный файл  zzz.png ( 4.06 килобайт ) Кол-во скачиваний: 76

Выводы из первого примера:
- сбор сигналов и стратегии из встроенных функций несложен
- известная идея пробоя канала Боллинджера неплоха, но в чистом виде её торговать трудно.

Следующий пост - улучшение идеи.Прикрепленный файл  BolBreak.rar ( 28.78 килобайт ) Кол-во скачиваний: 80
Перейти в начало страницы
 
+Цитировать сообщение
VladMih
сообщение 17.7.2008, 15:51
Сообщение #7


Михалыч
Иконка группы

Группа: Админ 
Сообщений: 31.511
Регистрация: 7.9.2007
Из: РБ, Гродно
Пользователь №: 2

Заработано
Штрафы
Выплачено
К оплате
:
:
:
:
€2713.432
€0
€133
€2563.335



Я удалил не глядя в содержимое пост с сообщением о дублировании,
а вложения оказались именно в нем.
Сорри, но моя такое видит только Ф торой раз в жизни, а потому не виноватая. ab.gif

P.S. Нет никакого смысла, кроме как зря потратить время, сигму ставить меньше меньшего предела по теории.
Причина редактирования: Удалось самомУ все исправить
Перейти в начало страницы
 
+Цитировать сообщение
BQQ
сообщение 19.7.2008, 12:20
Сообщение #8


Мимо проходил
*

Группа: Пользователи 
Сообщений: 47
Регистрация: 29.11.2007
Пользователь №: 223

Заработано
Штрафы
Выплачено
К оплате
:
:
:
:
€1.449
€0
€0
€1.449



В прошлом посте разбиралась стратегия торговли пробоев канала Боллинджера.
Основная идея её в том, что отклонение случайной величины более чем на 2 сигмы от своего среднего - крайне маловероятное событие.
Далее молчаливо предполагалось, что "истинным" значением цены является её среднее , а отклонения от среднего - случайны.

Однако если на рынке присутствует слабое направленное движение, то такая гипотеза приводит к сильной переоценке шумовой составляющей. Представим себе, что цена идет по идеальной негоризонтальной прямой - отклонение от среднего есть, но язык не поворачиватся назвать это отклонение шумовым.

Поэтому будем использовать совершенно аналогичную технику, но будем использовать отклонение цены не от её среднего, а от её экспоненциального среднего. Многие замечали, что на движениях цены экспоненциальная средняя располагается ближе к цене, чем обычная.

Напишем аналогичные по структуре сигналы и подвергнем нашу стратегию точно такому же тестированию, как и стратегию из прошлого поста. Прямо в текст код не вставляю, он есть во вложении и несложен.

Как видно из отчета, и прибыльность и профит-фактор полученной стратегии на интервале тестирования заметно хуже, чем у стратегии пробоя канала Боллинджера (т.е. пробоя отклонения от обычной средней).
Однако при рассмотрении графика оптимизации параметра пробоя можно заметить любопытное явление - стратегия пробоя отклонений от экспоненциальной средней заметно менее чувствительна к занчению параметра, чем стратегия пробоя отклонения от обычной средней (см. графики), оставаясь прибыльной во всем диапазоне разумных значений параметра пробоя. Это есть хороший признак.
Прикрепленный файл  dEMA.png ( 4.3 килобайт ) Кол-во скачиваний: 67
Прикрепленный файл  BolBreak.png ( 4.25 килобайт ) Кол-во скачиваний: 90


Проверим теперь стратегию на слепом тесте, сместив интервал времени на год (всё точно также. как и в прошлый раз). Ура! стратегия осталась прибыльной, хотя и принесла меньше прибыли, чем в том интервале, на котором она оптимизировалась. Прибыль уменьшилась по сравнению и с интервалом оптимизации примерно вдвое (для прошлой стратегии прибыль уменьшилась в 80 раз).
Повторим оптимизацию на интервале до 1 января 2008 года и протестируем стратегию на интервале до 1 июля 2008 года. На слепом первом полугоде 2008 года стратегия принесла убыток 67 пунктов. Это, конечно, нехорошо, но не идет ни в какое сравнение с прошлой стратегией, принесшей в первой половине 2008 года при использовании параметров, оптимизированных до 1 января 2008 года убыток больше, чем в 1200 пунктов!

Важные выводы из рассмотренных примеров, которые я хотел донести до читателей (если читатели найдутся), следующие:
1. При тестировании стратегии не только обязателен слепой тест - это уже все понимают (надеюсь). крайне важно при оптимизации глазомерно контролировать разумность оптимальных значений параметров. Для стратегии пробоя канала Боллинджера значение параметра пробоя 1.2 есть значение неразумное, не обеспечивающее уверенной отстройки от случайных выходов за границы канала.
2. График оптимизации очень полезен. Форма его может помочь составить представление о том, насколько устойчивыми окажутся оптимальные значения параметров при использовании стратегии вне интервала оптимизации.
Прикрепленный файл  DEMA.rar ( 28.39 килобайт ) Кол-во скачиваний: 79

3. Не обязательно придумывать революционные идеи, неплохой эффект достигается также более тщательной реализацией общеизвестной идеи.
========
Если кто-нибудь прочтет этот пост и захочет задать вопрос именно по коду - прошу делать это в ветке про программирование. Здесь - обсуждение системостроительства.
Перейти в начало страницы
 
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.3.2024, 12:58