в прошлом посте я писал про количество вариантов оптимизаций и замер на Tslab на минимальных параметрах и диапазоне ...
В этом этом же посте будет информация непосредственно о скорости вычислений и как получил 2 миллиона в секунду...
Давайте порассуждаем — вот у нас есть уровень Дневного минимума и алгоритм торговли просто ЛП минимумом красной свечи… сколько есть вариантов поведения свечей относительно дневного уровня которые можно описать от 1 до 2 свечей ?! сразу подскажу — не больше 30 если говорить о графиках криптовалют без гэпов и открытий/закрытий внутри свечи… сколько может быть правил фильтров определяющих направление цены через дневные минимумы/максимумы/закрытия ??? примерно 100 без учета индикаторов, так как алготрейдеры оценивают движения цены внутри дня на мелких таймфреймах то поведение цены относительно того или иного уровня можно оценить в миллионы вариантов комбинаций без учета отклонений/коэффициентов/PM и обновляемых значений через если/нет/да… Давайте еще поразмышляем — сколько вариантов средних скользящих можно завязать на значение бара таймфрема на котором ведется торговля то есть на High/Close/Low? EMA/SMA/MA/AMA/SMMA/DEMA/TEMA и так далее и так далее и при чем что если каждую взять с периодом 100 то на графике все будут на разных положения и дистанциях — тут речь не идет о то что показывает индикатор! тут речь идет о количестве возможных вариантов где может торговать стратегия и где можно оценить ее прибыльность/убыточность а еще сам образ торговли: быстрый/медленный/трендовый/скальперский/с минимальными просадками и так далее… вернемся к EMA — так как их большое количество да еще и прибавляется вариантов периодов — то представим что на 5 минутном таймфрейме можно оптимизировать те же варианты всех скользящих с теме же периодами но построенных на 15/30/60/120/240/1440 таймфреймах… я бы скинул таблицы в расчетах, но предлагаю каждому читателю этой статьи взять эксцель и прикинуть количество комбинаций! важно понимать не только то что я сейчас пишу но еще в и цифрах если ты хочешь все таки понять как устроен алготрейдинг и его математика ...
Вот пример несколько EMA на периоде 100 для любителей визуального отображения — таймфрем все тот же 1 час:

я взял специально период 100 и несколько вариантов MA — что бы было понятно что условие алгоритма относительно уровня могу сформироваться случайно полагаясь на правило EMA — так как если бы час до этого то алгоритм бы просто не прошел! тут вскрывается главная проблема Tslab и других программ, может это даже не проблема но я бы тоже ее публично не реализовывал — количество одинаковых Entry для одной стратегии но по разными правилам EMA которых с прошлого поста у нас в расчетах 4:
| Правила расчет | Итоговое число вычислений EMA правил = | 527 | |||
| 4 | min | max | шаг | итог колл.во | итог для Rule |
| Правило_№1 | 10 | 100 | 10 | 10 | 10 |
| Правило_№2 | 100 | 200 | 10 | 11 | 11 |
| Пр.№3 _aEMA | 20 | 120 | 10 | 11 | 253 |
| Пр.№3 _bEMA | 80 | 300 | 10 | 23 | |
| Пр.№4 _aEMA | 20 | 120 | 10 | 11 | 253 |
| Пр.№4 _bEMA | 80 | 300 | 10 | 23 | |
Entry очень важно особенно для трендовых сделок которые управляются PM без тэйка так как по ним увеличенные риски и уменьшенное количество мест где сделка может открыться относительно скальперских с тэйком +0.5 с сериями побед по 40 сделок подряд а при условии разных правил по тому же EMA можно было бы определить в % соотношение какие сделки редкие а какие возникают в 80-90% случаем и под них уже строить систему управления
я оставлю ссылку на первый пост так как буду часто ссылаться на количество вычислений и их вариантов в процессе написания статьи и собственных замеров smart-lab.ru/blog/1314062.php
далее что бы тебе читателю было интереснее я предлагаю все таки сделать таблицу эксцель и посчитать варианты EMA с рэйнджами и количеством перебора под банальную стратегию ложного пробоя ...
Давай пока еще про индикаторы… я скажу сразу наперед что бы было меньше слов в тексте и понятнее воспринимать: левая часть алгоритма отвечает за вход в сделку, а правая за выход из нее… Так давай представим что по мимо EMA мы довяжем в логику фильтры по RSI/MAXD/ADX это те которые существуют независимо от цены в собственном окне коэффициента а если болинджера/облако и другие — то сколько вариантов параметров под одно банально условие минимум красной свечи + дневной лоу можно выявить вариантов = левая часть становится настолько тяжелой что при оптимизации ее можно даже не переходить к правой… но тут у меня есть таблетка благодаря скорости вычислений в 2 000 000 комбинация в секунду все эти правила левой части могут жить независимо или зависимо — тут нужно просто фантазию ну и порядочный оптимизатор который сможет все это вычислить и дать итоговые результаты ...
Как и писалось в первой статье я взял очень старенький компьютер, что бы замеры были чистые… ну конечно я еще искал архитектурные решения для собственного приложения — вот такие параметры компьютера 
16 лет компьютеру и как хорошо что я его не выкинул и не продал....
замеры Tslab я кстати сделал на нем где 39 710 комбинаций были вычислены за 103 секунды = 368 комбинаций в секунду
Давай знакомиться с вычислителем ARANEA… и так у меня по прежнему таже стратегия ЛП минимума дневного бар — но я добавил вот такую сетку для 5 PM и 4 варианта по EMA — ниже будет больше скринов из бэкенда и фронт моего приложения и процесса вычислений и в конце посмотрим что в итоге получили на TSlab
Сетка рэйджов в ARANEA 
я красным пометил трэйлинг стоп и сетку EMA которую убду оптимизировать и показывать итоговые результаты так как итоговые параметры менне важны чем сам процесс вычислений и конкретные метрики! сразу хочу заметить что у меня стоит одновременно вычисление 2 фильтров по минимумам о которых говорил в самом начале...
и так что видно из логов приложения фулл набора...
1) 
сразу забегу вперед — можно оптимизировать одновременно:
1. несколько активов таймфремов — 1 стратегию все PM + все правила
2. несколько активов таймфремов — несколько стратегий +PM +правила + фильтры + индикаторы — тут вопрос фантазии, но самое интересное скорости и результаты
2)Сетка расчетов по EMA — я не стал тут сразу делать под все варианты средних скользящих так как суть этих постов донести некую важную мысль для алготрейдеров которую раскрою в конце ну и найти коллег и товарищей по цеху, возможно даже партнера по проекту 
3) сетки расчетов PM 

