Strategi tren entri breakout berdasarkan saluran ATR


Tanggal Pembuatan: 2024-01-03 11:53:52 Akhirnya memodifikasi: 2024-01-03 11:53:52
menyalin: 1 Jumlah klik: 722
1
fokus pada
1621
Pengikut

Strategi tren entri breakout berdasarkan saluran ATR

Ringkasan

Strategi ini menggunakan saluran ATR dan teori breakout, memasuki tren saat melintasi saluran, dan merupakan strategi pelacakan tren. Strategi ini sederhana dan mudah dimengerti, menggunakan saluran rata-rata dan indikator ATR untuk menentukan arah tren, dan mengirimkan sinyal perdagangan di titik-titik kunci.

Prinsip Strategi

Strategi ini menggunakan harga tinggi, rendah, tutup dan indikator ATR untuk membangun tren naik turun, membentuk saluran ATR. Lebar saluran ditentukan oleh ukuran parameter ATR. Ketika harga menerobos saluran, dinilai sebagai awal tren, saat ini masuk ke arah melakukan lebih banyak atau lebih sedikit. Strategi ini terbagi menjadi dua sinyal perdagangan, harga menerobos satu lebar ATR dianggap sebagai awal tren, saat ini titik jual beli yang pertama dipicu; harga menerobos dua lebar ATR dianggap sebagai percepatan tren, titik jual beli kedua dipicu.

Analisis Keunggulan

Keuntungan utama dari strategi ini adalah:

  1. Menggunakan indikator ATR untuk membangun saluran, mempertimbangkan volatilitas pasar, lebih baik daripada garis rata-rata sederhana.
  2. “Dua baris tempat untuk membeli dan menjual, masuk dalam kelompok, risiko dikontrol”.
  3. Menembus teori dan menilai tren, dan menemukan titik-titik penting.
  4. Kode yang disederhanakan, mudah dipahami dan diterapkan.

Analisis risiko

Risiko utama dari strategi ini adalah sebagai berikut:

  1. Satu-satunya indikasi adalah bahwa ketika ATR gagal, kemungkinan besar strategi gagal.
  2. Tidak ada batasan stop loss dan manajemen posisi, dan tidak ada kontrol risiko.
  3. Efektivitasnya masih belum terverifikasi, mungkin kurang efektif dalam kondisi fisik.
  4. Parameter yang tidak sesuai dapat menyebabkan penembusan atau overtrading.

Arah optimasi

Strategi ini dapat dioptimalkan sebagai berikut:

  1. Menambahkan berbagai filter dan verifikasi indikator untuk mencegah kesalahan penilaian.
  2. Menambahkan modul stop loss dan meningkatkan kontrol risiko.
  3. Meningkatkan kontrol posisi dan manajemen posisi.
  4. Menambahkan parameter optimasi, menyesuaikan parameter untuk varietas yang berbeda.
  5. Kurangi frekuensi perdagangan dan ukuran posisi, dengan mempertimbangkan kondisi real-time.

Meringkaskan

Strategi ini memiliki kerangka kerja yang jelas dan dapat dipahami sebagai strategi validasi konsep. Namun, jarak dari real-time masih ada kesenjangan dan ada ruang untuk pengoptimalan yang lebih besar. Strategi ini memiliki prospek yang lebih baik jika dapat memperbaiki kontrol angin dan kontrol frekuensi perdagangan.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Myhaj_Lito

//@version=5
strategy("Renko Trend Strategy",shorttitle = "RENKO-Trend str.",overlay = true)
TF = input.timeframe(title='TimeFrame', defval="60")
ATRlength = input.int(title="ATR length", defval=60, minval=2, maxval=1000)

HIGH = request.security(syminfo.tickerid, TF, high)
LOW = request.security(syminfo.tickerid, TF, low)
CLOSE = request.security(syminfo.tickerid, TF, close)
ATR = request.security(syminfo.tickerid, TF, ta.atr(ATRlength))


RENKOUP = float(na)
RENKODN = float(na)
H = float(na)
COLOR = color(na)
BUY = int(na)
SELL = int(na)
UP = bool(na)
DN = bool(na)
CHANGE = bool(na)

RENKOUP := na(RENKOUP[1]) ? (HIGH + LOW) / 2 + ATR / 2 : RENKOUP[1]
RENKODN := na(RENKOUP[1]) ? (HIGH + LOW) / 2 - ATR / 2 : RENKODN[1]
H := na(RENKOUP[1]) or na(RENKODN[1]) ? RENKOUP - RENKODN : RENKOUP[1] - RENKODN[1]
COLOR := na(COLOR[1]) ? color.white : COLOR[1]
BUY := na(BUY[1]) ? 0 : BUY[1]
SELL := na(SELL[1]) ? 0 : SELL[1]
UP := false
DN := false
CHANGE := false

// calculating 
if not CHANGE and close >= RENKOUP[1] + H * 2
    CHANGE := true
    UP := true
    RENKOUP := RENKOUP[1] + ATR * 2
    RENKODN := RENKOUP[1] + ATR
    COLOR := color.rgb(0, 255, 170,60)
    SELL := 0
    BUY += 2
    BUY


if not CHANGE and close >= RENKOUP[1] + H
    CHANGE := true
    UP := true
    RENKOUP := RENKOUP[1] + ATR
    RENKODN := RENKOUP[1]
    COLOR := color.rgb(0, 230, 38,60)
    SELL := 0
    BUY += 1
    BUY

if not CHANGE and close <= RENKODN[1] - H * 2
    CHANGE := true
    DN := true
    RENKODN := RENKODN[1] - ATR * 2
    RENKOUP := RENKODN[1] - ATR
    COLOR := color.rgb(255, 92, 43,60)
    BUY := 0
    SELL += 2
    SELL
if not CHANGE and close <= RENKODN[1] - H
    CHANGE := true
    DN := true
    RENKODN := RENKODN[1] - ATR
    RENKOUP := RENKODN[1]
    COLOR := color.rgb(245, 69, 69,60)
    BUY := 0
    SELL += 1
    SELL
//// STRATEGY 
if(UP)
    strategy.entry("Long",strategy.long)
if(DN)
    strategy.entry("Short",strategy.short)


// ploting 

bgcolor(COLOR)