Strategi Maksimalisasi Keuntungan Mengikuti Tren


Tanggal Pembuatan: 2023-10-11 14:38:40 Akhirnya memodifikasi: 2023-10-11 14:38:40
menyalin: 2 Jumlah klik: 657
1
fokus pada
1702
Pengikut

Ringkasan

Strategi ini menghasilkan tren naik turun yang dinamis dengan menghitung harga rata-rata bergerak dan standar deviasi CHANNEL, dan menggabungkan harga tertinggi dan harga terendah untuk membentuk tren tengah, sehingga menentukan arah tren saat ini. Strategi ini memungkinkan perdagangan berdasarkan perubahan tren ketika harga menembus tren naik dan turun ketika harga turun.

Prinsip Strategi

  1. Perhitungan basis rata-rata bergerak sederhana 20 hari dari close sebagai basis tengah
  2. Perhitungan close 20 hari standar deviasi dev sebagai dasar dari jarak atas dan bawah lintasan
  3. orbit tengah basis ± 2*dev menentukan upper dan lower
  4. Perhitungan rata-rata harga tertinggi upper2 dan harga terendah lower2 dalam 20 hari terakhir basis2 sebagai garis tengah kedua
  5. Dua garis tengah di atas mengambil nilai rata-rata MB sebagai garis tengah akhir
  6. Bila close lebih besar dari mid-trail MB untuk sinyal bullish, bila MB lebih besar dari close untuk sinyal bearish
  7. Melakukan lebih banyak posisi kosong berdasarkan sinyal, untuk mendapatkan keuntungan dari trend tracking

Analisis Keunggulan

  1. Menggunakan Channel Standard Difference yang dinamis untuk menangkap tren perubahan harga dengan cepat
  2. Dengan informasi harga tertinggi dan terendah, rel tengah lebih relevan.
  3. Desain dual mid-track membuat sinyal lebih akurat dan dapat diandalkan
  4. Strategi yang sederhana, jelas, dan mudah dipahami
  5. Lebih sedikit parameter yang dapat dikonfigurasi, cocok untuk berbagai lingkungan pasar

Analisis risiko

  1. Strategi Stop Loss yang perlu dipertimbangkan saat melakukan trading on-track atau off-track
  2. Frekuensi transaksi mungkin lebih tinggi, perlu mempertimbangkan dampak biaya
  3. Parameter seperti parameter interval perlu dioptimalkan dengan hati-hati untuk menghindari overfit
  4. Ada kemungkinan kesalahan sinyal perdagangan ketika tren berubah
  5. Manajemen keuangan yang baik, tidak terlalu tinggi leverage

Arah optimasi

  1. Pertimbangkan untuk meningkatkan kondisi penyaringan saat menerobos di atas dan di bawah rel untuk menghindari penembusan palsu.
  2. Stop loss exit dapat diatur berdasarkan indikator seperti ATR
  3. Informasi volume transaksi dapat digabungkan untuk memverifikasi keandalan sinyal penembusan
  4. Parameter seperti siklus perhitungan dapat dioptimalkan untuk menyesuaikan dengan lingkungan pasar yang lebih luas
  5. Anda dapat mempertimbangkan untuk mengatur jumlah posisi yang dibuka untuk mengontrol risiko kerugian tunggal.

Meringkaskan

Strategi ini memiliki konsep yang jelas dan mudah dimengerti, menangkap tren melalui Channel dinamis, dan menghasilkan sinyal perdagangan yang digabungkan dengan desain multi-track, yang dapat secara efektif melacak arah tren untuk melakukan perdagangan, dan mendapatkan hasil perdagangan yang lebih baik. Dalam penerapan praktis, perlu memperhatikan strategi stop loss, manajemen dana, dan pengoptimalan untuk Parameter, sehingga mendapatkan keuntungan yang stabil dalam jangka panjang.

Kode Sumber Strategi
/*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")