Двойной кроссовер скользящих средних, количественная стратегия Golden Crossover


Дата создания: 2023-12-26 15:52:13 Последнее изменение: 2023-12-26 15:52:13
Копировать: 0 Количество просмотров: 333
1
Подписаться
1166
Подписчики

Двойной кроссовер скользящих средних, количественная стратегия Golden Crossover

Обзор

Эта стратегия определяет ценовые тенденции и торговые возможности, рассчитывая пересечение двойных равнозначных линий. Когда быстрая линия пересекает медленную линию, считается золотой крест, делая больше; когда быстрая линия пересекает медленную линию, считается крестом смерти, делая пустоту.

Стратегический принцип

Эта стратегия основана на следующих принципах:

  1. Вычислить среднюю линию из двух групп различных параметров, одна группа быстро реагирует на изменение цены, другая группа относительно медленно. Когда она пересекает медленную линию, она показывает, что цена начинает расти; когда она пересекает медленную линию, она начинает падать.

  2. При пересечении равной линии, измеряется изменение показателя энергии. Если показатель энергии синхронно прорывается, то пересечение является надежным; если показатель энергии не имеет соответствующего прорыва, то это может быть ложным сигналом.

  3. В зависимости от направления и количества перекрестных возможностей, вступайте в позиции “продолжить” или “продолжить”. Установите условия остановки, чтобы остановиться, когда прибыль достигнет определенной доли.

В частности, стратегия определяет ценовой тренд, рассчитывая 7-дневный пересечение двойной средней линии; рассчитывает изменение показателя, чтобы определить надежность пересекающегося сигнала; при определении надежного сигнала, нажмите SIGNAL, чтобы сделать лишний или короткий; установить условия прибыли, чтобы реализовать остановку.

Анализ преимуществ

Основные преимущества этой стратегии:

  1. В сочетании с двойной равномерной линией определяется направление тренда, а в сочетании с количественной - фильтруется ложный сигнал, чтобы избежать подтасовки.
  2. Показатели успешности повышаются только при подтверждении количественных показателей.
  3. Установите условия для остановки, чтобы не потерять деньги, если вы заработаете деньги.

Анализ рисков

Основные риски этой стратегии:

  1. Промежуточная задержка пересечения, наилучшая точка возможности для пропуска изменения цены. Можно соответствующим образом оптимизировать параметры, чтобы сделать среднюю линию более чувствительной.
  2. В случае разногласий в количественных показателях трудно определить. Для подтверждения можно ввести дополнительные вспомогательные показатели.
  3. Нерациональная установка точек остановки может привести к сверхкороткой или сверхдлинной работе. Стоп-параметры должны быть протестированы и оптимизированы.

Направление оптимизации

Эта стратегия может быть оптимизирована в следующих направлениях:

  1. Оптимизация параметров среднелинейного цикла, чтобы сделать его более чувствительным и своевременно улавливать изменения цен.
  2. Добавление дополнительных показателей для подтверждения сигнала, таких как MACD, KD и т. д., чтобы избежать ошибочного определения количественных показателей.
  3. Динамическая остановка в сочетании с другими стратегиями остановки, такими как движущаяся остановка, процентная остановка, вибрационная остановка.
  4. Добавление стратегии автоматического остановки убытков для контроля одиночных убытков
  5. Оптимизация управления позициями, адаптация стратегических позиций в различных рыночных условиях.

Подвести итог

В целом, основной идеей стратегии является двойная равномерная тенденция к перекрестному суждению, количественный показатель фильтрации сигнала. Эффект более стабильный и легкий в реализации.

Исходный код стратегии
/*backtest
start: 2022-12-19 00:00:00
end: 2023-12-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("ZendicatoR", overlay=true, calc_on_order_fills= true, calc_on_every_tick=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15, pyramiding=0)
dt = input(defval=0.0010, title="Decision Threshold", type=float, step=0.0001)
keh=input(title="Double HullMA Cross",defval=7, minval=1)
che1=input(title="MA 1",defval=34,minval=1)
che2=input(title="MA 2",defval=144,minval=1)
che3=input(title="MA 3",defval=377,minval=1)
amnt=input(title="TP ($)",defval=4200,minval=1)
wma1=wma(close,che1)
wma2=wma(close,che2)
wma3=wma(close,che3)
sma1=sma(close,11)
tms=10000000000000
A=request.security(syminfo.tickerid, 'D', close)*tms
B=request.security(syminfo.tickerid, 'D', close[1])*tms
C=A>B?green:red
D=wma2>wma3?green:red
plot(wma1,style=line,color=C,linewidth=4)
p1=plot(wma2,style=line,color=D)
p2=plot(wma3,style=line,color=D)
fill(p1, p2, color=D, transp=75)
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma,sqn=round(sqrt(keh))
n2ma1=2*wma(close[2],round(keh/2))
nma1=wma(close[2],keh)
diff1=n2ma1-nma1,sqn1=round(sqrt(keh))
n1=wma(diff,sqn)*tms
n2=wma(diff1,sqn)*tms
Q=n1>n2?blue:yellow
plot(sma1,style=line,color=Q,linewidth=4)
closelong = A*tms<B*tms and n2*tms>n1*tms and strategy.openprofit>amnt
if (closelong)
    strategy.close("Long")
closeshort = A*tms>B*tms and n1*tms>n2*tms and strategy.openprofit>amnt
if (closeshort)
    strategy.close("Short") 
longCondition = A*tms>B*tms and n1*tms>n2*tms
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = A*tms<B*tms and n1*tms<n2*tms
if (shortCondition)
    strategy.entry("Short",strategy.short)