Strategi Scalping Bitcoin Berdasarkan Moving Average Crossover dan corak candlestick

Penulis:ChaoZhang, Tarikh: 2024-02-29 12:01:47
Tag:

img

Ringkasan

Ini adalah strategi scalping Bitcoin jangka masa 5 minit berdasarkan persilangan purata bergerak 9 tempoh dan 15 tempoh dan corak lilin. Khususnya, ia menghasilkan isyarat beli apabila purata bergerak pantas melintasi di atas purata bergerak perlahan dan lilin membentuk palu atau marubozu. Isyarat jual dihasilkan apabila MA pantas melintasi di bawah MA perlahan. Selepas masuk, stop loss 0.5% dan keuntungan 0.5% ditetapkan.

Logika Strategi

Strategi ini menggunakan dua purata bergerak dengan tempoh yang berbeza untuk penentuan trend. MA 9-periode lebih sensitif dan boleh menangkap trend jangka pendek. MA 15-periode lebih stabil dan boleh menapis beberapa bunyi bising. Apabila MA yang lebih cepat melintasi di atas MA yang lebih perlahan, ia menunjukkan trend jangka pendek sedang bertukar ke atas. Kebalikan berlaku untuk trend jangka pendek yang bertukar ke bawah.

Selain itu, corak lilin digunakan untuk pengesahan isyarat. Isyarat beli hanya dihasilkan pada lilin yang kuat seperti palu dan marubozus. Ini membantu mengelakkan isyarat yang salah semasa penyatuan pasaran.

Isyarat dan peraturan perdagangan khusus adalah:

  1. MA 9 tempoh merentasi di atas MA 15 tempoh, dan sudut MA 15 tempoh adalah lebih daripada 30 darjah, menunjukkan trend menaik;

  2. Jika lilin membentuk tukul atau marubozu, menunjukkan momentum menaik yang kuat, isyarat beli dihasilkan;

  3. Pembebasan MA 9 tempoh di bawah MA 15 tempoh menunjukkan trend menurun dan menghasilkan isyarat jual tanpa mengira corak lilin;

  4. Tetapkan stop loss kepada 0.5% dan ambil keuntungan kepada 0.5% selepas masuk.

Analisis Kelebihan

Kelebihan strategi ini ialah:

  1. Penarikan kecil dan keuntungan yang mantap - Kerugian setiap perdagangan adalah terhad yang mengelakkan penarikan besar walaupun di pasaran turun.

  2. Isyarat yang jelas - persilangan MA digabungkan dengan corak lilin mengenal pasti titik pembalikan trend dengan berkesan.

  3. Automasi mudah - Isyarat mudah dan parameter yang boleh diselaraskan membolehkan perdagangan algoritma.

  4. Sesuai untuk turun naik Bitcoin - Fluktuasi Bitcoin yang kerap memberikan banyak peluang perdagangan jangka pendek.

Analisis Risiko

Terdapat juga beberapa risiko:

  1. Rendah kepada banyak kerugian kecil - Kemungkinan tinggi berhenti membawa kepada kerugian terkumpul.

  2. Penyesuaian parameter diperlukan - Keberkesanan berkurangan jika tempoh MA dan tetapan keuntungan tidak sesuai dengan keadaan pasaran.

  3. Bergantung kepada trend yang kuat - Pergerakan sampingan boleh membawa kepada perdagangan yang berlebihan tetapi keuntungan yang kecil.

Penyelesaian adalah:

  1. Perdagangan saiz yang lebih besar untuk memastikan nisbah risiko-balasan yang baik.

  2. Sesuaikan parameter secara dinamik berdasarkan perubahan pasaran.

  3. Mengenal pasti keadaan pasaran dan mengelakkan perdagangan dalam konsolidasi.

Arahan pengoptimuman

Beberapa cara untuk mengoptimumkan strategi:

  1. Tambah mekanisme penyesuaian untuk menghentikan kerugian dan mengambil keuntungan - Sebagai contoh, menghentikan kerugian pada purata bergerak, mengambil keuntungan dinamik dll.

  2. Tambah penapis menggunakan penunjuk lain - contohnya RSI untuk overbought / oversold, peningkatan jumlah dan lain-lain.

  3. Ujian pada produk lain - Gunakan logik yang sama apabila scalping komoditi, indeks niaga hadapan dan lain-lain.

  4. Melakukan pengoptimuman parameter dan pengujian semula untuk mencari parameter optimum.

Kesimpulan

Ringkasnya, ini adalah strategi scalping Bitcoin yang berkesan. Ia mudah dilaksanakan dan sangat boleh dikonfigurasikan. Dengan pengoptimuman berterusan, ia dapat memberikan pendapatan scalping yang stabil. Tetapi risiko perdagangan harus diuruskan dengan bijak dengan mengawal saiz kedudukan dan stop loss.


/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Moving Average Crossover Strategy with Candlestick Patterns", overlay=true)

// Define input parameters
fast_length = input(9, "Fast MA Length")
slow_length = input(15, "Slow MA Length")
stop_loss_percent = input(0.5, "Stop Loss (%)")
target_percent = input(0.5, "Target (%)")
angle_threshold = input(30, "Angle Threshold (degrees)")

// Calculate moving averages
fast_ma = sma(close, fast_length)
slow_ma = sma(close, slow_length)

// Define candlestick patterns
is_pin_bar() =>
    pin_bar = abs(open - close) > 2 * abs(open[1] - close[1])
    high_tail = max(open, close) - high > abs(open - close) * 1.5
    low_tail = low - min(open, close) > abs(open - close) * 1.5
    pin_bar and high_tail and low_tail

is_marubozu() =>
    marubozu = abs(open - close) > abs(open[1] - close[1]) * 0.75
    no_upper_shadow = high == max(open, close)
    no_lower_shadow = low == min(open, close)
    marubozu and no_upper_shadow and no_lower_shadow

is_full_body() =>
    full_body = abs(open - close) > abs(open[1] - close[1]) * 0.95
    full_body

// Plot moving averages
plot(fast_ma, color=color.blue, title="Fast MA")
plot(slow_ma, color=color.red, title="Slow MA")

// Calculate angle of slow moving average
ma_angle = abs(180 * (atan(slow_ma[1] - slow_ma) / 3.14159))

// Generate buy/sell signals based on angle condition and candlestick patterns
buy_signal = crossover(fast_ma, slow_ma) and ma_angle >= angle_threshold and (is_pin_bar() or is_marubozu() or is_full_body())
sell_signal = crossunder(fast_ma, slow_ma)

// Calculate stop-loss and target levels
stop_loss_level = close * (1 - stop_loss_percent / 100)
target_level = close * (1 + target_percent / 100)

// Execute trades based on signals with stop-loss and target
strategy.entry("Buy", strategy.long, when=buy_signal)
strategy.exit("Exit", "Buy", stop=stop_loss_level, limit=target_level)

// Plot buy/sell signals on chart (optional)
plotshape(series=buy_signal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sell_signal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Plot angle line
hline(angle_threshold, "Angle Threshold", color=color.black, linestyle=hline.style_dashed)


Lebih lanjut