Strategi trailing stop loss indikator nelayan


Tanggal Pembuatan: 2024-02-02 14:57:33 Akhirnya memodifikasi: 2024-02-02 14:57:33
menyalin: 0 Jumlah klik: 717
1
fokus pada
1617
Pengikut

Strategi trailing stop loss indikator nelayan

Ringkasan

Strategi Stop Loss Mobile Fisherman adalah strategi perdagangan kuantitatif yang menggabungkan indikator Fisherman dan mekanisme Stop Loss Mobile. Strategi ini menggunakan indikator Fisherman untuk menghasilkan sinyal beli dan jual, sambil mengatur tracking stop loss untuk mengunci keuntungan, untuk mendapatkan keuntungan lebih besar sambil melindungi keuntungan.

Prinsip Strategi

  1. Masukkan rentang tanggal, batas waktu pengukuran ulang atau disk
  2. Masukkan parameter untuk indikator Fisher, default 2 siklus
  3. Rasio stop loss input, default 5% stop loss, 2% stop loss
  4. Perhitungan Indikator Master Line dan Signal Line
  5. Sinyal beli dihasilkan saat melewati kabel sinyal di jalur utama
  6. Setting tracking stop loss, stop loss saat harga turun 2% setelah memasuki posisi panjang
  7. Harga lebih dari 5 persen, berhenti

Analisis Keunggulan

  1. Indikator nelayan mudah menilai tren, sinyal pembelian akurat
  2. Mekanisme tracking stop loss dapat mengunci sebagian besar keuntungan sambil menghindari melebihi titik stop loss yang ditetapkan
  3. Parameter yang dapat disesuaikan untuk berbagai kondisi pasar
  4. Implementasi yang mudah digunakan dan mudah dipahami

Analisis risiko

  1. Setting parameter yang tidak tepat dapat menyebabkan perdagangan yang terlalu radikal dan harus diuji dengan hati-hati
  2. Stop loss yang terlalu besar dapat menyebabkan dampak Outiliers yang menyebabkan kerugian lebih besar dari yang diharapkan
  3. Terlalu kecilnya titik tolak dapat menyebabkan keuntungan dipotong lebih awal dan mempengaruhi profitabilitas
  4. Parameter yang sesuai harus ditentukan berdasarkan varietas yang berbeda

Parameter dapat dioptimalkan dengan menyesuaikan rasio stop loss, menguji kombinasi parameter yang berbeda; memfilter sinyal dalam kombinasi dengan indikator lain; mengatur aturan manajemen posisi untuk mengendalikan risiko tunggal.

Arah optimasi

  1. Parameter untuk mengoptimalkan indikator nelayan, menguji dampak dari parameter yang berbeda pada strategi
  2. Kombinasi dengan indikator lain, seperti MACD, KD, dan lain-lain untuk meningkatkan kualitas sinyal filter
  3. Menambahkan penilaian kondisional sebelum membuka posisi, seperti menembus Brin Belt dan lain-lain
  4. Menambahkan Modul Manajemen Posisi untuk Mengontrol Risiko dari Posisi Tunggal
  5. Cara mengoptimalkan stop loss bergerak, seperti smoothing stop loss bergerak, Chandelier Exit, dan lain-lain

Meringkaskan

Strategi Stop Loss Mobile Fisherman’s Indicator yang mengintegrasikan penilaian tren dan manajemen stop loss, dapat disesuaikan dengan sebagian besar varietas melalui pengoptimalan parameter, kombinasi indikator, dan perbaikan metode stop loss, untuk mendapatkan keuntungan yang lebih baik dengan asumsi mencegah kerugian di luar yang dapat ditanggung, layak untuk dieksplorasi dan dipraktekkan.

Kode Sumber Strategi
/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Fisher_Yurik Strategy with Trailing Stop", shorttitle="FY Strategy", overlay=true)

// Date Ranges 
from_month = input(defval = 1, title = "From Month")
from_day   = input(defval = 1, title = "From Day")
from_year  = input(defval = 2021, title = "From Year")
to_month   = input(defval = 1, title = "To Month")
to_day     = input(defval = 1, title = "To Day")
to_year    = input(defval = 9999, title = "To Year")
start  = timestamp(from_year, from_month, from_day, 00, 00)  // backtest start window
finish = timestamp(to_year, to_month, to_day, 23, 59)        // backtest finish window
window = true
period = input(2, title='Period')
cost = input.float(1.05, title='profit level ', step=0.01)
dusus = input.float(1.02, title='after the signal', step=0.01)

var float Value = na
var float Fish = na
var float ExtBuffer1 = na
var float ExtBuffer2 = na

price = (high + low) / 2
MaxH = ta.highest(high, period)
MinL = ta.lowest(low, period)

Value := 0.33 * 2 * ((price - MinL) / (MaxH - MinL) - 0.5) + 0.67 * nz(Value[1])
Value := math.max(math.min(Value, 0.999), -0.999)
Fish := 0.5 * math.log((1 + Value) / (1 - Value)) + 0.5 * nz(Fish[1])

up = Fish >= 0

ExtBuffer1 := up ? Fish : na
ExtBuffer2 := up ? na : Fish

var float entryPrice = na
var float stopPrice = na
 
if (ExtBuffer1 > ExtBuffer1[1])
    entryPrice := close*dusus
    stopPrice := close * cost 
 
if (ExtBuffer2 < ExtBuffer2[1])
    entryPrice := close
    stopPrice := close * cost

// Sadece seçilen test döneminde işlem yapma koşulu eklenmiştir
strategy.entry("Buy", strategy.long, when=ExtBuffer1 > ExtBuffer1[1] and window)
strategy.exit("Take Profit/Trailing Stop", from_entry="Buy", when=(close >= entryPrice * cost) or (close < stopPrice), trail_offset=0.08, trail_price=entryPrice * cost)