Gem Forest 1 Menit Breakout Strategi

Penulis:ChaoZhang, Tanggal: 2024-02-19 10:56:07
Tag:

img

Gambaran umum

Gem Forest 1 Minute Breakout Strategy adalah strategi perdagangan kuantitatif yang bertujuan untuk menangkap sinyal breakout dalam jangka waktu 1 menit untuk mewujudkan keuntungan cepat.

Logika Strategi

Strategi ini terutama menggunakan elemen berikut untuk membentuk sinyal perdagangan:

  1. Indikator ATR - Menghitung rentang sebenarnya rata-rata untuk menetapkan saluran harga;
  2. Indikator Rata-rata Gerak - Menghitung EMA cepat dan EMA lambat untuk menghasilkan sinyal golden cross/dead cross;
  3. Indikator RSI - Menghitung RSI cepat dan lambat untuk menentukan area overbought/oversold;
  4. Hubungan Harga Saluran - Membuat sinyal perdagangan ketika harga keluar dari saluran.

Secara khusus, strategi ini menghitung rata-rata periode N dari ATR, EMA cepat, EMA lambat, RSI cepat dan RSI lambat. Menggabungkan kondisi saluran harga ATR, EMA golden cross, dan RSI mencapai tingkat ekstrem, strategi ini mengirimkan sinyal beli atau jual.

Analisis Keuntungan

Keuntungan utama dari strategi ini adalah:

  1. Mencatatkan tren harga jangka pendek;
  2. Menanggapi dengan cepat, cocok untuk perdagangan frekuensi tinggi;
  3. Lebih dapat diandalkan dengan beberapa indikator yang disaring;
  4. Parameter untuk pengguna untuk mengoptimalkan.

Analisis Risiko

Ada juga beberapa risiko:

  1. Risiko tinggi dalam perdagangan jangka pendek, diperlukan stop loss yang ketat;
  2. Optimasi parameter yang tidak tepat menyebabkan overfit;
  3. Frekuensi perdagangan yang tinggi meningkatkan biaya.

Untuk mengendalikan risiko, stop loss harus diterapkan, dan parameter perlu backtest yang tepat untuk menghindari overfit.

Arahan Optimasi

Strategi dapat dioptimalkan melalui:

  1. Pengaturan parameter uji selama periode yang lebih pendek (5-menit, 15-menit);

  2. Tambahkan lebih banyak indikator penyaringan seperti volume untuk meningkatkan kualitas sinyal;

  3. Optimalkan saluran ATR dan parameter rata-rata bergerak untuk menemukan kombinasi parameter terbaik.

Kesimpulan

Gem Forest 1 Minute Breakout Strategy berfokus pada penangkapan tren jangka pendek dengan menyaring dengan beberapa indikator, menampilkan respons cepat dan karakteristik risiko-imbalan tinggi. Ini dapat disesuaikan dengan preferensi risiko pengguna melalui optimasi parameter untuk hasil yang lebih baik. Namun, pengguna harus mengendalikan risiko perdagangan melalui stop loss yang ketat, frekuensi perdagangan yang wajar dll. Secara keseluruhan, strategi ini cocok untuk investor dengan pengetahuan perdagangan kuantitatif tertentu dan toleransi risiko untuk perdagangan jangka pendek.


/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Gem Forest 1 Dakika Scalp", overlay=true)

source = close
atrlen = input.int(14, "ATR Period")
mult = input.float(1, "ATR Multi", step=0.1)
smoothing = input.string(title="ATR Smoothing", defval="WMA", options=["RMA", "SMA", "EMA", "WMA"])

ma_function(source, atrlen) => 
    if smoothing == "RMA"
        ta.rma(source, atrlen)
    else
        if smoothing == "SMA"
            ta.sma(source, atrlen)
        else
            if smoothing == "EMA"
                ta.ema(source, atrlen)
            else
                ta.wma(source, atrlen)

atr_slen = ma_function(ta.tr(true), atrlen)
upper_band = atr_slen * mult + close
lower_band = close - atr_slen * mult

ShortEMAlen = input.int(21, "Fast EMA")
LongEMAlen = input.int(65, "Slow EMA")
shortSMA = ta.ema(close, ShortEMAlen)
longSMA = ta.ema(close, LongEMAlen)
RSILen1 = input.int(25, "Fast RSI Length")
RSILen2 = input.int(100, "Slow RSI Length")
rsi1 = ta.rsi(close, RSILen1)
rsi2 = ta.rsi(close, RSILen2)
atr = ta.atr(atrlen)

RSILong = rsi1 > rsi2
RSIShort = rsi1 < rsi2

longCondition = open < lower_band
shortCondition = open > upper_band
GoldenLong = ta.crossover(shortSMA,longSMA)
Goldenshort = ta.crossover(longSMA,shortSMA)

plotshape(shortCondition, title="Sell Label", text="Sell", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.white)
plotshape(longCondition, title="Buy Label", text="Buy", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.white)
plotshape(Goldenshort, title="Golden Sell Label", text="Golden Crossover Short", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.new(color.blue, 0), textcolor=color.white)
plotshape(GoldenLong, title="Golden Buy Label", text="Golden Crossover Long", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.new(color.yellow, 0), textcolor=color.white)

if (longCondition)
    stopLoss = low - atr * 2
    takeProfit = high + atr * 5
    strategy.entry("long", strategy.long)

if (shortCondition)
    stopLoss = high + atr * 2
    takeProfit = low - atr * 5
    strategy.entry("short", strategy.short)

plot(upper_band)
plot(lower_band)
plot(shortSMA, color = color.red)
plot(longSMA, color = color.yellow)


Lebih banyak