Strategi laba mengikuti tren


Tanggal Pembuatan: 2023-09-26 11:22:04 Akhirnya memodifikasi: 2023-09-26 11:22:04
menyalin: 1 Jumlah klik: 590
1
fokus pada
1617
Pengikut

Ringkasan

Strategi trend-following profit-taking bertujuan untuk mendeteksi tren jangka panjang dan pengembalian jangka pendek dari aset, mengambil posisi untuk peluang penyesuaian jangka pendek dengan posisi bullish jangka panjang, dan menetapkan garis stop loss yang masuk akal untuk menghentikan stop loss tepat waktu.

Prinsip Strategi

Strategi ini terutama didasarkan pada EMA rata-rata dan RSI untuk menentukan tren jangka pendek. Secara khusus, ia menggunakan 50 hari EMA dan 200 hari EMA untuk menentukan tren jangka panjang, menggunakan RSI untuk menentukan tren jangka panjang yang kuat.

Setelah masuk, strategi mengatur kondisi stop loss. Jika harga naik lebih dari 2 kali BHD unit dari harga masuk, maka Anda akan mendapat untung. Jika harga turun lebih dari 3 kali BHD unit dari harga masuk, maka Anda akan mendapatkan kerugian.

Dengan demikian, strategi ini mempertimbangkan karakteristik tren jangka pendek dan panjang, mengendalikan risiko sambil meningkatkan keuntungan, dan dapat dilakukan secara berurutan dan tepat waktu untuk menghentikan kerugian.

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Pertimbangkan karakteristik tren jangka pendek dan panjang, dan hindari posisi buta di pasar yang bergejolak.

  2. “Saya tidak tahu apa-apa tentang itu, tapi saya pikir itu adalah salah satu cara yang paling efektif untuk mendapatkan keuntungan dari perdagangan forex.

  3. Pengaturan Stop Loss, yang membantu untuk mendapatkan keuntungan dan mengendalikan risiko.

  4. Stop loss adalah titik yang dapat disesuaikan secara dinamis berdasarkan volatilitas pasar.

  5. Data retrospektif menunjukkan bahwa strategi ini memiliki keuntungan yang tinggi dan stabilitas yang baik pada beberapa pasangan mata uang dan siklus.

  6. Strategi yang sederhana dan jelas, mudah dipahami dan diterapkan, cocok untuk semua tingkat trader.

Analisis risiko

Strategi ini juga memiliki beberapa risiko:

  1. Ada kemungkinan kesalahan dalam penilaian jangka pendek dan jangka panjang, dan kemungkinan kesalahan dalam menentukan arah posisi.

  2. Pasar mungkin mengalami penurunan yang dahsyat, dan stop loss tidak dapat sepenuhnya menghindari risiko kerugian besar.

  3. Pengaturan parameter yang tidak tepat (seperti siklus rata-rata, dll.) dapat mempengaruhi efek strategi.

  4. Stop-loss terlalu kecil, dan mungkin akan mempengaruhi keuntungan jika Anda berhenti bermain terlalu dini.

  5. Data retest tidak mewakili kinerja real-time dan perlu terus dioptimalkan selama real-time.

Solusi untuk menghadapi risiko:

  1. Optimalkan parameter, sesuaikan siklus rata-rata, atau tambahkan indikator lain untuk menilai kekuatan atau kelemahan.

  2. Anda dapat mengatur stop loss yang lebih besar, atau menambahkan mekanisme kontrol angin seperti menurunkan posisi.

  3. Melakukan pengukuran ulang dan mengevaluasi dampak dari berbagai parameter terhadap strategi.

  4. Optimalkan parameter stop loss secara dinamis, dan sesuaikan stop loss dengan kondisi pasar.

  5. Pengukuran dan pengoptimalan terus-menerus, dengan penyesuaian pada hard drive, membuat strategi lebih stabil.

Arah optimasi

