Strategi Crossover Rata-rata Pergerakan Ganda Momentum


Tanggal Pembuatan: 2023-10-20 16:44:30 Akhirnya memodifikasi: 2023-10-20 16:44:30
menyalin: 1 Jumlah klik: 618
1
fokus pada
1617
Pengikut

Strategi Crossover Rata-rata Pergerakan Ganda Momentum

Ringkasan

Strategi ini menggunakan persilangan rata-rata untuk menentukan arah pergerakan harga, ditambah dengan garpu emas untuk menentukan tren keseluruhan, untuk mencapai pelacakan tren.

Prinsip Strategi

Strategi ini menggunakan EMA dan SMA dua persimpangan garis rata untuk menilai arah pergerakan harga, EMA bereaksi lebih cepat, SMA bereaksi lebih stabil. Ketika EMA melewati SMA dinilai sebagai momentum kenaikan harga yang kuat, lakukan lebih banyak; Ketika EMA melewati SMA dinilai sebagai momentum penurunan harga yang kuat, lakukan lebih banyak.

Selain itu, strategi ini juga menggunakan persilangan SMA siklus cepat dan SMA siklus lambat untuk menentukan arah tren keseluruhan. Ketika SMA siklus cepat melewati SMA siklus lambat, itu adalah garpu emas, dan itu adalah tren naik jangka panjang; ketika SMA siklus cepat melewati SMA siklus lambat, itu adalah garpu mati, dan itu adalah tren turun jangka panjang.

Strategi dinilai sebagai kesempatan untuk melakukan lebih banyak ketika melewati SMA di EMA. Jika saat ini adalah garpu emas, menunjukkan bahwa melakukan lebih banyak tidak hanya memiliki dukungan momentum jangka pendek, tetapi juga sesuai dengan tren jangka panjang, ini adalah kesempatan yang baik untuk melakukan lebih banyak; Jika saat ini adalah garpu mati, menunjukkan bahwa melakukan lebih banyak hanya memiliki dukungan momentum jangka pendek, tidak sesuai dengan tren jangka panjang, ini adalah kesempatan yang lebih berisiko untuk melakukan lebih banyak waktu.

Analisis Keunggulan

  • Menggunakan garis rata-rata untuk menentukan pergerakan dan arah harga
  • Mempertimbangkan momentum jangka pendek dan tren jangka panjang
  • Kombinasi sinyal konfirmasi indikator ganda, reliabilitas yang lebih tinggi
  • Adaptasi terhadap periode yang berbeda dengan menyesuaikan parameter garis rata-rata
  • Dapat dikonfigurasi untuk menampilkan sinyal transaksi tertentu, antarmuka dapat disesuaikan

Analisis risiko

  • Ada keterlambatan pada persimpangan rata-rata dan kemungkinan kehilangan titik jual beli terbaik.
  • SMA dengan siklus tetap tidak dapat mencerminkan perubahan harga secara real time
  • Rata-rata periode panjang dan pendek dapat menghasilkan sinyal silang yang salah
  • Pendapatan jangka panjang yang berpotensi meningkatkan risiko

Anda dapat mengurangi risiko dengan mengkonfirmasi sinyal dengan kombinasi indikator lain, mengoptimalkan parameter siklus rata-rata, atau mengatur stop loss.

Arah optimasi

  • Menambahkan filter untuk indikator lain, seperti volume transaksi, Brinks, dan lain-lain
  • Meningkatkan strategi stop loss
  • Optimalkan parameter periodik rata-rata
  • Pengelolaan dana yang optimal
  • Mempertimbangkan real-time penyesuaian rasio posisi

Meringkaskan

Strategi ini secara keseluruhan adalah strategi pelacakan tren yang lebih stabil dan andal. Strategi ini mempertimbangkan pergerakan harga jangka pendek dan arah tren jangka panjang, membentuk sinyal perdagangan dengan persilangan garis rata. Dibandingkan dengan strategi garis rata tunggal, strategi ini digabungkan dengan konfirmasi indikator ganda, reliabilitasnya lebih tinggi.

Kode 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)