Strategi pembukaan crossover purata bergerak berganda

MA5 SMA
Tarikh penciptaan: 2024-04-30 17:37:53 Akhirnya diubah suai: 2024-04-30 17:37:53
Salin: 10 Bilangan klik: 592
1
fokus pada
1617
Pengikut

Strategi pembukaan crossover purata bergerak berganda

Gambaran keseluruhan

Ini adalah strategi pembukaan kedudukan yang berpusat pada rata-rata bergerak 5 hari ((MA5)). Strategi utama strategi ini adalah: membuka kedudukan di atas atau di bawah MA5 pada jarak tertentu, menutup posisi apabila harga penutupan lebih tinggi daripada harga pembukaan atau kembali ke harga pembukaan. Strategi ini bertujuan untuk menangkap trend jangka pendek sambil mengawal risiko.

Prinsip Strategi

Strategi ini menggunakan purata bergerak mudah 5 hari ((SMA)) sebagai petunjuk utama. Apabila carta baru dibuka dengan harga yang lebih tinggi daripada MA5, senario beli dilaksanakan; apabila carta baru dibuka dengan harga yang lebih rendah daripada MA5 dan jaraknya lebih dari 0.002 mata dari MA5, senario beli dilaksanakan. Untuk syarat jual, apabila harga dibuka dengan harga yang lebih tinggi daripada harga rata-rata kedudukan terbuka atau sama dengan harga rata-rata kedudukan terbuka, senario jual dilaksanakan; apabila harga dibuka dengan harga yang lebih rendah daripada 0.1% daripada harga rata-rata kedudukan terbuka, senario jual dilaksanakan.

Analisis kelebihan

  1. Strategi ini berdasarkan trend jangka pendek dan mampu menangkap perubahan pasaran dengan cepat.
  2. Anda boleh menyaring beberapa isyarat bunyi bising dengan menetapkan nilai had jarak MA5.
  3. Dengan menetapkan syarat-syarat stop loss, risiko dapat dikawal dengan berkesan.
  4. Logik strategi jelas, mudah difahami dan dilaksanakan.

Analisis risiko

  1. Strategi ini bergantung kepada satu indikator dan mungkin menghadapi risiko kegagalan indikator.
  2. Strategi trend jangka pendek mungkin menghadapi risiko perdagangan yang kerap dan meningkatkan kos perdagangan.
  3. Peratusan stop loss tetap mungkin tidak sesuai dengan keadaan pasaran yang berbeza.

Arah pengoptimuman

  1. Indeks lain seperti RSI, MACD dan sebagainya boleh dipertimbangkan untuk meningkatkan kebolehpercayaan isyarat.
  2. Anda boleh mengoptimumkan halangan dan keadaan hentian, seperti menggunakan peratusan hentian bergerak atau hentian dinamik.
  3. Anda boleh menyesuaikan strategi anda dengan keadaan pasaran yang berbeza dengan menetapkan parameter yang berbeza.

ringkaskan

Strategi pembukaan kedudukan dua garis sejajar adalah strategi mudah berdasarkan trend jangka pendek. Melalui penembusan ke atas dan ke bawah MA5 dan tetapan jarak dari paras paras paras, peluang trend jangka pendek dapat ditangkap. Pada masa yang sama, stop loss peratusan tetap dapat mengawal risiko. Tetapi strategi ini juga mempunyai beberapa batasan, seperti bergantung pada satu indikator, perdagangan yang kerap, dan sebagainya.

Kod sumber strategi
/*backtest
start: 2023-04-24 00:00:00
end: 2024-04-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("YBS Strategy 1.1", overlay=true)

// Moving Average Settings
ma5 = ta.sma(close, 5)

// Scenario 1: Buy when a new candle opens above the MA5
buy_condition_scenario1 = open > ma5

// Scenario 2: Buy when a new candle opens below the MA5 and is at a significant distance from the MA5
distance_from_ma5 = open - ma5
buy_condition_scenario2 = open < ma5 and distance_from_ma5 > 0.002 // Define distance in points here

// Sell: Sell at the close of the candle if it's positive above the entry price, or if the price returns to the entry price
sell_condition_scenario1 = close > strategy.position_avg_price or close == strategy.position_avg_price
sell_condition_scenario2 = close <= strategy.position_avg_price * 0.999 // Close if price drops more than 0.1% from entry price

// Execute buy and sell orders
if (buy_condition_scenario1 and not (strategy.opentrades > 0))
    strategy.entry("Buy Scenario 1", strategy.long)

if (buy_condition_scenario2 and not (strategy.opentrades > 0))
    strategy.entry("Buy Scenario 2", strategy.long)

if (sell_condition_scenario1)
    strategy.close("Buy Scenario 1")

if (sell_condition_scenario2)
    strategy.close("Buy Scenario 2")