Strategi ini dapat dioptimalkan lebih lanjut dalam beberapa hal:

  1. Pengaturan parameter yang dioptimalkan, seperti penyesuaian siklus rata-rata, siklus satuan BHD, dan lain-lain, untuk menemukan kombinasi parameter yang optimal.

  2. Menambahkan penilaian indikator lainnya, seperti MACD, KD, dan lain-lain, membuat penilaian jangka pendek lebih akurat.

  3. Mengoptimalkan strategi stop loss, seperti menyesuaikan stop loss dengan dinamika fluktuasi harga, dan sebagainya.

  4. Menambahkan strategi manajemen posisi, seperti kekuatan tren mempengaruhi ukuran posisi.

  5. Untuk menguji lebih banyak varietas dan siklus data, evaluasi kekuatan strategi.

  6. Menambahkan kondisi filter, seperti harga close out lebih tinggi dari harga open out, dapat menghindari jebakan.

  7. Menambahkan teknologi canggih seperti pembelajaran mesin untuk membuat strategi lebih otomatis dan cerdas.

Dengan optimasi di atas, kinerja strategi dapat ditingkatkan dalam hal tingkat kemenangan, tingkat pengembalian, stabilitas, dan kemampuan beradaptasi.

Meringkaskan

Strategi pelacakan tren keuntungan secara keseluruhan, dengan mempertimbangkan karakteristik jangka panjang, tren, dan stop loss yang jelas, adalah strategi pelacakan tren yang lebih stabil dan efisien. Tetapi ada juga risiko tertentu, perlu untuk terus mengoptimalkan pengujian parameter dan aturan, yang dikombinasikan dengan kondisi real-situs penyesuaian. Secara keseluruhan, strategi ini jelas dan mudah dioperasikan, layak bagi pedagang untuk belajar. Jika dioptimalkan lebih lanjut, dapat menjadi salah satu strategi perdagangan kuantitatif yang stabil dan andal.

Kode Sumber Strategi
/*backtest
start: 2023-08-26 00:00:00
end: 2023-09-25 00:00:00
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/
// © BHD_Trade_Bot

// @version=5
strategy(
 shorttitle            = 'Take Profit On Trend',
 title                 = 'Take Profit On Trend (by BHD_Trade_Bot)',
 overlay               = true,
 calc_on_every_tick    = true,
 calc_on_order_fills   = true,
 use_bar_magnifier     = true,
 initial_capital       = 1000,
 default_qty_type      = strategy.percent_of_equity,
 default_qty_value     = 100,
 commission_type       = strategy.commission.percent,
 commission_value      = 0.1)



// Backtest Time Period
start_year   = input(title='Start year'   ,defval=2021)
start_month  = input(title='Start month'  ,defval=1)
start_day    = input(title='Start day'    ,defval=1)
start_time = timestamp(start_year, start_month, start_day, 00, 00)

end_year     = input(title='end year'     ,defval=2050)
end_month    = input(title='end month'    ,defval=1)
end_day      = input(title='end day'      ,defval=1)
end_time = timestamp(end_year, end_month, end_day, 23, 59)

is_back_test_time() => true



// EMA
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)

// RSI
rsi200 = ta.rsi(close, 200)

// EMA_CD
emacd = ema50 - ema200
emacd_signal = ta.ema(emacd, 50)
hist = emacd - emacd_signal

// BHD Unit
bhd_unit = ta.rma(high - low, 200) * 2
bhd_upper = ema200 + bhd_unit
bhd_lower = ema200 - bhd_unit



// All n candles is going down
all_body_decrease(n) =>
    isValid = true
    for i = 0 to (n - 1)
        if (close[i] > close[i + 1])
            isValid := false
            break
    isValid



// ENTRY CONDITIONS

// Long-term uptrend
entry_condition1 = rsi200 > 51 and hist > 0

// Short-term downtrend
entry_condition2 = all_body_decrease(2)

ENTRY_CONDITIONS = entry_condition1 and entry_condition2

if ENTRY_CONDITIONS and is_back_test_time()
    strategy.entry('entry', strategy.long)


// CLOSE CONDITIONS

// Price increase 2 BHD unit
take_profit = close > strategy.position_avg_price + bhd_unit * 2

// Price decrease 3 BHD unit
stop_loss = close < strategy.position_avg_price - bhd_unit * 3

CLOSE_CONDITIONS = take_profit or stop_loss

if CLOSE_CONDITIONS
    strategy.close('entry')



// Draw
plot(ema50, color=color.orange, linewidth=2)
plot(ema200, color=color.purple, linewidth=2)
bhd_upper_line = plot(bhd_upper, color=color.teal)
bhd_lower_line = plot(bhd_lower, color=color.teal)
fill(bhd_upper_line, bhd_lower_line, color=color.new(color.teal, 90))