Strategi Crossover Purata Pergerakan Berganda Momentum


Tarikh penciptaan: 2023-10-20 16:44:30 Akhirnya diubah suai: 2023-10-20 16:44:30
Salin: 1 Bilangan klik: 618
1
fokus pada
1617
Pengikut

Strategi Crossover Purata Pergerakan Berganda Momentum

Gambaran keseluruhan

Strategi ini menggunakan persilangan garis rata untuk menentukan arah pergerakan harga, ditambah dengan garpu emas untuk menentukan trend keseluruhan, untuk mencapai trend.

Prinsip Strategi

Strategi ini menggunakan dua persilangan EMA dan SMA untuk menentukan arah pergerakan harga, EMA bertindak balas lebih cepat, dan tindak balas SMA lebih stabil. Apabila EMA melewati SMA dinilai sebagai momentum kenaikan harga yang kuat, lakukan lebih banyak; Apabila EMA melewati SMA dinilai sebagai momentum penurunan harga yang kuat, lakukan lebih banyak.

Selain itu, strategi ini juga menggunakan persilangan SMA kitaran cepat dan SMA kitaran perlahan untuk menentukan arah trend keseluruhan. Apabila SMA kitaran cepat melintasi SMA kitaran perlahan sebagai garpu emas, keputusan berlaku dalam trend kenaikan jangka panjang; apabila SMA kitaran cepat melintasi SMA kitaran perlahan sebagai garpu mati, keputusan berlaku dalam trend penurunan jangka panjang.

Strategi ini dinilai sebagai peluang untuk melakukan lebih banyak apabila melewati SMA di EMA. Jika masa ini adalah garpu emas, menunjukkan bahawa lebih banyak tidak hanya mempunyai sokongan momentum jangka pendek, tetapi juga selaras dengan trend jangka panjang, ini adalah masa yang lebih baik untuk melakukan lebih banyak; jika masa ini adalah garpu mati, menunjukkan bahawa lebih banyak hanya mempunyai sokongan momentum jangka pendek, dan tidak selaras dengan trend jangka panjang, ini adalah masa yang lebih berisiko untuk melakukan lebih banyak.

Analisis kelebihan

  • Menggunakan garis rata-rata untuk menentukan pergerakan dan arah harga
  • Mempertimbangkan momentum jangka pendek dan trend jangka panjang
  • Bersama-sama dengan isyarat pengesahan dua indikator, kebolehpercayaan yang lebih tinggi
  • Dengan menyesuaikan parameter garis purata, boleh disesuaikan dengan kitaran yang berbeza
  • Boleh dikonfigurasikan untuk memaparkan isyarat dagangan tertentu, antara muka boleh disesuaikan

Analisis risiko

  • Kesan ketinggalan pada persimpangan rata-rata, kemungkinan kehilangan titik jual beli terbaik
  • SMA yang tetap tidak dapat mencerminkan perubahan harga dalam masa nyata
  • Garis purata jangka panjang dan pendek mungkin menghasilkan isyarat silang yang salah
  • Berpegang pada risiko yang berpotensi untuk meningkatkan dana dalam jangka masa panjang

Risiko boleh dikurangkan dengan menggabungkan petunjuk lain untuk mengesahkan isyarat, mengoptimumkan parameter kitaran rata-rata, atau menetapkan stop loss.

Arah pengoptimuman

  • Menambah penapis untuk petunjuk lain seperti jumlah transaksi, Brinks dan sebagainya
  • Meningkatkan strategi hentikan kerugian
  • Optimumkan parameter kitaran purata
  • Pengurusan wang yang optimum
  • Pertimbangan untuk menyesuaikan peratusan pegangan dalam masa nyata

ringkaskan

