Strategi perdagangan bergulir

Penulis:ChaoZhang, Tanggal: 2023-10-11 16:29:37
Tag:

Pengamatan

Ini adalah strategi pelacakan tren berdasarkan persimpangan rata-rata bergerak, yang dikombinasikan dengan manajemen stop loss stop loss dan efek leverage untuk mengidentifikasi tren di berbagai pasar dan memaksimalkan keuntungan.

Prinsip Strategi

Strategi ini menggunakan persimpangan antara rata-rata bergerak cepat dan rata-rata bergerak lambat sebagai sinyal perdagangan.

Untuk menyaring perdagangan yang bernoda dari tren non-utama, strategi ini juga memperkenalkan 200-hari moving average sebagai penyaring tren. Harga hanya akan ditandai jika harga di atas atau di bawah 200-hari moving average.

Strategi ini menggunakan strategi stop loss trading di kisaran. Setelah perdagangan, stop loss dan stop threshold ditetapkan dalam proporsi yang tetap, seperti stop loss 1%, stop loss 1%, dan leveling ketika harga mencapai stop loss atau stop loss.

Untuk meningkatkan keuntungan perdagangan, strategi menggunakan efek leverage. Menurut karakteristik pasar yang berbeda, proporsi leverage yang tepat dapat dipilih, misalnya 10 kali leverage.

Analisis Keunggulan

  • Salah satu keuntungan dari strategi ini adalah dapat mengidentifikasi tren di berbagai pasar, termasuk pasar cryptocurrency, saham, dan futures, dan memperluas penerapan strategi tersebut.

  • Dengan menggunakan penyeberangan linear dan penyaringan tren yang cepat, Anda dapat mengidentifikasi arah tren dengan lebih baik dan mendapatkan peluang kemenangan yang lebih baik di pasar tren.

  • Menggunakan strategi stop loss stop loss dalam jangkauan dapat mengontrol kerugian tunggal dalam kisaran yang dapat ditanggung, yang mendukung operasi strategi yang stabil.

  • Leverage dapat memperbesar keuntungan perdagangan dan memanfaatkan keuntungan dari strategi.

  • Desain antarmuka visual, menggunakan warna latar belakang yang berbeda untuk menandai pasar multihead dan blank, memungkinkan pengguna untuk secara intuitif menilai situasi pasar saat ini.

Analisis Risiko

  • Strategi ini didasarkan pada ide perdagangan tren, yang akan mengurangi efek perdagangan di pasar yang bergolak.

  • Stop loss stop loss proporsi tetap memiliki risiko yang disesuaikan dengan pasar tertentu.

  • Leverage memperbesar ukuran perdagangan dan memperbesar risiko perdagangan.

  • Rata-rata bergerak sendiri memiliki keterlambatan, yang dapat menyebabkan masalah penundaan sinyal perdagangan.

Optimasi arah

  • Performa strategi di bawah kombinasi parameter yang berbeda dapat dipelajari untuk memilih panjang rata-rata cepat yang lebih baik dari kombinasi parameter.

  • Indikator atau model lain dapat digunakan sebagai sinyal penyaringan untuk meningkatkan akurasi strategi.

  • Dengan cara ini, Anda dapat mempelajari indikator trend identifikasi seperti indikator DC, yang dapat meningkatkan kemampuan strategi untuk menilai tren lebih lanjut.

  • Model pembelajaran mesin dapat digabungkan untuk mengoptimalkan sinyal strategi untuk mengidentifikasi waktu perdagangan yang lebih efektif.

  • Hal ini dapat dianggap sebagai penyesuaian dinamis dari stop loss stop loss untuk mengatur stop loss stop loss yang lebih masuk akal berdasarkan volatilitas dan kondisi pasar.

Pengamatan

