Руками и не надо. Выгрузи минутки в CSV и пройдись по разнице времени между соседними барами. Ночные пропуски по 5-15 минут нормальны: тиков нет, бара нет. Интересно то, что дольше 15 минут в рабочие часы и не на выходных.
Код:
import pandas as pd
df = pd.read_csv('GBPUSD_M1.csv', sep='\t')
df['t'] = pd.to_datetime(df['<DATE>'] + ' ' + df['<TIME>'], format='%Y.%m.%d %H:%M:%S')
gap = df['t'].diff()
bad = df[(gap > pd.Timedelta('15min')) & (gap < pd.Timedelta('2D'))
& df['t'].dt.hour.between(9, 20)]
print(bad.groupby(bad['t'].dt.to_period('M')).size())
Условие меньше двух суток отсекает выходные, часы 9-20 по серверу подбери под свой символ.
Дальше смотри по месяцам. Если дыры лежат кучкой в паре месяцев, это залатанная старая история, у брокеров такое часто встречается до какого-то года. На дыре тестер видит просто скачок с одного бара на следующий, и стоп или тейк исполнится по цене следующего бара, как на гэпе. Такой кусок либо вырезать из теста, либо сверить с другим источником.