В этом посте:
- вводная часть
- понятие «сигнал»
- примеры классических сигналов
- мой подход к определению сигналов
- как использовать подход
- оценка качества сигналов
- пример стратегии, основанной на сигналах
- заключение
Введение
У нас обещанного три года ждут, но я справился быстрее.
Начинал я, как и многие другие, не скажу, что с анализа, но с просмотра свечных графиков и графиков индикаторов. Думаю, что точно так же, как и другие, на их основании строил свои торговые системы. Знакомился с торговыми системами других. Обнаруживал, что они тоже работают по сигналам. По сигналам индикаторов, чего сами люди иногда, порой, даже и не понимали и не были способны формализовать. Еще самом начале процессе знакомства с биржей и торгами в голову пришла идея о том, что хорошо бы использовать сигналы разных индикаторов, комбинируя их между собой, чтобы найти оптимальные точки входа и выхода. Значительно позже в голову пришла идея о том, что те сигналы, которые мы видим на стандартных графиках — это лишь верхушка айсберга тех данных, которые мы можем использовать для статистического анализа и что на самом деле их гораздо больше.
Родилась гипотеза о том, что их тоже можно и нужно использовать для торгов. Поскольку, скорее всего, ими никто другой не пользуется, поскольку их не видят, они должны быть эффективнее, чем те стандартные сигналы, которые описаны в методиках использования индикаторов их авторами. Концентратом этой идеи является данный пост.
Что такое «сигнал»
Итак, что же такое сигнал? Я несколько примитивизирую это понятие, сказав, что сигнал либо есть, либо его нет. Соответственно, мы видим сигнал, как «истину» или «ложь». Или как «да» или «нет». Обычно, как я писал ранее, под сигналом понимают принятие решения о входе или выходе из позиции. Например, по любому индикатору в интернете можно найти много руководств о том, как их использовать. И в этих руководствах, как правило, сигнал состоит из нескольких условий. С моей точки зрения, каждое такое условие есть отдельный атомарный сигнал. Решение на вход или выход, а равно на открытие или закрытие позиции мы принимаем на основании комплекса таких атомарных сигналов. Поэтому далее под понятием сигнала я буду понимать некоторую величину, которая может принимать два значения: истина или ложь, и специально акцентирую внимание на том, что сигнал не может быть составным. Сигнал всегда атомарный, неделимый, не состоящий из других сигналов. А комбинация сигналов даёт нам решение на сделку.
Примеры классических сигналов
Для пояснения понятия ниже привожу примеры сигналов.
Свечные сигналы
На данной формации виден сигнал «три белых солдата». Это три подряд следующих растущих свечи. Соответственно, на каждой свече мы можем посчитать этот сигнал относительно предыдущих и определить его значение — истина или ложь (есть он или его нет). Для трендовых стратегий на этом сигнале мы покупаем, для контртрендовых — продаём.
Сигналы индикаторов
Здесь мы видим среднюю скользящую на свечном графике. Сигналом тут является пересечение ценой этой скользящей вниз. В случае трендовой стратегии, по этому сигналу мы должны продать (закрыть длинную или открыть короткую позицию).
Сигналы осцилляторов
Посмотрим на моментум. Для него есть нормативное значение — 100. Один из сигналов — когда моментум выше 100. Это означает, что следует быть готовым к продаже.
Мой подход к определению сигнала
Во-первых, из примеров, которые изложены выше, следует, что есть и обратные сигналы. Во-вторых, большую часть сигналов мы, к сожалению, не используем. А потому что всего лишь люди — переходное звено к более высокой ступени эволюции. Не видим ли мы их, или нас так научили и теперь мы не способны посмотреть на картинку свежим взглядом (
об этом я писал здесь) — суть от этого не меняется. С целью устранить этот пробел я решил посмотреть на сигналы по-другому. И вот как это выглядит.
Типы сигналов: статические
Во-первых, я разделяю сигналы на статические и динамические. Что это означает? Статический сигнал — это такой сигнал, для вычисления которого достаточно данных только текущей свечи. Например, чтобы вычислить сигнал по индикатору «Моментум» из примера выше, нам нужно знать только константу 100 и значение Моментума. Это можно сделать в границах одной свечи, не заглядывая в прошлое, на момент её завершения, разумеется.
Типы сигналов: динамические
Кроме того, есть динамические сигналы, и для их вычисления необходимо смотреть на определенную глубину в прошлое. Примером этого является сигнал 3 белых солдата. Чтобы его вычислить, я должен посмотреть на несколько свечей прошлое. Эту типизацию я ввёл для упрощения понимания концепции. Кроме того, с её помощью можно разбить сигналы на группы в целях поиска более эффективного подмножества сигналов.
Категории сигналов
Для упрощения понимания идеи делю сигналы на категории. Они такие:
- пересечения
- продолжения
- области значений
- нуль-центрированные и значение-центрированные
- взаимные
- схождения-расхождения
- направления
- прохождения экстремума
Давайте посмотрим на конкретные примеры. Пересечения возникают, когда мы имеем на одном графике несколько временных рядов. Соответственно, когда один временной ряд пересекает другой — мы получаем сигнал. Их будет два: в моей концепции пересечение одним рядом другого вверх или вниз — это два разных сигнала. Они взаимоисключающие: когда есть один, другой отсутствует. В качестве конкретного примера можно привести пересечение ценой скользящей (см. пример выше), или пересечение одной скользящей другой скользящей.
Чуть сложнее выглядит идея сигналов категории продолжения. Это означает, что мы получаем этот сигнал с момента его возникновения и до момента появления зеркального сигнала. Для примера давайте посмотрим на осциллятор Стохастик. Когда быстрый Стохастик пересекает медленный сверху вниз — это сигнал на продажу. Сигнал продолжения будет работать с момента такого пересечения и до тех пор, пока быстрый Стохастик не пересечет медленный в обратном направлении. Эта категория является зависимой и её можно посчитать от некоторых других сигналов, например, пересечения или прохождения экстремума. Таких сигналов тоже будет два и они тоже взаимоисключающие.
Сигналы категории области значений также удобно продемонстрировать на примере Стохастика. По классике работы с осциллятором есть предопределенные диапазоны от 0 до 20, от 20 до 80, и от 80 до 100. Соответственно, областей значения Стохастика будет 3 для каждого временного ряда. Таким образом, для двух временных рядов (быстрого и медленного Стохастика) мы получаем 6 сигналов категории области значений, которые будут нам говорить, в какой области и какой временной ряд находится на текущей свече.
Нуль-центрированные и значение-центрированные сигналы похожи, за той разницей, что нуль-центрированные сигналы в качестве константы используют нуль, а значение-центрированные — конкретное значение. Их суть — показать, является ли значение временного ряда выше, равным или ниже нуля или определённой константы. Работу этих сигналов удобно продемонстрировать на примере Моментума, который был показан в примере выше. Для Моментума значением является константа 100, и значение Моментума выше этой константы будет включать один сигнал, а ниже — зеркальный.
Осциллятор MACD колеблется вокруг нуля, и потому для него можно рассчитать нуль-центрированные сигналы по тому же принципу, что и с Моментумом. Однако, в MACD три временных ряда, а не один, как в Моментуме, поэтому сигналов для MACD будет 6, а не два.
Почему два и шесть, а не 3 и 9? Статистическая значимость сигнала, когда временной ряд равен нулю или константе, почти отсутствует, поэтому этот сигнал я исключил. Но можете проверить самостоятельно.
Пояснение: осцилляторами я называю такие индикаторы, которые не находятся в диапазоне цены инструмента. Поэтому, например, средняя скользящая или Боллинджер — это индикатор, а Стохастик, Моментум и MACD — осцилляторы.
Категория взаимных сигналов применима к нескольким временным рядам. Например, если у нас на графике есть две скользящие средние (А и Б) с разными периодами усреднения, мы можем сказать на каждой свече, что одна скользящая выше другой или ниже. В этом суть взаимных сигналов. Соответственно, их тоже будет два — сигнал «А выше Б» и сигнал «А ниже Б».
Как и для категории взаимных сигналов, для категории схождения-расхождения (или конвергенции-дивергенции) необходимо как минимум два временных ряда. В данном случае сигналы будут определять, приближаются ли кривые друг к другу или отдаляются. Таких сигналов тоже будет пара.
Значение сигналов направления очень простое. Сигналы говорят нам, что происходит с современным рядом: его значения растут, не меняются или уменьшаются. Соответственно, на каждый временной ряд получаем 3 сигнала.
Сигналы прохождения экстремумов возникают тот момент, когда производная становится равной нулю. То есть, они возникают в моменты разворотов временного ряда. Тут будет тоже 2 сигнала: разворот вниз и разворот вверх, безотносительно зоны разворота.
Производные сигналов
Помимо всех этих сигналов, мы можем также посчитать производные для временных рядов: первую и вторую.
Первая производная будет нам говорить о скорости изменения временного ряда, а вторая — о темпах изменения этой скорости. Таким образом, мы можем добавить ещё 2 категории сигналов к тем, что приведены выше:
- скорость изменения
- темп изменения скорости
Поскольку временной ряд может двигаться как вверх, так и вниз, то и значения производных могут быть положительными или отрицательными. Поэтому, дополнительно, мы можем посчитать абсолютные значения и рассчитать сигналы на их основании:
- абсолютная скорость изменения
- абсолютный темп изменения
Значений по каждому кортежу будет так же три: растёт, не меняется, уменьшается. Отмечу, что с помощью производных я детектирую импульс.
Видимые и невидимые сигналы
Поразмышляв над изложенным выше, можно прийти к выводу, что все сигналы мы можем разделить на 3 группы. Первую группу человек глазами на графике может легко увидеть, идентифицировать и принять решение. Со второй группой может быть посложнее, а уж торговать на ее основе — точно затруднительно. Третью группу человек не увидит вообще, поскольку эти данные являются производными от того, что видно на графике. По этим причинам много информации остается вне зоны нашего внимания и осознания и не участвует в принятии торговых решений. Между тем, я уверен, что некоторые отдельные трейдеры эти данные тоже используют, но используют интуитивно, ориентируясь на некую свою внутреннюю чуйку и не смогут даже объяснить, почему приняли такое решение — оно просто сработало. Делов том, что они годами смотрели на графики и совершали сделки, и отдельные зоны в мозге научились видеть эти закономерности в картинках и связали их с успешными сделками. Но объяснять они, конечно, не учились и не умеют — даже не способны. Я же хочу вывести это в рациональную плоскость, с целью понять и объяснить механику процесса.
Короче говоря, просто глядя на график, многое теряешь.
Список сигналов
Как вы поняли, для каждого индикатора будет своё число сигналов, в зависимости от того, что он из себя представляет — будут рассчитываться только релевантные. Как краткое резюме, привожу список сигналов, которые я использую для торговли:
- AboveArea
- AboveIndicator
- AboveValue
- AbsSpeedFall
- AbsSpeedGrows
- BelowArea
- BelowIndicator
- BelowValue
- Convergence
- CrossDown
- CrossDownContinues
- CrossUp
- CrossUpContinues
- DirectionDown
- DirectionUp
- Divergence
- EqualValue
- ExtremumHigh
- ExtremumHighContinues
- ExtremumLow
- ExtremumLowContinues
- InArea
- SpeedFall
- SpeedGrows
- ZeroAbove
- ZeroBelow
Как использовать подход
Уфф! Ну вот, получил целую кучу сигналов. Что теперь с ними делать? Сразу оговорюсь, что часть из них — шлак, а потому надо понять, какие из них рабочие, а какие — нет, какие применять для входа в длинные сделки, а какие в короткие, и какие сигналы эффективнее прочих. Ну а дальше использовать для торговли. Такую оценку можно провести несколькими способами, о чём рассказываю ниже.
Разметка лучших баров
Как следует из всего, что было изложено выше, для каждого бара по данной методике рассчитывается сонм сигналов. В частности, у меня их сейчас 348. Как я объяснил в этом моем посте, мы можем разметить ценовой ряд, маркировав лучшие свечи для покупок и лучшие свечи для продаж.
Так выглядит процесс в моей реализации:
Ну а далее просто провожу статистические расчёты:
- как часто каждый конкретный сигнал появляется на свечах покупки или продажи — это определит, является ли этот сигнал сигналом на покупку или на продажу
- и после этого как часто сигнал срабатывает правильно / не правильно — на той свече, к классу которой он отнесён (покупка или продажа) — точность сигнала
Рандомный поиск
Это вариант для продвинутых, в некотором смысле. Может быть, он даже лучше, чем то, что изложено выше. Во всяком случае, я перешёл к нему. Смысл заключается в том, что я рандомно, случайным образом выбираю сигналы для входа и для выхода (конечно, не вручную), а затем проторговываю их на истории цен, с верификацией — такой, какая нравится, например, walk forward.
Отмечу, что по сути, в принципе, этот вариант ничем не отличается от того, что использует большинство алгоритмических трейдеров, за исключением того, что сигналы выбираются случайным образом, а не зашиты в код. Используя классические техники и классические терминалы, эта задача может показаться неразрешимой из-за большого числа сигналов (348!) и огромного времени на перебор всех возможных комбинаций. По этой причине нужно использовать другие подходы, оптимизационные, которые позволят массово исключать подмножества априори неработающих комбинаций сигналов на вход и выход, и сосредоточиться и развивать те комбинации, которые работают и дают нужный мне результат. Понятно, их число огромно.
Я рассчитал 348 флагов на 15 индикаторах для каждой свечи. Пара индикаторов — моей собственной разработки. А есть ещё свечные формации вроде трёх солдат. Сами по себе они черта не работают, но в комбинации с другими сигналами дают хорошие результаты — они повышают вероятность точности определения точки разворота тренда, например. Но, подчеркиваю, еще раз — в совокупности с другими сигналами. При этом ничего не мешает посчитать сигналы и по другим индикаторам, которые я в свой пакет не включил. Может быть, даже вы увидите что-то, что я упустил на графике и какие-то еще сигналы, которые можно посчитать на основе той информации, которая представлена в графиках, — делитесь идеями об этом в комментариях.
Что тут важно? Нужно понимать, что чем больше поляна, тем больше вы соберете ягод и грибов. Пресекая на корню дискуссии о переподгонке и переоптимизации из-за большого числа сигналов, хочу сказать следующее. Во-первых, число сигналов на вход и число сигналов на выход выбираете вы. Хотите, используйте 2 штучки на вход, 2 штучки на выход. Из опыта, похоже, что большинство стратегий по такому принципу и работают. Вы можете использовать и 5, и 7 сигналов на вход и столько же на выход. Число сигналов на вход не обязано совпадать с числом сигналов на выход, между прочим. Если вы, конечно, найдете хоть какие-то комбинации сделок с таким числом сигналов.
В том огромном наборе сигналов, который у вас получится в результате реализации этой концепции, вы наверняка сможете найти и построить такие стратегии, которых еще на рынке ни у кого не было. Которые будут работать лучше, чем то, что есть у вас сейчас. Поскольку я это уже сделал, я могу говорить об этом со уверенностью. Причин этому я вижу две: комбинация сигналов разных индикаторов и использование скрытых сигналов, которых большинство просто не видит и/или не использует.
Финализируя этот раздел, замечу, что можно добавить больше нелинейности в торговый алгоритм, используя фиксированные, безубыточные или скользящие стопы по разным техникам.
Оценка качества сигналов
В таблице на рисунке ниже приведена статистическая оценка сигналов и их качества, основанная на методике из раздела «Разметка лучших баров», который вы прочитали выше. Для примера я взял сигналы, которые использованы в примере стратегии, описанном ниже.
В таблице приведено наименование сигнала, временной ряд, к которому он относится и веса принадлежности сигнала к направлению «покупка» или «продажа», а так же его точность. Видно, что в строках 1-3 сигналы классифицированы, как сигналы, на которые следует опираться при принятии решения о покупке (% buy weight > 50). В строке 4 и 6, напротив, сигналы следует использовать при принятии решения о продаже (% buy weight < 50).
Отдельно хочу обратить внимание на строку 5. По сути, сигнал выглядит, как мусорный и на совершение сделок вроде бы как не влияющий, однако это может быть и не так. Поясню: дело в том, что комплексный сигнал является логическим произведением всех сигналов на сделку (в данном случае — логическое И всех сигналов в строках 4-6). А в таблице, что выше, приведены сепарированные расчёты для каждого сигнала без учёта влияния на него других, так как комбинации сигналов могут быть любыми, как вы понимаете. Поэтому здесь нельзя сказать, что этот сигнал мусорный или не значим и его можно исключить. Нужно провести исследование, и если после исключения этого сигнала результат не изменится — то в реальной торговле, конечно, его можно исключить, ещё больше упростив алгоритм. Лично я в таком упражнении смысла не вижу.
Пример стратегии, основанной на сигналах
Ниже на диаграмме изображена кривая доходности по криптовалютному фьючерсу XMRUSDT. Период виден внизу диаграммы. На оси слева мы можем видеть доходность в процентах. Чёрная линия — это, собственно, рост капитала, а так же на диаграмме видно, как менялась рыночная цена в привязке к точкам роста — сделкам (Market Price). Кроме того, на графике нарисована линия максимальных достигнутых значений в ходе торгов (MaxSTD), кривая идеального роста (EtalonSTD), а так же усреднённая кривая по методу наименьших квадратов, которая практически совпадает с идеальным ростом (rsquare_RevenueSTD), но это частный случай — обычно они не совпадают.
Сигналы входа и выхода представлены такой строкой:
B:AMA/Close_AboveIndicator;B:ThreeBlackSoldersC_SpeedGrows;B:ThreeBlackSoldersL_AbsSpeedGrows;S:RSI_ExtremumLow;S:SMA/HMA_Divergence;S:SMA/HMA_BelowIndicator;M:ShortAllowed;
Давайте я её расшифрую. Начну с конца:
M:ShortAllowed;
Означает, что данной стратегии разрешены только короткие сделки. Соответственно, входом будет продажа (S), а выходом — покупка (B).
Вход осуществляется, когда все три сигнала истинны:
S:RSI_ExtremumLow; — кривая осциллятора RSI достигла минимального значения и начался её рост.
S:SMA/HMA_Divergence; — кривые SMA и HMA расходятся.
S:SMA/HMA_BelowIndicator; — HMA ниже (меньше), чем SMA.
Выход осуществляется, когда все три сигнала истинны:
B:AMA/Close_AboveIndicator; — Close текущей свечи выше AMA.
B:ThreeBlackSoldersC_SpeedGrows; — скорость «трёх белых солдат растёт»
B:ThreeBlackSoldersL_AbsSpeedGrows; — абсолютная скорость «трёх чёрных солдат» растёт.
По поводу двух последних строк требуется пояснение. Дело в том, что эти солдаты — это не временной ряд, сами по себе, а комплекс из трёх свечей — пресловутый паттерн. И здесь имеются ввиду не они, а их сигналы. То есть, пять восходящих свечей дадут нам 3 сигнала ThreeBlackSoldersC — на 4-й, 5-й и 6-й свече. Соответственно, значение сигнала ThreeBlackSoldersC_SpeedGrows изменится с 0 (ложь) на 1 (истина) на той свече, где первый раз увидим формацию «три белых солдата» — четвёртой.
Аналогично для ThreeBlackSoldersL_AbsSpeedGrows.
Буквы C и L в конце названия определяют методику определения трёх солдат — по Close или по High/Low.
Эта специфичная ситуация касается только свечных паттернов, так как сами по себе они не являются временным рядом, поэтому мы обращаемся к временному ряду производного от них сигнала. Впрочем, свечные паттерны можно и вовсе не использовать, если у вас имеется к ним негативное предубеждение. И без них сигналов более, чем достаточно. Я встроил их в свой алгоритм потому, что хотел проверить, как они будут работать в комбинации с другими сигналами, и из картинки ниже видно, что получилось очень хорошо.
И короткая ремарка относительно того, как была получена эта стратегия. Исследования (то есть, рандомный поиск стратегий, как он описан выше — а картинка работы механизма приведена в конце поста) осуществлялись на интервале 01.05.2022 — 31.05.2023. В данном случае взята одна из полученных стратегий, которой скормлен ценовой ряд за июль и небольшую часть августа. Никакой подстройки стратегии не осуществлялось — в моей концепции «подстройки параметров», чем заняты большинство алготрейдеров, не предусмотрено.
Заключение
Как уже говорилось ранее, можно использовать массу различных индикаторов, чтобы сгенерировать сигналы на их основании. Также можно создать сигналы на основании данных стакана, на основании тиков или на основании других данных технического анализа — горизонтальных и обычных объёмов, уровней, открытого интереса и так далее. Единственное требование — сигналы должны выдавать на выходе ИСТИНУ или ЛОЖЬ.
Проще не значит лучше?
По моему мнению, сложность описываемой идеи заключается только в её комплексности. На атомарном же уровне, на уровне простого кирпичика, понятно, что все очень просто, если не сказать — примитивно. Никакой высшей математики здесь нет, только статистика. А потому ее может использовать любой трейдер. Хотя, думаю, этот подход всё же ближе к алгоритмическому трейдингу по понятным причинам — нужно много посчитать и много протестировать, чтобы получить готовую стратегию. Но это этап исследования. Что же касается самой торговли — видно, что стратегии получаются весьма простыми, поэтому, думаю, и для ручной торговли они вполне могут сгодиться. В этом контексте их очевидным плюсом является ещё и жёсткая, абсолютная формализация правил входа и выхода. Никаких ощущений, никакой интуиции, сколько вешать в граммах — указано абсолютно точно и без разночтений.
Движение в сторону нейронных сетей
Я думаю, что тот, кто раньше уже имел дело с нейросетями, уже понял, что такой набор бинарных флагов, которые нам дают сигналы по этой методике, является наиболее желанным кормом для любой нейросети. По сути, это будет вектор из нулей и единиц, в моём случае длиной 348. Тут даже не будут нужны слои нормализации или защиты от переобучения, да и вообще сеть будет, похоже, линейной, небольшой. Можно сделать один выход — в случае регрессии и предсказывать вероятность от 0 до1, где стремление к 0 — это будет, например, покупка, а к 1 — продажа. Но ещё лучше сделать сеть с вектором на выходе, содержащим три значения, которые будут соответствовать трём действиям — купить, держать, продать, а каждый из них — вероятность от 0 до 1 соответствующего действия. Учиться такая сеть тоже будет очень, очень быстро. А потому, если у нас есть размеченные покупкой или продажей свечи и посчитанные сигналы для каждой свечи, мы можем скормить все эти данные нейросети и использовать ее для определения вероятности успешности входа и выхода на конкретной свече. И, оценивая эту вероятность, принимать решение.
Тут важно отметить только то, что такие сети должны быть регрессионными или классифицирующими, поскольку они не будут предсказывать будущее. Они будут говорить, что при определённой комбинации сигналов В ПРОШЛОМ вероятность успеха больше, если купить. Или продать. Ну и, поскольку никакая нейросеть не может быть точной на 100%, следует использовать механизмы защиты при такой торговле.
Кроме того, нужно будет как-то решать вопросы балансировки сети, поскольку свечей покупки и продажи по отношению к общему количеству свечей будет крайне мало, а те техники, которые обычно применяются для балансировки нейронных сетей в данном случае только ухудшат результат. Можно и не балансировать сеть, и она будет тоже отлично предсказывать точки сделок, но будет давать и много ложных сигналов, которые необходимо будет дополнительно фильтровать.
Поиск стратегий (торговых алгоритмов)
Если использовать подход, базирующийся на определении сигналов, как описано в данном посте, то для исследования необходимо создать отдельную подсистему, которая быстро и эффективно будет находить такие комбинации сигналов входа и выхода из 348!, которые будут являться профитными на желаемом отрезке времени. Кто-то ищет стратегии, которые будут работать годами, я сконцентрирован на более коротких стратегиях. В любом случае, описанный тут подход применим и там, и там. На самом деле, этот подход даёт десятки тысяч годных стратегий, и высока вероятность, что если вы опишите сигналами свои стратегии, то описанными механизмами найдёте и свою, и усовершенствованную версию своей, и стратегии, базированные на вашей или с элементами вашей. Наконец, прикреплю картинку, на которой видно, как работает алгоритм поиска профитных стратегий среди всего многообразия сигналов и на этом, пожалуй, закончу. Спасибо тем, у кого хватило терпения прочитать весь этот текст до конца :)
Измените его и показатели резко поменяются. Какой смысл в таких стратегиях, если от главного параметра зависит их результативность?
Более того, человеческая природа такова, что трейдер постоянно будет смотреть на состояние индикаторов на разных ТФ, сравнивая их и выискивая подтверждение или опровержение мнимой точки входа/выхода.
И последнее: все вышеописанные индикаторы построены на временных рядах на основе прошлых значений цен. Это не работает для прогнозирования! На мой взгляд, лучше использовать информацию о свершившихся сделках участников, анализируя её и принимая решение, о том куда с большей вероятностью пойдет цена на основе полученных результатов невзирая на величину ТФ.
Блеванет она с такого корма...
PS. Не является инвестиционной рекомендацией.
Такие посты мне нравятся. Такой подход мне близок.
Поясню:
Ну во-первых когда видишь, что человек сам изобрел какой-то подход, или даже в мелочах видишь — сам придумал несколько классификаций, а не взял какую-то готовую «классическую» — сразу понимаешь, что человек А. Умеет думать, Б. Умеет выходить за рамки шаблонов.
Ну и в целом делать что-то в таком ключе — для этого, действительно, не нужно много математики, не нужен супер-сложный кодинг, а нужно раскрепощенный творческо-исследовательский ум. В общем я таким же люблю заниматься)) — тоже свои названия давать, классификации, ну и всякие нестандартные ходы.
Если ближе к теме статьи: я разучился раскрывать детали о том, что и как я делаю)), но я хожу где-то в тех же краях, в какие-то упомянутые ответвления я осознанно не захожу, ну и что скрывать — кое какие подидеи пометил себе (вернее может даже не подидеи, а какие-то внутренние инсайты, стриггеренные конкретными идеями из теста).
Варварские обычаи: ключи раздают, а замков нет. Маргадон
youtu.be/yCWGwApxYQY
Видишь ли, мой друг, все люди делятся на два сорта: те, у кого револьвер заряжен, и те, кто копают. Так что — копай.
Выйти из режима post processing, расширить понимание помогает Merlijn van Veen, он инженер и учитель. Почитайте у него про реально работающие сигналы и индикаторы, про Coherence and Reverberation, почему не все данные являются данными, и как их различать. Почитайте Bob McСarthy у него есть важные вещи, почему Impulse это сигнал на среднесрок и почему он неадекватен как IR-индикатор. Bob в нашем деле вообще человек — легенда, его TF в координатах Quasi-logartihmic scale это современный способ анализа тренда.
Для тестирования на истории столет как рекордеры придуманы, брать нужно с питч-контролем.
p.S.
«Делов том, что они годами смотрели» (пробел)
«Сами по себе они черта не работают» (частичка не переставлена)
я понял, что мне не нравится в этой теме
...
мне в ней не нравится то, что упомянуты вполне конкретные паттерны типа 3 солдата
...
а в прошлых темах шла речь о том, что какие-либо паттерны вообще не используются
… либо неувязочка, либо я невнимательно читаю
чтобы ответить на этот вопрос надо все тщательно перечитать
…
а для неокрепшего ума это может оказаться сложным
Спасибо за идею разметить идеальные точки входа/выхода и прогнать по ним набор своих сигналов.
Верно ли я понял, что свои индикаторы (сигналы) у Вас универсальные, подходящие под различные активы? Или всё же набор дополняется какими-то, подходящими под конкретный актив?
И по скорости такой прогонки — на последнем скриншоте видно, что тестирование за месячный интервал проходит за ~5-6 минут. Это действительно так или времени всё же больше уходит (на скрине явно какие-то операции продолжаются)? На каком языке пишете?
У меня сейчас просчёт нескольких сигналов на годовом интервале — от 10 до 20 минут. Если добавить вместо двух индикаторов пару сотен, это займёт, похоже, на порядок-другой больше времени. Можно, конечно, закешировать расчёты по индикаторам, чтобы потом гонять их показания как угодно, но всё равно будет очень долго.
bascomo, под проверкой индикаторов я имел ввиду подбор их комбинаций для торговых систем.
Насчёт не универсальных индикаторов — да, использовать можно любые индикаторы где угодно, но, глядя на поведение некоторых конкретных «бумаг» могут рождаться идеи, которые будут работать именно на этих бумагах. Вы, в общем-то, правы: если родилась идея нового индикатора на конкретной бумаге, то почему бы не прогнать его и на других.
Родился вопрос про настройки параметров. Вы пишите, что индикатор, выдающий сигнал, в процессе подбора не перенастраивается никак. Условно говоря — один раз зафиксировал его параметры и всё.
Но вот, например, индикатор вычисляет пересечение SMA и HMA — здесь явный настраиваемый параметр — длина периода для подсчёта у каждой скользящей (кол-во свечей). При Вашем подходе, я так понимаю, каждое новое значение периода — это по факту отдельный индикатор, т.е. индикатор пересечения при периоде 9 свечей, 50, 200 и т.д. Верно я логику понял?
Тут вот и вопрос: каким образом эти параметры выбираете, пока не зафиксируете?
bascomo, понял.
Весьма интересный у Вас подход, весьма прагматичный и без лишней эзотерики. Это я в общем о подходе к созданию ТС. Спасибо, что делитесь!