Strategi Crossover Purata Bergerak dengan Stop-Loss dan Take-Profit

Penulis:ChaoZhang, Tarikh: 2023-12-21 15:52:57
Tag:

img

Ringkasan

Strategi ini mengira purata bergerak dari tempoh yang berbeza, menetapkan titik stop-loss dan mengambil keuntungan untuk melaksanakan perdagangan automatik. Ia pergi panjang apabila purata bergerak jangka pendek melintasi di atas purata bergerak jangka panjang, dan pergi pendek apabila purata bergerak jangka pendek melintasi di bawah purata bergerak jangka panjang. Sementara itu, ia menetapkan titik stop-loss dan mengambil keuntungan untuk mengawal risiko.

Logika Strategi

Strategi ini berdasarkan prinsip persilangan purata bergerak. Ia mengira kedua-dua purata bergerak mudah 9 hari dan 55 hari secara serentak. Apabila MA 9 hari melintasi di atas MA 55 hari, ia menandakan bahawa trend jangka pendek telah berbalik ke atas, jadi pergi panjang. Apabila MA 9 hari melintasi di bawah MA 55 hari, ia menandakan bahawa trend jangka pendek telah berbalik ke bawah, jadi pergi pendek.

Sementara itu, strategi ini menggunakan penunjuk ATR untuk menetapkan titik stop-loss dan mengambil keuntungan. Penunjuk ATR boleh mengukur tahap turun naik harga di pasaran. Titik stop-loss ditetapkan pada harga penutupan dikurangkan nilai ATR, jadi ia boleh menetapkan stop-loss yang munasabah berdasarkan turun naik pasaran. Titik mengambil keuntungan menggunakan nisbah risiko-balasan, yang ditetapkan pada 2 di sini - ambil keuntungan = harga penutupan + 2 * nilai ATR.

Kelebihan

Ini adalah strategi perdagangan jangka pendek yang sangat mudah dan praktikal dengan kelebihan berikut:

  1. Prinsip persilangan purata bergerak mudah difahami dan dikuasai;
  2. Gabungan stop-loss dan mengambil keuntungan secara berkesan mengawal risiko dan meningkatkan kepraktisan;
  3. Parameter purata bergerak boleh disesuaikan dengan fleksibel untuk menyesuaikan diri dengan persekitaran pasaran yang berbeza;
  4. ATR stop-loss boleh menetapkan titik stop-loss berdasarkan turun naik pasaran, agak pintar;
  5. Tetapan nisbah risiko-balasan boleh diselaraskan mengikut keutamaan risiko peribadi.

Risiko

Terdapat juga beberapa risiko dengan strategi ini:

  1. Isyarat crossover purata bergerak mungkin mempunyai pecah palsu, menyebabkan perdagangan yang salah;
  2. Tetapan stop loss atau take profit yang tidak betul boleh meningkatkan kerugian atau mengurangkan keuntungan;
  3. Parameter purata bergerak yang tidak betul boleh membawa kepada kekerapan perdagangan yang terlalu tinggi atau isyarat kelewatan;
  4. Tetapan parameter ATR yang tidak betul juga boleh membuat titik stop-loss terlalu dekat atau terlalu jauh.

Risiko ini boleh dikurangkan dengan mengoptimumkan parameter, stop-loss yang ketat, dan saiz kedudukan yang munasabah.

Pengoptimuman

Strategi ini boleh dioptimumkan lagi:

  1. Menggunakan alat pengoptimuman untuk mencari kombinasi parameter purata bergerak yang optimum;
  2. Tambah penunjuk lain untuk menapis isyarat silang purata bergerak untuk mengelakkan pecah palsu;
  3. Cuba jenis purata bergerak lain, seperti purata bergerak eksponensial, dan lain-lain;
  4. Pertimbangkan untuk menambah parameter ATR untuk pengoptimuman juga untuk menjadikan stop-loss dan mengambil keuntungan lebih pintar.

Kesimpulan

Logik keseluruhan strategi ini jelas dan mudah dilaksanakan, terutama sesuai untuk pemula untuk menguasai. Sebagai strategi perdagangan jangka pendek asas, ia mempunyai kelebihan operasi yang mudah dan pengoptimuman yang mudah. Apabila digabungkan dengan COMPLETE atau kerangka kerja lain, ia boleh ditingkatkan lagi untuk menjadi sistem perdagangan kuantitatif yang praktikal.


/*backtest
start: 2022-12-14 00:00:00
end: 2023-12-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("MA Crossover Strategy with Stop-Loss and Take-Profit", overlay=true)

// Input for selecting the length of the moving averages
maShortLength = input(9, title="Short MA Length")
maLongLength = input(55, title="Long MA Length")

// Input for setting the risk-reward ratio
riskRewardRatio = input(2, title="Risk-Reward Ratio")

// Calculate moving averages
maShort = ta.sma(close, maShortLength)
maLong = ta.sma(close, maLongLength)

// Buy condition: 9-period MA crosses above 55-period MA
buyCondition = ta.crossover(maShort, maLong)

// Sell condition: 9-period MA crosses below 55-period MA
sellCondition = ta.crossunder(maShort, maLong)

// Set stop-loss and take-profit levels
atrValue = ta.atr(14)
stopLossLevel = close - atrValue  // Use ATR for stop-loss (adjust as needed)
takeProfitLevel = close + riskRewardRatio * atrValue  // Risk-reward ratio of 1:2

// Execute buy and sell orders with stop-loss and take-profit
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.exit("Sell", from_entry="Buy", loss=stopLossLevel, profit=takeProfitLevel)

// Plot moving averages on the chart
plot(maShort, color=color.blue, title="Short MA")
plot(maLong, color=color.red, title="Long MA")

Lebih lanjut