Golden Cross Death Cross Strategi pelbagai faktor jangka panjang

Penulis:ChaoZhang, Tarikh: 2024-01-23 11:11:40
Tag:

img

Ringkasan

Logika Strategi

Apabila purata bergerak pantas melintasi di atas purata bergerak perlahan, membentuk isyarat salib emas, sementara penunjuk RSI berada di bawah kawasan overbought, pasaran dianggap undervalued dan isyarat beli dihasilkan. Stop loss dan mengambil keuntungan kemudian ditetapkan berdasarkan penunjuk ATR untuk stop loss / mengambil keuntungan tetap.

Secara khusus, strategi ini menggunakan purata bergerak 10 hari dan 50 hari untuk membentuk isyarat dagangan. Isyarat beli dihasilkan apabila MA 10 hari melintasi di atas MA 50 hari. Pada masa yang sama, RSI (14) perlu berada di bawah kawasan overbought 70 untuk mengelakkan membeli pada titik tinggi.

Selepas memasuki pasaran, stop loss dan mengambil keuntungan ditetapkan berdasarkan saiz ATR (14). Stop loss ditetapkan pada harga di bawah harga kemasukan sebanyak 1.5 kali ATR; mengambil keuntungan ditetapkan pada harga di atas harga kemasukan sebanyak 2 kali ATR.

Analisis Kelebihan

Ini adalah strategi pelbagai faktor jangka panjang yang menggabungkan beberapa penunjuk untuk menilai keadaan pasaran, yang dapat mengelakkan kerugian yang disebabkan oleh pecah palsu.

  1. Mengesan trend jangka panjang tanpa dihalang oleh turun naik jangka pendek
  2. Titik stop loss/take profit tetap menghalang kerugian yang berlebihan
  3. Parameter penunjuk yang boleh diselaraskan membolehkan pengoptimuman di seluruh produk yang berbeza
  4. Mudah dilaksanakan, mudah difahami dan digunakan

Analisis Risiko

Sebagai strategi pegangan jangka panjang, strategi ini juga mempunyai beberapa risiko yang perlu diperhatikan.

  1. Risiko kerugian yang besar dari pegangan jangka panjang. boleh melihat kerugian yang besar dalam pasaran penyatuan yang berpanjangan. boleh menetapkan stop loss untuk mengurangkan.
  2. Berhenti mengesan risiko stop loss. Stop loss tetap hanya ditetapkan sekali selepas masuk, tidak ada penyesuaian lanjut, mungkin mendapat stop loss dilanggar. Boleh mengoptimumkan dengan stop loss dinamik atau trailing stop loss.
  3. Indikator terlalu lambat, terlepas peluang perdagangan jangka pendek.
  4. Peningkatan risiko dari trend selepas penambahan.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dalam aspek berikut:

  1. Tambah mekanisme stop loss dinamik, sesuaikan stop loss berdasarkan harga dan turun naik
  2. Tambah penarikan mengambil keuntungan untuk mengunci keuntungan yang lebih baik
  3. Memasukkan penunjuk jumlah dagangan untuk mengelakkan pecah palsu jumlah yang rendah
  4. Mengoptimumkan parameter penunjuk untuk menyesuaikan lebih banyak produk
  5. Tambah trend mengikut mekanisme penambahan kedudukan untuk menambah kedudukan yang menang

Kesimpulan


/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Long Only Multi-Indicator Strategy", shorttitle="LOMIS", overlay=true)

// Inputs
lengthMAFast = input(10, title="Fast MA Length")
lengthMASlow = input(50, title="Slow MA Length")
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(70, title="RSI Overbought Level")
rsiOversold = input(30, title="RSI Oversold Level")
atrLength = input(14, title="ATR Length")
riskMultiplier = input(1.5, title="Risk Multiplier for SL and TP")

// Moving averages
maFast = sma(close, lengthMAFast)
maSlow = sma(close, lengthMASlow)

// RSI
rsi = rsi(close, rsiLength)

// ATR
atr = atr(atrLength)

// Long condition
longCondition = crossover(maFast, maSlow) and rsi < rsiOverbought

// Entering long trades
if (longCondition)
    strategy.entry("Long", strategy.long)
    slLong = close - atr * riskMultiplier
    tpLong = close + atr * riskMultiplier * 2
    strategy.exit("SL Long", "Long", stop=slLong)
    strategy.exit("TP Long", "Long", limit=tpLong)

// Plotting
plot(maFast, color=color.red)
plot(maSlow, color=color.blue)
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.blue)


Lebih lanjut