Strategi pengujian ulang saluran SSL berdasarkan ATR dan manajemen uang


Tanggal Pembuatan: 2023-11-23 10:26:58 Akhirnya memodifikasi: 2023-11-23 10:26:58
menyalin: 1 Jumlah klik: 731
1
fokus pada
1617
Pengikut

Strategi pengujian ulang saluran SSL berdasarkan ATR dan manajemen uang

Ringkasan

Strategi ini adalah strategi pengembalian yang didasarkan pada indikator SSL Channel, dan menggabungkan fungsi seperti ATR Stop Loss, ATR Stop Stop, dan Manajemen Uang, untuk menguji keunggulan strategi SSL Channel secara lebih komprehensif.

Prinsip Strategi

Indikator SSL

Indikator SSL Channel terdiri dari jalur tengah dan jalur jalur. Jalur tengah saluran adalah rata-rata bergerak sederhana, yang terbagi menjadi jalur atas dan bawah, biasanya mengambil rata-rata bergerak sederhana selama titik tinggi sebagai jalur atas, dan rata-rata bergerak sederhana selama titik rendah sebagai jalur bawah. Jalur jalur terdiri dari daerah antara jalur atas dan bawah.

Ketika harga mendekati jalur atas dianggap sebagai overbought, dan ketika harga mendekati jalur bawah dianggap sebagai oversold. Ketika harga menembus jalur channel band, ini menunjukkan sinyal perubahan tren.

Parameter indikator saluran SSL dalam kebijakan ini adalah:ssl_period=16

ATR berhenti

ATR adalah rata-rata amplitudo riil. Ini dapat digunakan untuk menilai volatilitas pasar dan menentukan posisi stop loss.

Strategi ini menggunakan argumenatr_period=14Indeks ATR, dan digabungkan denganatr_stop_factor=1.5Danatr_target_factor=1.0Sebagai perkalian dinamis dari stop loss dan stop loss, stop loss yang didasarkan pada volatilitas pasar.

Selain itu, untuk menyesuaikan dengan varietas yang berbeda, strategi ini juga telah ditambahkan.two_digitParameter menilai kontrak dengan ketepatan 2 bit varietas (seperti emas, yen), sehingga dapat menyesuaikan stop loss stop position secara fleksibel.

Manajemen dana

Pengelolaan dana terutama melalui parameterposition_size(posisi tetap) danrisk(Prosentase risiko terobosan) tercapai.use_mm=trueModul pengelolaan dana akan diaktifkan.

Tujuan utama dari pengelolaan dana adalah untuk mengontrol ukuran posisi setiap kali membuka posisi. Ketika menggunakan model risiko persentase tetap, risiko akan dihitung berdasarkan ekuitas akun dan kemudian dikonversi menjadi jumlah kontrak, sehingga dapat mencegah kerugian tunggal.

Analisis Keunggulan

  • Menggunakan saluran SSL untuk menilai arah tren, memiliki efek tertentu untuk menangkap konversi tren
  • Menggunakan ATR untuk menghitung posisi stop loss yang dapat beradaptasi dengan volatilitas pasar
  • Menggunakan prinsip-prinsip pengelolaan dana untuk membantu mengendalikan risiko dalam jangka panjang

Analisis risiko

  • SSL channel dapat mengindikasikan perubahan tren, namun tidak 100% dapat diandalkan, dan mungkin akan memberikan sinyal yang salah
  • ATR mengikuti volatilitas pasar dengan pengaturan stop loss yang mungkin terlalu longgar atau terlalu kaku
  • Pengaturan parameter pengelolaan dana yang tidak tepat juga dapat menyebabkan posisi yang terlalu besar atau terlalu tidak efisien