Strategi ini secara keseluruhan adalah strategi trend yang lebih stabil dan boleh dipercayai. Ia mengambil kira pergerakan harga jangka pendek dan arah trend jangka panjang, membentuk isyarat perdagangan dengan menyeberangi garis rata. Ia menggabungkan pengesahan dua indikator, dan mempunyai kebolehpercayaan yang lebih tinggi daripada strategi garis rata tunggal. Tetapi sebagai strategi trend, pengoptimuman parameter dan kawalan risiko sangat penting, memerlukan ujian berulang dan penyesuaian untuk benar-benar memberikan kesan strategi.

Kod sumber strategi
/*backtest
start: 2023-09-19 00:00:00
end: 2023-10-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Cryptoluc1d

//@version=4
strategy("Equal-Length EMA/SMA Crossover Strategy", initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=25, commission_type=strategy.commission.percent, commission_value=0.2, overlay=true)

// Create inputs

mom_length = input(title="Momentum Length (EMA=SMA)", defval=50)
bias_length_fast  = input(title="Golden Cross Length (Fast)", defval=50)
bias_length_slow  = input(title="Golden Cross Length (Slow)", defval=100)

// Define MAs

ema = ema(close, mom_length) // EMA/SMA crossover of the same period for detecting trend acceleration/deceleration
sma = sma(close, mom_length)
bias_fast = sma(close, bias_length_fast) // golden/death cross for overall trend bias
bias_slow = sma(close, bias_length_slow)

// Define signal conditions

buy_trend = crossover(ema, sma) and bias_fast >= bias_slow // buy when EMA cross above SMA. if this happens during a bullish golden cross, buying is in confluence with the overall trend (bias).
buy_risky = crossover(ema, sma) and bias_fast < bias_slow // buy when EMA cross above SMA. if this happens during a bearish death cross, buying is early, more risky, and not in confluence with the overall trend (bias).
buy_late = crossover(sma, bias_slow) and ema > sma // the SMA crossing the Slow_SMA gives further confirmation of bullish trend, but signal comes later.
sell = crossunder(ema, sma) // sell when EMA cross under SMA.

// Enable option to hide signals, then plot signals

show_signal = input(title="Show Signals", defval=true)

plotshape(show_signal ? buy_trend : na, title='Trend Buy', style=shape.triangleup, location=location.belowbar, color=color.green, text='TREND BUY')
plotshape(show_signal ? buy_risky : na, title='Risky Buy', style=shape.triangleup, location=location.belowbar, color=color.olive, text='RISKY BUY')
plotshape(show_signal ? buy_late : na, title='Late Buy', style=shape.triangleup, location=location.belowbar, color=color.lime, text='LATE BUY')
plotshape(show_signal ? sell : na, title='Sell', style=shape.triangledown, location=location.abovebar, color=color.red, text='SELL')

// Define entry and exit conditions

longCondition = ema > sma and bias_fast >= bias_slow // LONG when EMA above SMA, and overall trend bias is bullish
if (longCondition)
    strategy.entry("BUY TREND", strategy.long)
exitLong = crossunder(ema, sma) // close LONG when EMA cross under SMA
strategy.close("BUY TREND", when=exitLong)

// // short conditions. turned off because up only.
// shortCondition = ema < sma and bias_fast <= bias_slow // SHORT when EMA under SMA, and overall trend bias is bearish
// if (shortCondition)
//     strategy.entry("SELL TREND", strategy.short)
// exitShort = crossover(ema, sma) // close SHORT when EMA cross over SMA
// strategy.close("SELL TREND", when=exitShort)

// Enable option to show MAs, then plot MAs

show_ma = input(title="Show MAs", defval=false)

plot(show_ma ? ema : na, title="Momentum EMA", color=color.green, linewidth=1)
plot(show_ma ? sma : na, title="Momentum SMA", color=color.yellow, linewidth=1)
plot(show_ma ? bias_fast : na, title="Golden Cross SMA (Fast)", color=color.orange, linewidth=2)
plot(show_ma ? bias_slow : na, title="Golden Cross SMA (Slow)", color=color.red, linewidth=2)