4) счетчик по фильтрам — ранее писал про повышающиеся минимумы и понижающиеся -
на самом деле если прикинуть расчетов будет меньше
Причина того что я добавил не включать в расчеты правила EMA где сделок 0 а также другие фильтры которые влияют на скорость вычислений
как итог около 1.7 миллиарда
Тут важно отметить саму программу TSlab — она старая и я подозреваю что данные метрики и их гибкость вычислений если внедрять то потребует колоссальных ресурсов перестроения архитектуры программы! еще важно то что она на С++ а у меня стэк из GO+RUST+JAVA+PYTH который я собирал несколько лет именно под скорость вычислений но об этом позже так как тут самое интересно
таким образом из вычислений на CPU+GPU вылетело около 70% вычислений так как меня в оптимизации не интересуют варианты стратегий у которых сделок 1-3 или вообще нулевые… в статьях позже я буду описывать вычисления серверного оборудования и мх нюансов ...
скорость вычислений для каждого PM разная — так как на скорость влияет длина сделки и набор параметров который оптимизируется и еще на дополнительные правила которые будут описаны ниже, но сейчас на скрине я остановил процесс вычислений специально спустя 7.8 минут — потому что замер на 1-2 минутах не будет корректный так как в вычисления могу попасть легкие PM итого получилось из 1 784 873 300 прооптимизировать 87 969 476 средняя скорость составила 205 536 вычислений в секунду !!!
хочу напомнить что тут вычисления идут одновременно на фильтрах минимумы(повышаются/понижаются) и всех правилах EMA + все PM… Tslab с ее возможностями построения алгоритмов и систем управлений такие цифры могут только снится… но 205 000 это все еще не те 2 000 000 в секунду о которых я писал в первом посте и этом )))
я все таки хочу донести пользу и поделиться опытом, что бы можно было посмотреть на все это дело под другим углом… 2 года исследований и заметок можно описать в несколько томов или 1000 статей на смарт лаб, но я стараюсь первоначально поделиться результатом и описать процесс который поможет взглянуть на алготрейдинг с другой стороны и быть может моя информация будет полезной ...
я тут заметил что можно создавать темы на смарт лаб и для этого нужен какой то статус — будет замечательно если ты читатель поддержишь лайком статью и напишешь свое мнение/размышление/пожелание на эту тему
а я перехожу в третьей статье в которой при к заветным 2 000 000 в секунду
в тслабе заходишь в редактор скриптов и находишь вкладку лог… там пишется время исполнения скрипта...
соответсвенно время на оптимизацию = время исполнения скрипта * число проходов / число потоков… например у мя 32 потока ...
можно взять в аренду сервер с посуточной оплатой на 192 потока легко… какой нибудь амд эпик?
и кстати тслаб во время оптимизации жрет память как не в себя… а у тя всего 8гб… ему банально не хватает… вообще у тслаба прописаны минимальные технические требования… т.е если взять райзен современный и память 128Гб то там прирост будет раз 100… и будет не то что 2 млн а целых 3 в секунду а может и больше
кроме того… у тя 4 ре параметра оптимизации а перебор идет по 1му параметру… т.е 3 параметра фиксированы… и тогда зачем их вычислять каждый раз? 3 параметра посчитал и сгрузил в массив или файл а потом просто берешь значения без расчетов… это сэкономит 80% времени… не надо считать все… можно посчить то что перебираем
более того… в тслабе можно многое сделать на c#… без всякого визуального редактора
имхо в том что визуальный редактор тслаб начинает тормозить при большом количесве блоков… если блоков мало он работает быстро...
я бы сделал бот только из 1ой сма… т.е 3 блока… торгуемый источник + цена закрытия + сма… и все… и запустил бы перебор… и стало бы понятно насколько быстр тслаб...
кстати чат гпт может редактировать визуальный редактор через файл скртипта… но это медленно...
успехов
1шаг — это прогон стратегии с конкренными значениями параметров стратегии, прогнали один шаг, оптимизатор оценивает разультат, по заданной нами формуле и выдает набор параметров для следующего шага.
Есть еще метод Монте-Карло можно быстро «просканировть» облако параметров чтобы предварительно прикинуть диапазоны оптимизации для каждого параметра.
Тупой метод бруто-форса нужен, для довольно специфических вещей, которые вы врядли применяете, потому как мало кто знает как потом из этой кучи выжать и получить то что нужно.
ДАЖЕ чат-боты не знают правильного рабочего подхода и это хорошо.