Strategi Pemisahan Dukungan dan Resistensi Rata-rata Bergerak

Penulis:ChaoZhang, Tanggal: 2023-09-28 15:20:47
Tag:

Gambaran umum

Strategi ini mengidentifikasi level support dan resistance utama berdasarkan moving average, dan mengambil perdagangan ketika harga menembus level ini.

Logika Strategi

Strategi ini menggunakan Simple Moving Average (SMA) dengan periode 50 untuk mengidentifikasi zona support dan resistance.

  • Ketika harga penutupan melintasi SMA dari bawah, tertinggi tertinggi selama 50 periode terakhir dianggap sebagai resistance R
  • Ketika harga penutupan melintasi SMA dari atas, terendah terendah selama 50 periode terakhir dianggap sebagai dukungan S
  • Pergi panjang ketika dekat melebihi resistensi R
  • Pergi pendek ketika dekat putus dukungan S

Dengan kata lain, strategi ini menggunakan SMA 50 periode untuk membagi zona harga, dan mengambil perdagangan ketika harga keluar dari zona ini.

Analisis Keuntungan

Strategi ini memiliki keuntungan berikut:

  1. Menggunakan moving average untuk mengidentifikasi support/resistance cukup dapat diandalkan dan dapat secara efektif menyaring false breakout.
  2. Periode 50 tahun tidak terlalu panjang atau terlalu pendek, dan dapat mendeteksi tingkat jangka menengah yang berarti.
  3. Ini hanya menggunakan satu indikator SMA, yang menghasilkan overhead sistem yang rendah dan penerapan yang mudah.
  4. Strategi trading breakout sederhana dan efektif.
  5. Ada beberapa parameter yang dapat disesuaikan, menghindari optimasi yang berlebihan.

Analisis Risiko

Strategi ini juga memiliki risiko berikut:

  1. Masih ada beberapa risiko pecah palsu yang SMA tidak dapat sepenuhnya menyaring.
  2. Periode tetap tidak dapat beradaptasi dengan siklus pasar yang berbeda, berpotensi kehilangan peluang jangka pendek.
  3. Kemungkinan terjadi penarikan dan pengujian ulang setelah penyusutan awal, yang membutuhkan teknik stop loss yang bijaksana.
  4. Arah tren yang lebih besar perlu dipantau untuk perdagangan jangka panjang.

Risiko ini dapat ditangani melalui optimasi seperti menyesuaikan periode SMA, menambahkan indikator filter tren, dll. Manajemen stop loss yang tepat juga sangat penting.

Arahan Optimasi

Beberapa cara strategi dapat ditingkatkan:

  1. Tambahkan indikator seperti MACD untuk membantu mengukur arah tren dan momentum.
  2. Menerapkan optimasi adaptif periode MA untuk penyesuaian dinamis.
  3. Memperbaiki deteksi breakout, misalnya membutuhkan pemecahan MA dan Bollinger Band secara bersamaan.
  4. Menggabungkan mekanisme stop loss untuk mengendalikan kerugian perdagangan tunggal.
  5. Uji parameter periode MA yang berbeda untuk menemukan kombinasi optimal.

Peningkatan ini dapat membuat strategi lebih kuat di berbagai siklus pasar.

Ringkasan

Secara keseluruhan, strategi ini mengidentifikasi support/resistance dengan SMA dan trade breakout, menjaga hal-hal sederhana dan efektif. Ada juga ruang yang signifikan untuk optimasi di berbagai dimensi. Sementara false breakout tetap menjadi risiko, penggunaan stop loss yang bijaksana dapat secara efektif mengendalikannya. Strategi ini mudah dipahami bagi pemula dan bagus untuk mendapatkan pengalaman praktis.


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

//--------------------------*
//-- This source code is subject to the terms of the Mozilla Public License 2.0
//-- 開源代碼受Mozilla公眾授權條款2.0版規範, 網址是https://mozilla.org/MPL/2.0/
//
//@version=4
//
//  作品: [LunaOwl] 支撐壓力策略第4版
//  英文: [LunaOwl] Support Resistance Strategy V4
//
////////////////////////////////
//     ~~!!*(๑╹◡╹๑) **       //
//  製作:  @LunaOwl 彭彭      //
//  日期:  2019年03月05日     //
//  修改:  2019年04月22日     //
//  四版:  2020年06月16日     //
//  發表:  2020年06月17日     //
////////////////////////////////

//==設定策略==//

strategy("[LunaOwl] 支撐壓力策略 [回測]",
     shorttitle          = "支撐壓力策略 [回測]",
     overlay             = true,
     calc_on_order_fills = false,
     calc_on_every_tick  = false,
     pyramiding          = 0,
     currency            = currency.NONE,
     initial_capital     = 10000,
     slippage            = 5,
     default_qty_value   = 100,
     default_qty_type    = strategy.percent_of_equity,
     commission_type     = strategy.commission.percent,
     commission_value    = 0.05
     )

LB = input(50, title = "回溯期數", type = input.integer)
R = valuewhen(cross(sma(close, LB),close), highest(high, LB), 1)
S = valuewhen(cross(close,sma(close, LB)),  lowest( low, LB), 1)

plot(R, title = "壓力", color = color.green)
plot(S, title = "支撐", color = color.red)

//==定義輸出結果==//

Trend_up = crossover(close, R) ? 1 : 0
Trend_dn = crossunder(close, S) ? -1 : 0

//==設定出場規則==//

Enter = Trend_up ==  1 and Trend_up[1] == 0 ? Trend_up : na
Exit  = Trend_dn == -1 and Trend_dn[1] == 0 ? Trend_dn : na
strategy.entry("多", strategy.long, when = Enter)
strategy.entry("空", strategy.short, when = Exit)

Lebih banyak