Strategi entri pullback berdasarkan persilangan rata-rata pergerakan ganda


Tanggal Pembuatan: 2024-01-15 14:04:54 Akhirnya memodifikasi: 2024-01-15 14:04:54
menyalin: 3 Jumlah klik: 520
1
fokus pada
1617
Pengikut

Strategi entri pullback berdasarkan persilangan rata-rata pergerakan ganda

Keterangan umum

EintSimple Pullback Strategy adalah strategi masuk callback yang didasarkan pada persilangan dua rata-rata bergerak. Strategi ini pertama-tama menggunakan dua rata-rata bergerak jangka panjang dan jangka pendek untuk menghasilkan sinyal beli ketika rata-rata bergerak jangka pendek dari bawah menembus rata-rata bergerak jangka panjang.

Setelah masuk, BTC akan menunjukkan sinyal keluar jika harga kembali turun di bawah rata-rata bergerak jangka pendek. Selain itu, strategi ini juga menetapkan stop loss di luar lapangan, yang akan keluar dari posisi jika persentase stop loss yang ditetapkan tercapai dari titik tertinggi yang ditarik kembali.

Prinsip-prinsip Strategi Logika

Strategi ini didasarkan pada crossover emas dengan dua rata-rata bergerak untuk menentukan kapan masuk. Secara khusus, Anda harus memenuhi persyaratan berikut untuk membuka lebih banyak posisi:

  1. Harga penutupan lebih besar dari rata-rata bergerak jangka panjang ma1
  2. Harga penutupan di bawah rata-rata bergerak jangka pendek ma2
  3. Tidak ada posisi saat ini

Setelah memenuhi persyaratan di atas, strategi ini akan bekerja penuh.

Sinyal keluar didasarkan pada dua kondisi, satu adalah harga jatuh kembali ke bawah rata-rata bergerak jangka pendek, dan yang lain adalah persentase stop loss yang ditetapkan dari titik tertinggi untuk mundur. Kondisi keluar spesifik adalah sebagai berikut:

  1. Harga penutupan lebih besar dari rata-rata bergerak jangka pendek ma2
  2. Persentase Stop Loss Set dari Maximum Point Retraction to Set

Strategi ini akan menghapus semua akun jika memenuhi salah satu dari dua kriteria tersebut.

Analisis Keunggulan

  1. Dengan menggunakan crossover dua rata-rata bergerak dan digabungkan dengan penilaian harga penutupan realistis, dapat secara efektif memfilter terobosan palsu.

  2. Dengan menggunakan retracement entry, bisa masuk setelah harga saham membentuk short-term corner.

  3. Ada pengaturan stop loss untuk membatasi penarikan maksimum.

Analisis Risiko

  1. Strategi crossover rata-rata bergerak ganda cenderung menghasilkan beberapa sinyal perdagangan, yang dapat mengejar kenaikan dan penurunan.

  2. Setting parameter moving average yang tidak tepat dapat menyebabkan kurva menjadi terlalu halus atau terlalu sensitif.

  3. Stop loss yang terlalu longgar akan memperbesar kerugian.

Optimasi

  1. Uji kombinasi parameter rata-rata bergerak jangka panjang dengan panjang yang berbeda untuk menemukan parameter optimal.

  2. Perbandingan tes menggunakan harga close out dan harga tipikal untuk menilai efek persilangan rata-rata bergerak.

  3. Uji penambahan filter seperti volume transaksi atau indikator volatilitas.

  4. Optimalkan pengembalian ke stop loss untuk menemukan pengaturan optimal.

Kesimpulan

EintSimple Pullback Strategy adalah strategi pengembalian rata-rata bergerak ganda yang sederhana dan praktis. Ini memanfaatkan fungsi indikasi rata-rata bergerak secara efektif, sambil mengkombinasikan penilaian harga penutupan entitas untuk memfilter sinyal palsu. Meskipun strategi ini rentan terhadap masalah perdagangan yang sering dan mengejar kenaikan dan penurunan, namun dapat disempurnakan lebih lanjut dengan pengoptimalan parameter dan penambahan filter.

Kode Sumber Strategi
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ZenAndTheArtOfTrading / www.PineScriptMastery.com
// @version=5
strategy("Simple Pullback Strategy", 
     overlay=true, 
     initial_capital=50000,
     default_qty_type=strategy.percent_of_equity, 
     default_qty_value=100)// 100% of balance invested on each trade

// Get user input
i_ma1           = input.int(title="MA 1 Length", defval=75, step=1, group="Strategy Parameters", tooltip="Long-term EMA")
i_ma2           = input.int(title="MA 2 Length", defval=9, step=1, group="Strategy Parameters", tooltip="Short-term EMA")
i_stopPercent   = input.float(title="Stop Loss Percent", defval=0.10, step=0.1, group="Strategy Parameters", tooltip="Failsafe Stop Loss Percent Decline")
i_lowerClose    = input.bool(title="Exit On Lower Close", defval=true, group="Strategy Parameters", tooltip="Wait for a lower-close before exiting above MA2")
i_startTime     = input(title="Start Filter", defval=timestamp("01 Jan 1995 13:30 +0000"), group="Time Filter", tooltip="Start date & time to begin searching for setups")
i_endTime       = input(title="End Filter", defval=timestamp("1 Jan 2099 19:30 +0000"), group="Time Filter", tooltip="End date & time to stop searching for setups")

// Get indicator values
ma1 = ta.ema(close, i_ma1)
ma2 = ta.ema(close, i_ma2)

// Check filter(s)
f_dateFilter = true

// Check buy/sell conditions
var float buyPrice = 0
buyCondition    = close > ma1 and close < ma2 and strategy.position_size == 0 and f_dateFilter
sellCondition   = close > ma2 and strategy.position_size > 0 and (not i_lowerClose or close < low[1])
stopDistance    = strategy.position_size > 0 ? ((buyPrice - close) / close) : na
stopPrice       = strategy.position_size > 0 ? buyPrice - (buyPrice * i_stopPercent) : na
stopCondition   = strategy.position_size > 0 and stopDistance > i_stopPercent

// Enter positions
if buyCondition
    strategy.entry(id="Long", direction=strategy.long)

if buyCondition[1]
    buyPrice := open

// Exit positions
if sellCondition or stopCondition
    strategy.close(id="Long", comment="Exit" + (stopCondition ? "SL=true" : ""))
    buyPrice := na

// Draw pretty colors
plot(buyPrice, color=color.lime, style=plot.style_linebr)
plot(stopPrice, color=color.red, style=plot.style_linebr, offset=-1)
plot(ma1, color=color.blue)
plot(ma2, color=color.fuchsia)