Strategi aliran kemasukan pecah berdasarkan saluran ATR


Tarikh penciptaan: 2024-01-03 11:53:52 Akhirnya diubah suai: 2024-01-03 11:53:52
Salin: 1 Bilangan klik: 722
1
fokus pada
1621
Pengikut

Strategi aliran kemasukan pecah berdasarkan saluran ATR

Gambaran keseluruhan

Strategi ini menggunakan saluran ATR dan teori celah, memasuki trend ketika menerobos saluran, termasuk dalam strategi pengesanan trend. Strategi ini mudah difahami, menggunakan saluran linear dan indikator ATR untuk menentukan arah trend, dan mengeluarkan isyarat perdagangan di titik-titik penting.

Prinsip Strategi

Strategi ini menggunakan harga tinggi, rendah, penutupan dan penunjuk ATR untuk membina tren naik turun, membentuk saluran ATR. Lebar saluran ditentukan oleh ukuran parameter ATR. Apabila harga menembusi saluran, ia dinilai sebagai permulaan trend, ketika itu masuk ke arah melakukan lebih banyak atau lebih sedikit.

Analisis kelebihan

Kelebihan utama strategi ini ialah:

  1. Menggunakan penunjuk ATR untuk membina saluran, mempertimbangkan kadar turun naik pasaran, lebih baik daripada garis purata sederhana.
  2. Dua barisan tempat membeli-belah, masuk dalam kumpulan, risiko boleh dikawal.
  3. Menembusi teori untuk menilai trend dan menentukan titik-titik penting.
  4. Kod ringkas, mudah difahami dan dilaksanakan.

Analisis risiko

Risiko utama strategi ini ialah:

  1. Kajian satu-satunya menunjukkan bahawa apabila ATR gagal, kemungkinan strategi gagal adalah tinggi.
  2. Tidak ada had stop-loss dan pengurusan kedudukan, kawalan risiko tidak mencukupi.
  3. Kesan masih belum disahkan, mungkin kurang berkesan dalam keadaan cakera.
  4. Parameter yang tidak sesuai boleh menyebabkan penembusan atau perdagangan berlebihan.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dengan cara berikut:

  1. Menambah penapisan dan pengesahan pelbagai indikator untuk mengelakkan salah faham.
  2. Tambahan modul stop loss dan kawalan risiko yang lebih baik.
  3. Menambah kawalan kedudukan dan pengurusan kedudukan.
  4. Menambah parameter pengoptimuman, menyesuaikan parameter untuk pelbagai jenis.
  5. Mengurangkan frekuensi dagangan dan saiz kedudukan, dengan mengambil kira keadaan pasaran sebenar.

ringkaskan

Rangka keseluruhan strategi ini jelas, dan boleh digunakan sebagai strategi pengesahan konsep. Tetapi jarak dari lapangan masih ada jurang tertentu, dengan ruang pengoptimuman yang lebih besar.

Kod 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)