Strategi ini secara keseluruhan menggunakan metode pelacakan tren yang lebih sistematis ilmiah, ditambah dengan stop loss, stop loss, dan leverage untuk mengendalikan risiko dan meningkatkan keuntungan. Strategi ini dapat digunakan secara luas di berbagai pasar dan diharapkan untuk mendapatkan keuntungan ekstra yang stabil. Namun masih perlu memperhatikan aspek optimasi parameter, kontrol angin, dan pembaruan strategi untuk bekerja secara efektif dalam jangka panjang.


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

////////////////////////////////////////////////////////////////////////////////
// Bozz Strategy
// Developed for Godstime
// Version 1.1
// 11/28/2021
////////////////////////////////////////////////////////////////////////////////

//@version=4
// strategy("Bozz Strategy", "", true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, margin_long=0, margin_short=0)

// ----------------------------- Inputs ------------------------------------- //
source_ma_type = input("EMA", "Source MA Type", options=["SMA", "EMA"])
source_ma_length = input(50, "Source MA Length")
fast_ma_length = input(20, "Fast MA Length")
slow_ma_length = input(50, "Slow MA Length")
use_trend_filter = input(true, "Trend Filter")
trend_filter_ma_type = input("EMA", "Trend Filter MA Type", options=["SMA", "EMA"])
trend_filter_ma_length = input(200, "Trend Filter MA Period")
show_mas = input(true, "Show MAs")
swing_trading_mode = input(false, "Swing Trading")

// -------------------------- Calculations ---------------------------------- //
fast_ma = ema(close, fast_ma_length)
slow_ma = ema(close, slow_ma_length)
source_ma = source_ma_type == "EMA"? ema(close, source_ma_length): 
                                     sma(close, source_ma_length)
trend_filter_ma = trend_filter_ma_type == "EMA"? ema(close, trend_filter_ma_length): 
                                                 sma(close, trend_filter_ma_length)

// --------------------------- Conditions ----------------------------------- //
uptrend = not use_trend_filter or close > trend_filter_ma
buy_cond = crossover(fast_ma, slow_ma) and uptrend

downtrend = not use_trend_filter or close < trend_filter_ma
sell_cond = crossunder(fast_ma, slow_ma) and downtrend

// ---------------------------- Plotting ------------------------------------ //
bgcolor(use_trend_filter and downtrend? color.red: use_trend_filter? color.green: na)
plot(show_mas? fast_ma: na, "Fast MA", color.green)
plot(show_mas? slow_ma: na, "Slow MA", color.red)
plot(show_mas? source_ma: na, "Source MA", color.purple)
plot(show_mas? trend_filter_ma: na, "Trend Filter MA", color.blue)


// ---------------------------- Trading  ------------------------------------ //
// Inputs
sl_perc = input(1.0, "Stop Loss (in %)", group="Backtest Control")/100
tp_perc = input(1.0, "Take Profit (in %)", group="Backtest Control")/100
leverage = input(10, "Leverage", maxval=100, group="Backtest Control")
bt_start_time = input(timestamp("2021 01 01"), "Backtest Start Time", input.time, group="Backtest Control")
bt_end_time = input(timestamp("2021 12 31"), "Backtest End Time", input.time, group="Backtest Control")

// Trading Window
in_trading_window = true
trade_qty = (strategy.equity * leverage) / close 

// Long Side
strategy.entry("Long Entry", strategy.long,  when=buy_cond and in_trading_window)
long_tp = strategy.position_avg_price * (1 + tp_perc)
long_sl = strategy.position_avg_price * (1 - sl_perc)
if not swing_trading_mode
    strategy.exit("Long Exit", "Long Entry", limit=long_tp, stop=long_sl)

// Short Side
strategy.entry("Short Entry", strategy.short, when=sell_cond and in_trading_window)
short_tp = strategy.position_avg_price * (1 - tp_perc)
short_sl = strategy.position_avg_price * (1 + sl_perc)
if not swing_trading_mode
    strategy.exit("Short Exit", "Short Entry", limit=short_tp, stop=short_sl)

// End of trading window close
strategy.close_all(when=not in_trading_window)

Informasi lebih lanjut