Strategi Pelacakan Tren untuk Memaksimalkan Keuntungan

Penulis:ChaoZhang, Tanggal: 2023-10-11 14:38:40
Tag:

Gambaran umum

Strategi ini menghitung rata-rata bergerak dan standar deviasi CHANNEL harga untuk membentuk rel atas dan bawah yang dinamis, dan menggabungkan nilai rata-rata harga tertinggi dan terendah untuk membentuk rel tengah, sehingga dapat menilai arah tren saat ini. Ketika harga menembus rel atas, itu berarti panjang. Ketika harga menembus rel bawah, itu berarti pendek. Ini menerapkan strategi yang diperdagangkan berdasarkan perubahan tren.

Logika Strategi

  1. Menghitung 20-hari sederhana bergerak rata-rata menutup sebagai dasar untuk garis referensi tengah
  2. Menghitung 20 hari standar deviasi dekat sebagai dasar untuk jarak antara rel atas dan bawah dan rel tengah
  3. Dasar rel tengah ± 2*dev menentukan rel atas atas dan rel bawah bawah
  4. Menghitung nilai rata-rata harga atas tertinggi2 dan harga bawah terendah2 dalam 20 hari terakhir sebagai dasar2 untuk rel tengah kedua
  5. Ambil nilai rata-rata MB dari dua rel tengah di atas sebagai rel tengah akhir
  6. Ketika dekat lebih besar dari tengah rel MB, itu adalah sinyal panjang.
  7. Tentukan arah panjang dan pendek sesuai dengan sinyal untuk melacak tren dan keuntungan

Analisis Keuntungan

  1. Menggunakan standar deviasi dinamis Saluran dapat dengan cepat menangkap perubahan tren harga
  2. Menggabungkan informasi harga tertinggi dan terendah, rel tengah lebih berarti
  3. Desain rel tengah ganda membuat sinyal lebih akurat dan andal
  4. Ide strategi sederhana dan jelas, mudah dipahami dan diterapkan
  5. Ada beberapa parameter yang dapat dikonfigurasi, cocok untuk berbagai lingkungan pasar

Analisis Risiko

  1. Ketika berdagang pada titik pecah dari rel atas atau bawah, strategi stop loss harus dipertimbangkan untuk mengendalikan kerugian tunggal
  2. Frekuensi perdagangan mungkin tinggi, dan dampak komisi perlu dipertimbangkan
  3. Parameter seperti parameter periode harus dioptimalkan dengan hati-hati untuk menghindari overfit
  4. Ketika tren berubah, ada kemungkinan sinyal perdagangan yang salah
  5. Manajemen modal yang tepat diperlukan, leverage yang berlebihan tidak boleh digunakan

Arahan Optimasi

  1. Pertimbangkan untuk menambahkan filter saat menerobos rel atas dan bawah untuk menghindari pecah palsu
  2. Set keluar dinamis berdasarkan ATR dan indikator lainnya
  3. Menggabungkan informasi volume perdagangan untuk memverifikasi keandalan sinyal breakout
  4. Mengoptimalkan Parameter seperti siklus perhitungan untuk beradaptasi dengan lebih banyak lingkungan pasar
  5. Pertimbangkan untuk menetapkan ukuran posisi untuk mengendalikan risiko kerugian tunggal

Ringkasan

Ide keseluruhan strategi ini jelas dan mudah dipahami. Dengan menangkap tren secara dinamis melalui Saluran dan menghasilkan sinyal perdagangan dengan beberapa desain rel tengah, dapat secara efektif melacak arah tren untuk perdagangan dan mendapatkan pengembalian yang baik. Dalam aplikasi yang sebenarnya, perhatian harus diberikan untuk strategi stop loss, manajemen modal, optimasi parameter, dll., sehingga dapat memperoleh pengembalian yang stabil dalam jangka panjang.


/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 4h
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/
// © ErdemDemir

//@version=4
strategy("Lawyers Trend Pro Strategy", shorttitle="Lawyers Trend Pro Strategy", overlay=true)

src = close
mult = 2.0
basis = sma(src, 20)
dev = mult * stdev(src, 20)
upper = basis + dev
lower = basis - dev
offset = 0


lower2 = lowest(20)
upper2 = highest(20)
basis2 = avg(upper2, lower2)


MB= (basis+basis2)/2





col1=close>MB
col3=MB>close
colorE = col1 ? color.blue : col3 ? color.red : color.yellow
p3=plot(MB, color=colorE, linewidth=3)

// Deternine if we are currently LONG
isLong = false
isLong := nz(isLong[1], false)

// Determine if we are currently SHORT
isShort = false
isShort := nz(isShort[1], false)

// Buy only if the buy signal is triggered and we are not already long
buySignal = not isLong and crossover(close,MB)

// Sell only if the sell signal is triggered and we are not already short
sellSignal= not isShort and crossover(MB,close)
if (buySignal)
    isLong := true
    isShort := false

if (sellSignal)
    isLong := false
    isShort := true







/// LONG
strategy.entry("long", true , when = buySignal, comment="Open Long")

strategy.close("long", when=sellSignal, comment = "Close Long")

/// SHORT
strategy.entry("short", false,  when = sellSignal, comment="Open Short")

strategy.close("short", when=buySignal, comment = "Close Short")



Lebih banyak