Оптимизировал код, много думал.
Сначала не видел возможности.
Есть у меня главная функция, которая по флагам рассчитывает торговый сигнал — покупать или продавать.
Она сравнивает набор флагов свечи с набором флагов генома, и если они совпадают — то вуаля, сигнал получен.
Так вот, выполнение этой функции занимало 45% всех вычислений.
Мне это не нравилось.
Я спросил у ChatGPT, как можно её оптимизировать.
Он предложил мне три варианта, которые на поверку оказались медленнее, в разы или на порядки чем то, что у меня работало.
Пришлось переписывать самому, в четырёх вариантах и на одном из них 45% превратились в 6%. Очень круто.
Теперь одна эпоха прощёлкивает менее чем за секунду, а я использую 20.
Оптимизацией пришлось заняться, чтобы не выйти на пенсию, пока будут считаться данные по всем бумажкам от их сотворения, и дождаться-таки и применить результаты на практике.
Меж тем, обозначились цели по акциям — комплексная ТС должна приносить в среднем 10% в месяц и не давать ни одного убыточного месяца - я имею ввиду, по всем торгуемым вариантам. И это речь о рынке акций. На фьючи планы наполеоновские, но с кодировками Финама проще начинать с криптовалютных. Во всём виноваты дурацкие экспирации, кому они нужны, кроме биржи и брокеров — не понимаю.
Чтобы избежать неприятных и нежданных результатов, по всей вероятности, придётся добавить стопы (безубыток + скользящий) в алгоритм и посмотреть, что получится. Это должно уменьшить градус слива, когда ТС перестанет работать, но и потенциальную прибыль порежет.
Если научиться искусно подменять ТС в портфеле в процессе торговли, оно бы конечно было бы лучше с точки зрения профита, но этот вариант влечёт бОльшие риски, да и нет внутреннего ощущения, что я научился это делать хорошо. А всеобъемлющее тестирование такой штуки — совсем не тривиальная задача: это не один инструментик прогнать.
Шутка!
УДАЧИ!!!
тоже шутка ))
Фольксваген-Пожрат-Посрат-Пассат и Поспат.