Risiko-risiko ini dapat diatasi dengan:

  1. Konfirmasi dengan indikator lain untuk menghindari sinyal yang salah
  2. Sesuai menyesuaikan parameter siklus ATR untuk mencapai keseimbangan optimal dari level stop loss
  3. Tes berbagai parameter manajemen dana untuk menemukan posisi terbaik

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Mengoptimalkan parameter SSL untuk mencari kombinasi optimal
  2. Optimalkan atau ganti mekanisme ATR stop-loss untuk membuatnya lebih baik
  3. Menambahkan indikator penyaringan lainnya untuk menghindari transaksi yang tidak perlu
  4. Menambahkan modul kontrol posisi untuk memaksimalkan keuntungan dan kerugian
  5. Menyesuaikan parameter untuk varietas yang berbeda untuk meningkatkan adaptasi strategi
  6. Menambahkan alat kuantitatif untuk pengukuran dan optimalisasi yang lebih komprehensif

Dengan pengujian dan pengoptimalan sistem, strategi ini dapat menjadi sistem perdagangan kuantitatif yang dapat diandalkan dan stabil.

Meringkaskan

Strategi ini mengintegrasikan tiga mekanisme untuk menilai tren indikator SSL channel, ATR untuk mengatur stop loss dan pengendalian risiko manajemen dana. Efek strategi ini dapat diuji melalui umpan balik yang komprehensif, dan dapat digunakan sebagai kerangka dasar untuk mengoptimalkan strategi perdagangan kuantitatif. Pada saat yang sama, ada ruang untuk perbaikan dalam strategi ini, seperti menambahkan indikator filter lainnya, parameter optimasi, dan fungsi ekstensi.

Kode Sumber Strategi
/*backtest
start: 2023-10-23 00:00:00
end: 2023-11-22 00:00:00
period: 2h
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/
// © comiclysm

//@version=4
strategy("SSL Backtester", overlay=false)

//--This strategy will simply test the effectiveness of the SSL using
//--money management and an ATR-derived stop loss

//--USER INPUTS

two_digit = input(false, "Check this for 2-digit pairs (JPY, Gold, Etc)")
ssl_period = input(16, "SSL Period")
atr_period = input(14, "ATR Period")
atr_stop_factor = input(1.5, "ATR Stop Loss Factor")
atr_target_factor = input(1.0, "ATR Target Factor")
use_mm = input(true, "Check this to use Money Management")
position_size = input(1000, "Position size (for Fixed Risk)")
risk = input(0.01, "Risk % in Decimal Form")

//--INDICATORS------------------------------------------------------------

    //--SSL
    
sma_high = sma(high, ssl_period)
sma_low = sma(low, ssl_period)
ssl_value = 0
ssl_value := close > sma_high ? 1 : close < sma_low ? -1 : ssl_value[1]
ssl_low = ssl_value < 0 ? sma_high : sma_low
ssl_high = ssl_value < 0 ? sma_low : sma_high

    //--Average True Range
    
atr = atr(atr_period)

//--TRADE LOGIC----------------------------------------------------------

signal_long = ssl_value > 0 and ssl_value[1] < 0
signal_short = ssl_value < 0 and ssl_value[1] > 0

//--RISK MANAGMENT-------------------------------------------------------
strategy.initial_capital = 50000
balance = strategy.netprofit + strategy.initial_capital
risk_pips = atr*10000*atr_stop_factor
if(two_digit)
    risk_pips := risk_pips / 100
risk_in_value = balance * risk
point_value = syminfo.pointvalue
risk_lots = risk_in_value / point_value / risk_pips
final_risk = use_mm ? risk_lots * 10000 : position_size

//--TRADE EXECUTION-----------------------------------------------------

if (signal_long)
    stop_loss = close - atr * atr_stop_factor
    target = close + atr * atr_target_factor
    strategy.entry("Long", strategy.long, final_risk)
    strategy.exit("X", "Long", stop=stop_loss, limit=target)
if (signal_short)
    stop_loss = close + atr * atr_stop_factor
    target = close - atr * atr_target_factor
    strategy.entry("Short", strategy.short, final_risk)
    strategy.exit("X", "Short", stop=stop_loss, limit=target)
    
//--PLOTTING-----------------------------------------------------------

plot(ssl_low, "SSL", color.red, linewidth=1)
plot(ssl_high, "SSL", color.lime, linewidth=1)