При анализе рыночных данных оч мешают выбросы. Гэпы всякие, которые зашкаливают за все нормальные диапазоны, и в течение длительного времени забивают все индикаторы и весь анализ. Вот такие, например:

Здесь бы до 1.5 -1.7 все ограничить, и нормально бы было.
Для этого обычно применяются всяческие ограничители, типа сигмоидов и им подобных:
По Х — вход, по У — выход. Ясно, что далеко, в данном случае ±1 не уйдет, а основной диапазон ±0.5 практически линеен.
Ну, и, как водится, код функции на Python:
def sigmoidnorm(x, alfa = 1.0, xmin = -1.0, xmax = 1.0):
return (xmax - xmin)*((1 / (1 + math.exp(-x*2.0*alfa))) - 1.0) + xmaxВсе простенько. Все диапазоны регулируются. Входные данные сигмоида с помощью alfa и всяческих преобразований надо сделать самим. Выход настраивается уже самой функцией сигмоида.
PS Кстати, этот код можно перевести и применить на Lua, и многие индикаторы после гэпов будут вести себя более адекватно.
Ещё непонятно, что на первом графике по оси х и по оси у
Если же это реальные сделки на реальной бирже, совсем не факт, что надо их как-то специально обрабатывать. Я бы сначала посмотрел на индикаторы, которые такими данными сбиваются.