
Двухлинейная стратегическая стратегия является наиболее распространенной стратегией для отслеживания тенденций. Эта стратегия использует два разных средних цикла для определения тенденции и совершения сделки в зависимости от их перекрестных обстоятельств. В частности, когда короткопериодическая средняя линия пересекает длиннопериодическую среднюю линию, генерируется сигнал золотой форки, считая, что движение входит в восходящую тенденцию, можно купить; когда короткопериодическая средняя линия пересекает длиннопериодическую среднюю линию, генерируется сигнал мертвой форки, считая, что движение входит в нисходящую тенденцию, можно продать.
Стратегия использует в основном средние линии EMA 6 циклов, 14 циклов, 25 циклов и 80 циклов. Сначала стратегия рассчитывает значения этих четырех средних линий, а затем оценивает движение рынка на основе пересечения 6-циклической EMA с тремя другими средними линиями.
Когда 6-циклическая ЭМА проходит через 14-циклическую или 25-циклическую ЭМА, и 6-циклическая ЭМА выше 80-циклической ЭМА, создается сигнал к покупке. Это означает, что краткосрочная средняя линия прорывает среднесрочную среднюю, и рынок может вступить в восходящую тенденцию, поэтому можно рассмотреть покупку.
Наоборот, когда 6-циклическая ЭМА проходит через 14-циклическую или 25-циклическую ЭМА и ниже 80-циклической ЭМА, создается сигнал продажи. Это означает, что краткосрочная средняя линия была пробита среднесрочной средней линией, и цена может войти в нисходящую тенденцию, поэтому можно рассмотреть продажу.
После появления торгового сигнала, стратегия открывает позицию на покупку или продажу. Кроме того, стратегия также устанавливает логику остановки убытков, когда убытки превышают установленную степень убытков, стратегия выходит из позиции для контроля риска.
Эта стратегия имеет следующие преимущества:
Тенденция к использованию среднелинейного перекрестного суждения является более зрелым и надежным техническим показателем.
При этом в сочетании с многоциклическими средними линиями можно уменьшить вероятность ошибочного суждения. Средняя линия 6 циклов отвечает за создание торговых сигналов, средняя линия 14 циклов, средняя линия 25 циклов служит подтверждением, средняя линия 80 циклов судит об общих тенденциях.
Установка стоп-лосса для контроля риска потерь позволяет эффективно защитить средства.
Стратегическая логика проста и понятна, легко понятна и проверяется.
В зависимости от рыночных условий можно корректировать среднелинейный цикл, оптимизировать параметры стратегии.
Однако эта стратегия также несет в себе некоторые риски:
В шокирующих ситуациях средняя линия может вызывать многократные недействительные пересечения, что приводит к слишком большому количеству недействительных сделок. Можно соответствующим образом скорректировать оптимизацию средней линии.
Фиксированный способ остановки может быть слишком механическим и может быть изменен на отслеживающий или динамический.
Большое превышение допустимого риска превышения остановки.
Не может реагировать на краткосрочные колебания цен. Может быть использован в сочетании с другими индикаторами для фильтрации торговых сигналов.
Ограниченное пространство для оптимизации параметров. Можно попробовать улучшить для адаптивной равномерности.
Эта стратегия может быть оптимизирована в следующих аспектах:
Тестируйте различные комбинации среднелинейных циклов, чтобы найти более чувствительные к рынку циклические параметры.
Улучшение механизма остановки, использование отслеживания остановки или динамической остановки, уменьшение вероятности прорыва остановки.
Добавление других индикаторов для фильтрации колебаний, таких как KDJ, MACD и т. д., чтобы избежать чрезмерного количества недействительных сделок во время колебаний.
Оптимизация входных условий, ожидание полного пересечения линии равновесия и последующий вход, уменьшение ложного сигнала.
Используйте адаптивную среднюю линию для автоматической корректировки средней линии в зависимости от рыночных колебаний.
Механизм управления новыми позициями, корректировка позиций в соответствии с рыночными условиями.
Добавление механизма выхода из сцепления.
В целом, эта двулинейная стратегия по распределению золота и серебра, использующая простой принцип равнолинейного пересечения, определяет тенденции рынка, легко реализуется, риск контролируется и применяется для отслеживания среднесрочных и долгосрочных тенденций. Однако эта стратегия может быть оптимизирована, она может быть улучшена с точки зрения условий входа, метода остановки убытков, фильтрации показателей и т. д., чтобы стратегия была более адаптирована к рыночной среде. В целом, эта стратегия является базовой тенденцией, следующей за стратегией.
/*backtest
start: 2022-11-06 00:00:00
end: 2023-11-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title = " bhramaji EMA Cross Strategy", shorttitle = "EMA Cross",calc_on_order_fills=true,calc_on_every_tick =true, initial_capital=21000,commission_value=.25,overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
StartYear = input(2018, "Backtest Start Year")
StartMonth = input(1, "Backtest Start Month")
StartDay = input(1, "Backtest Start Day")
UseStopLoss = input(true,"UseStopLoss")
stopLoss = input(20, title = "Stop loss percentage(0.1%)")
maSource = input(defval = close, title = "MA Source")
maLength6 = input(defval = 6, title = "MA Period 6", minval = 1)
maLength14 = input(defval = 14, title = "MA Period 14", minval = 1)
maLength25 = input(defval = 25, title = "MA Period 25", minval = 1)
maLength80 = input(defval = 80, title = "MA Period 80", minval = 1)
ma6 = ema(maSource, maLength6)
ma14 = ema(maSource, maLength14)
ma25 = ema(maSource, maLength25)
ma80 = ema(maSource, maLength80)
ma_6_plot = plot(ma6 , title = "MA 6", color = red, linewidth = 2, style = line, transp = 50)
ma14_plot = plot(ma14, title = "MA 14", color = green, linewidth = 2, style = line, transp = 50)
ma25_plot = plot(ma25, title = "MA 25", color = blue, linewidth = 2, style = line, transp = 50)
ma80_plot = plot(ma80, title = "MA 80", color = silver, linewidth = 2, style = line, transp = 50)
longEMA = (crossover(ma6, ma14) or crossover(ma6, ma25)) and (ma6>ma80)
exitLong = (crossunder(ma6, ma14) or crossunder(ma6, ma25))
shortEMA = (crossunder(ma6, ma14) or crossunder(ma6, ma25)) and (ma6< ma80)
exitShort =(crossover(ma6, ma14) or crossover(ma6, ma25))
if (longEMA)
strategy.entry("LongId", strategy.long)
if (shortEMA)
strategy.entry("ShortId", strategy.short)
if (UseStopLoss)
strategy.exit("StopLoss", "LongId", loss = close * stopLoss / 1000 / syminfo.mintick)
strategy.exit("StopLoss", "ShortId", loss = close * stopLoss / 1000 / syminfo.mintick)