Средняя золотая кросс-стратегия является наиболее распространенной количественной торговой стратегией. Эта стратегия использует движущуюся среднюю индексную среднюю с двумя разными параметрами: при переходе через долгосрочную ЭМА на краткосрочную ЭМА, делается больше; при переходе через долгосрочную ЭМА на краткосрочную ЭМА, делается равновесие. Эта стратегия использует краткосрочную ЭМА, которая быстрее реагирует на изменения цен, а долгосрочная ЭМА, которая лучше отражает тенденцию, использует пересечение ЭМА для формирования торгового сигнала.
Эта стратегия сначала определяет две средние линии EMA, длина EMA1 - 10 и длина EMA2 - 21. Затем вычисляется значение двух средних линий. Когда EMA1 проходит через EMA2, это означает, что цена начинает прорыв вверх, и это является сигналом провала. Когда EMA1 проходит через EMA2, это означает, что цена падает ниже средней линии EMA и является сигналом провала.
Чтобы отфильтровать ложные прорывы, код также определяет порог, который вычисляется по формуле:
threshold = ((ema1 - ema2)*100) / ((ema1 + ema2)/2)
Этот порог представляет собой процент от среднего значения между двумя средними линиями. Если порог больше 0,15%, то это сигнал плюса, а если он меньше -0,006, то это сигнал равновесия.
В целом, торговые сигналы этой стратегии сводятся к следующему:
Эта стратегия имеет следующие преимущества:
Использование средней линии EMA позволяет сгладить данные о ценах, что способствует созданию торговых сигналов.
Двойная EMA устанавливает различные параметры, которые могут быть сбалансированы в скорости отклика и стабильности.
Добавление порогового значения позволяет отфильтровать ложные прорывы и избежать бесполезных сделок.
Стратегическая концепция проста, понятна, легко понятна и подходит для новичков в количественной торговле.
Гибкость в корректировке параметров EMA и пороговых значений для оптимизации эффективности стратегии.
Однако эта стратегия также несет в себе некоторые риски:
Средняя линия EMA отстает от цены и может пропустить возможность короткой линии.
Есть риск быть запертыми в тюрьме, а если тенденция изменится, это может привести к большим потерям.
Неправильное установление порогового значения может отфильтровать действительный сигнал или выдать ошибочный сигнал.
Параметры EMA не соответствуют, краткосрочные и долгосрочные EMA не отличаются друг от друга, что приводит к ложному сигналу.
Большие колебания в диапазоне могут привести к потере остановок и должны быть нарушены, поэтому следует установить разумные остановки.
Эта стратегия может быть оптимизирована в следующих аспектах:
Оптимизация параметров EMA, тестирование влияния параметров различных циклов на эффективность стратегии.
Оптимизация пороговых значений, сбалансированная фильтрация ложных сигналов и сохранение действительных сигналов.
Добавление других технических показателей, таких как MACD, KDJ и т. д., для комплексного определения торговых сигналов.
Присоединяйтесь к механизму остановки убытков, который может быть мобильным или привязанным, чтобы контролировать одиночные потери.
Можно рассматривать варианты построения складов в группах, чтобы снизить риск одного входа.
Проверьте различные периоды хранения, чтобы найти более подходящий период хранения.
Общая концепция стратегии равнолинейного золотого креста ясна и понятна, используя особенности равнолинейной EMA для определения торговых сигналов. Эта стратегия имеет определенные преимущества, но также следует обратить внимание на некоторые потенциальные риски. Более эффективную стратегию можно получить путем оптимизации параметров, параметров сдерживания убытков и фильтрации сигналов.
/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
if high > ta.highest(high[1], 5)
strategy.entry("Enter Long", strategy.long)
else if low < ta.lowest(low[1], 5)
strategy.entry("Enter Short", strategy.short)//@version=3
strategy(title="ema10-21", shorttitle="10/21", overlay=true, pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital = 2500, commission_type = strategy.commission.percent, commission_value = 0.2)
len1 = input(10, minval=1, title="EMA #1 length")
src1 = input(close, title="EMA Source #1")
a = ta.ema(src1, len1)
plot(a, title="EMA #1", color=color.orange, linewidth=2, style=plot.style_line)
len2 = input(21, minval=1, title="EMA #2 length")
src2 = input(close, title="EMA Source #2")
b = ta.ema(src2, len2)
plot(b, title="EMA #2", color=color.blue, linewidth=2, style=plot.style_line)
threshold = ((a-b)*100)/((a+b)/2)
thresholdUp = threshold > 0.15
thresholdDown = threshold < -0.006
if (thresholdUp)
strategy.entry("Buy", strategy.long)
if (thresholdDown)
strategy.close("Buy", strategy.long)
//goLong() => (crossover(a, b)) and (threshold >= 0.0025)
//killLong() => (crossunder(a, b)) and (threshold <= -0.0025)
//strategy.entry("Buy", strategy.long, when = goLong())
//strategy.close("Buy", when = killLong())
//threshold = ((a-b)*100)/((a+b)/2)
//achat = out1 > out2
//vente = out1 < out2 //and threshold < -0.025
//strategy.entry("long", true, when = achat)
//strategy.exit("exit", "long", when = vente)