ATR Channel Breakout Trend-mengikut Strategi

Penulis:ChaoZhang, Tarikh: 2024-01-03 11:53:52
Tag:

img

Ringkasan

Strategi ini menggunakan saluran ATR dan teori pecah untuk mengikuti trend dengan memasuki apabila saluran itu terputus. Ia tergolong dalam strategi trend-mengikuti. Strategi ini mudah dan mudah difahami, menggunakan saluran purata bergerak dan penunjuk ATR untuk menentukan arah trend dan mengeluarkan isyarat perdagangan di titik utama.

Prinsip

Strategi ini membina band atas dan bawah dengan harga tinggi, rendah, dekat dan penunjuk ATR untuk membentuk saluran ATR. Lebar saluran ditentukan oleh saiz parameter ATR. Apabila harga menembusi saluran, ia dinilai sebagai permulaan trend, di mana titik-titik kedudukan panjang atau pendek dimasukkan. Strategi ini mempunyai dua peringkat isyarat perdagangan. Apabila harga menembusi satu lebar ATR, ia dianggap sebagai trend yang muncul, mencetuskan tahap pertama titik beli / jual. Apabila harga menembusi dua lebar ATR, ia dianggap sebagai trend percepatan, mencetuskan tahap kedua titik beli / jual.

Analisis Kelebihan

Kelebihan utama strategi ini ialah:

  1. Menggunakan penunjuk ATR untuk membina saluran menganggap turun naik pasaran lebih baik daripada purata bergerak mudah.
  2. Titik beli/jual dua peringkat membolehkan kemasukan bertahap dengan risiko yang boleh dikawal.
  3. Teori breakout dengan tepat mencari titik trend utama.
  4. Kod ringkas mudah difahami dan dilaksanakan.

Analisis Risiko

Risiko utama strategi ini ialah:

  1. Mengandalkan satu penunjuk bermakna kebarangkalian kegagalan yang tinggi jika ATR gagal.
  2. Kekurangan stop loss dan pengurusan kedudukan membawa kepada kawalan risiko yang tidak mencukupi.
  3. Utiliti memerlukan pengesahan dan mungkin berprestasi rendah dalam keadaan perdagangan langsung.
  4. Parameter yang tidak betul boleh menyebabkan whipsaws atau overtrading.

Arahan pengoptimuman

Arah pengoptimuman untuk strategi ini termasuk:

  1. Menambah penapis dengan pelbagai penunjuk untuk mengelakkan penilaian yang salah.
  2. Menambah modul stop loss untuk meningkatkan kawalan risiko.
  3. Menambah kawalan kedudukan dan pengurusan wang.
  4. Penyesuaian parameter untuk produk yang berbeza.
  5. Mengurangkan kekerapan dagangan dan saiz kedudukan untuk dagangan langsung.

Ringkasan

Rangka kerja keseluruhan strategi ini jelas dan boleh digunakan sebagai bukti konsep. Tetapi terdapat jurang dari perdagangan langsung yang membolehkan pengoptimuman yang besar. Jika kawalan risiko dan kekerapan perdagangan dapat ditingkatkan lagi, prospek aplikasi akan baik.


/*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)


Lebih lanjut