Swing Points Breakout Strategi Dagangan

Penulis:ChaoZhang, Tarikh: 2023-09-12 14:40:56
Tag:

Strategi ini mengenal pasti swing high dan low dalam harga untuk perdagangan breakouts dalam arah trend.

Logik Strategi:

  1. Mengenal pasti swing high dan low dalam tempoh tertentu.

  2. Pergi panjang apabila harga pecah di atas swing tinggi.

  3. Pergi pendek apabila harga pecah di bawah swing rendah.

  4. Tetapkan stop loss pada swing low sebelumnya (untuk panjang) atau swing high (untuk pendek) untuk mengawal risiko.

  5. Jika harga berbalik di bawah stop loss, keluarkan kedudukan.

Kelebihan:

  1. Titik-titik swing secara berkesan mengenal pasti trend.

  2. Melanggar titik swing mempercepatkan tingkah laku harga, baik untuk trend berikut.

  3. Hentian pada tahap sokongan/tahan utama menguruskan risiko.

Risiko:

  1. Titik swing sering tertinggal, risiko kehilangan masa masuk yang terbaik.

  2. Berhenti terlalu ketat akan terjejas oleh bunyi pasaran.

  3. Pejuang yang melarikan diri cenderung untuk melakukan penipuan kepala, perlu berhenti untuk mempertahankan penarikan balik.

Ringkasnya, strategi penembusan titik ayunan mengikuti trend jangka menengah / panjang menggunakan perdagangan penembusan berdasarkan trend. Ia dapat mencapai kadar kemenangan yang tinggi tetapi memerlukan masa masuk yang teliti dan penempatan stop loss untuk mengoptimumkan prestasi. Pelabur harus mempertimbangkan risikonya dan menerapkan pengurusan wang yang sesuai untuk keuntungan yang stabil dalam jangka panjang.


/*backtest
start: 2023-08-12 00:00:00
end: 2023-09-11 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Swing Points", overlay=true)


leftBars = input(1)
rightBars=input(1)
sl = pivotlow(low, leftBars, rightBars)
sh = pivothigh(high, leftBars, rightBars)

last_sh=na
last_sh:= sh!=0 ? sh : nz(last_sh[1])

last_sl=na
last_sl:= sl!=0 ? sl : nz(last_sl[1])


EMA = ema(close,55)

longCondition = sh and high > EMA
shortCondition = sl and close < EMA
exitLongCondition = sl < sh[1]
exitShortCondition = sh > sl[1]

if longCondition 
    strategy.entry("swinghigh", strategy.long, stop=last_sh)
    
if shortCondition 
    strategy.entry("swinglow", strategy.short, stop=last_sl)
   
if exitLongCondition
    strategy.exit("stoplong", "swinghigh", stop = last_sl )

if exitShortCondition
    strategy.exit("stopshort", "swinglow", stop = last_sh )
    
plot(EMA,linewidth = 4)

Lebih lanjut