Strategi berdasarkan penunjuk Supertrend dan Purata Pergerakan Mudah


Tarikh penciptaan: 2024-01-16 15:19:09 Akhirnya diubah suai: 2024-01-16 15:19:09
Salin: 0 Bilangan klik: 616
1
fokus pada
1617
Pengikut

Strategi berdasarkan penunjuk Supertrend dan Purata Pergerakan Mudah

Gambaran keseluruhan

Strategi super trend binary equity adalah strategi perdagangan kuantitatif berdasarkan indikator super trend dan purata bergerak sederhana. Strategi ini menggunakan indikator super trend untuk menentukan arah trend pasaran, kemudian memfilternya dengan purata bergerak sederhana 200 hari, dan membuka posisi untuk melakukan lebih banyak shorting di arah trend besar.

Prinsip Strategi

Strategi ini menggunakan dua indikator:

  1. Indikator Super Trend: Ia mengira kenaikan dan penurunan berdasarkan ATR gelombang sebenar dan kelipatan. Apabila harga penutupan lebih tinggi daripada kenaikan adalah kenaikan, dan di bawah penurunan adalah penurunan.

  2. 200 hari purata bergerak mudah: ia mengambil purata aritmetik untuk harga penutupan dalam 200 hari terakhir. Harga penutupan yang lebih tinggi daripada garis ini mewakili kecenderungan besar dan lebih rendah daripada garis ini mewakili kecenderungan besar.

Logik strategi:

  1. Apabila penunjuk ultra-trend menunjukkan kenaikan (indicator ultra-trend lebih besar daripada 0) dan harga penutupan lebih tinggi daripada garis purata 200 hari, masukkan lebih banyak.

  2. Apabila indikator supertrend turun ke bawah ((nilai indikator supertrend kurang daripada 0) dan harga penutupan berada di bawah garis purata 200 hari, masukkan kepala pendek

  3. Apabila penunjuk trend melampau dengan isyarat terbalik sebelum itu keluar dari kedudukan rata.

  4. Stop loss ditetapkan kepada 25%.

Analisis kelebihan

Strategi ini digabungkan dengan indikator hypertrend untuk menentukan trend jangka pendek dan garis purata 200 hari untuk menentukan trend jangka panjang, yang dapat menyaring penembusan palsu dengan berkesan, mengurangkan frekuensi perdagangan dan meningkatkan kadar kemenangan. Dalam keadaan yang besar, trend cukup jelas, ruang berhenti besar, ruang keuntungan besar.

Analisis risiko

Risiko utama strategi ini adalah besarnya markah hentian dan peningkatan risiko pembubaran paksa dalam keadaan yang tinggi. Selain itu, apabila pasaran menyusun, indikator supertrend akan menghasilkan isyarat tambahan, yang meningkatkan frekuensi dan kos perdagangan.

Risiko boleh dikurangkan dengan menyesuaikan kitaran ATR, parameter penggandaan dan stop loss.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Menyesuaikan parameter kitaran ATR dan penggandaan, mengoptimumkan parameter penunjuk melampaui trend;

  2. Cuba gantikan dengan lain-lain penunjuk keselarasan seperti EMA, VIDYA dan sebagainya.

  3. Menambah petunjuk tambahan lain, seperti saluran BOLL atau petunjuk KD untuk menapis lebih lanjut isyarat;

  4. Mengoptimumkan strategi henti kerugian, seperti berpindah ke titik keseimbangan untung rugi atau henti kerugian secara besar-besaran.

ringkaskan

Strategi ini sangat praktikal secara keseluruhan, kedua-dua pertimbangan keputusan trend jangka pendek dan pertimbangan keputusan trend jangka panjang, tetapan stop loss juga lebih munasabah. Dengan penyesuaian dan pengoptimuman parameter, kesan yang lebih baik masih dapat diperoleh.

Kod sumber strategi
/*backtest
start: 2023-12-16 00:00:00
end: 2024-01-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/
// © wielkieef

//@version=5

strategy("Smart SuperTrend Strategy ", shorttitle="ST Strategy", overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=25, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.01)


// Parametry wskaźnika SuperTrend
atrLength = input(10, title="Lenght ATR")
factor = input(3.0, title="Mult.")

// Parametry dla SMA
lengthSMA = input(200, title="Lenght SMA")

// Parametry dla Stop Loss
sl = input.float(25.0, '% Stop Loss', step=0.1)

// Obliczanie ATR
atr = ta.atr(atrLength)

// Obliczanie podstawowej wartości SuperTrend
up = hl2 - (factor * atr)
dn = hl2 + (factor * atr)

// Obliczanie 200-SMA
sma200 = ta.sma(close, lengthSMA)

// Inicjalizacja zmiennych
var float upLevel = na
var float dnLevel = na
var int trend = na
var int trendWithFilter = na

// Logika SuperTrend
upLevel := close[1] > upLevel[1] ? math.max(up, upLevel[1]) : up
dnLevel := close[1] < dnLevel[1] ? math.min(dn, dnLevel[1]) : dn

trend := close > dnLevel[1] ? 1 : close < upLevel[1] ? -1 : nz(trend[1], 1)

// Filtr SMA i aktualizacja trendWithFilter
trendWithFilter := close > sma200 ? math.max(trend, 0) : math.min(trend, 0)

// Logika wejścia
longCondition = trend == 1  
shortCondition = trend == -1  

// Wejście w pozycje
if (longCondition) and  close > sma200
    strategy.entry("Long", strategy.long)
if (shortCondition) and close < sma200
    strategy.entry("Short", strategy.short)

// Warunki zamknięcia pozycji
Long_close = trend == -1 and close > sma200
Short_close = trend == 1  and close < sma200

// Zamknięcie pozycji
if (Long_close)
    strategy.close("Long")
if (Short_close)
    strategy.close("Short")

// Kolory superTrendu z filtrem sma200
trendColor = trendWithFilter == 1 ? color.green : trendWithFilter == -1 ? color.red : color.blue

//ploty
plot(trendWithFilter == 1 ? upLevel : trendWithFilter == -1 ? dnLevel : na, color=trendColor, title="SuperTrend")

// Stop Loss ( this code is from author RafaelZioni, modified by wielkieef )
per(procent) =>
    strategy.position_size != 0 ? math.round(procent / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
// --------------------------------------------------------------------------------------------------------------------

strategy.exit('SL',loss=per(sl))



//by wielkieef