Indikator Tren Utama Panjang

Penulis:ChaoZhang, Tanggal: 2024-02-19 11:15:57
Tag:

img

Gambaran umum

Strategi Major Trend Indicator Long (MTIL) dirancang untuk digunakan di berbagai instrumen keuangan termasuk cryptocurrency seperti BTCUSD dan ETHUSD serta saham tradisional seperti AAPL.

Logika Strategi

Strategi MTIL menggunakan parameter yang dioptimalkan untuk menghitung harga tertinggi dan terendah dalam periode lookback yang ditentukan.

Secara khusus, pertama-tama diperoleh harga tertinggi dan terendah selama periode tertentu. Ini kemudian dihaluskan menggunakan regresi linier dengan koefisien yang berbeda. Ini menghasilkan pembentukan batas atas dan bawah. Ketika harga tertinggi yang dihaluskan melanggar band atas, harga terendah yang dihaluskan melanggar band bawah, dan regresi linier jangka pendek harga penutupan di atas jangka panjang - sinyal bullish dihasilkan.

Analisis Keuntungan

Strategi MTIL memiliki keuntungan berikut:

  1. Menggunakan teknik double smoothing untuk identifikasi tren dengan akurasi yang lebih tinggi
  2. Tanggal awal backtest yang dapat disesuaikan untuk pengujian kinerja historis
  3. Parameter yang dapat disesuaikan untuk memenuhi preferensi perdagangan individu
  4. Dapat dikombinasikan dengan strategi pendek untuk analisis multi-frame waktu

Analisis Risiko

Strategi MTIL juga membawa risiko berikut:

  1. Risiko perdagangan tren dengan kemungkinan kerugian yang diperbesar
  2. Penyesuaian parameter yang tidak tepat yang menyebabkan kesempatan yang hilang atau sinyal yang salah
  3. Kebutuhan untuk memperhitungkan biaya perdagangan untuk menghindari perdagangan yang terlalu sering

Beberapa risiko dapat dikurangi melalui penyesuaian parameter, stop loss, kontrol biaya perdagangan, dll.

Arahan Optimasi

Strategi MTIL dapat dioptimalkan dalam dimensi berikut:

  1. Pengujian kombinasi dari parameter periode yang berbeda untuk menemukan optimal
  2. Memasukkan konfirmasi harga-volume untuk menghindari sinyal palsu
  3. Menambahkan indikator lain untuk lebih memvalidasi momentum dan pergerakan intraday untuk memperkuat konfirmasi sinyal
  4. Menetapkan aturan stop loss dan take profit untuk membatasi downside vs lock in profit

Kesimpulan

MTIL adalah strategi sisi panjang yang memanfaatkan teknik regresi linier untuk melihat tren utama. Melalui penyesuaian parameter dapat disesuaikan di berbagai lingkungan pasar. Ketika dikombinasikan dengan strategi sisi pendek, ini menawarkan analisis yang lebih komprehensif. Optimasi lebih lanjut dapat meningkatkan akurasi dan profitabilitasnya.


/*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"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © jensenvilhelm


//@version=5
strategy("Major Trend Indicator Long", shorttitle='MTIL', overlay = true)

startDate = timestamp("2001 06 18")
// Sets the start date for the strategy.

// Optimized parameters
length_high = 5
length_low = 5
linReg_st = 3
linReg_st1 = 23
linReg_lt = 75
// Defines key parameters for the strategy.

X_i = ta.highest(high, length_high)
Y_i = ta.lowest(low, length_low)
// Calculates the highest and lowest price values within the defined lookback periods.

x_y = ta.linreg(X_i + high, linReg_st1, 1)
y_x = ta.linreg(Y_i + low, linReg_lt, 1)
// Applies linear regression to smoothed high and low prices.

upper = ta.linreg(x_y, linReg_st1, 6)
lower = ta.linreg(y_x, linReg_st1, 6)
// Determines upper and lower bounds using linear regression.

upperInside = upper < y_x and upper > x_y
lowerInside = lower > y_x and lower < x_y
y_pos = (upper + lower) / 4

X_i1 = ta.highest(high, length_high)
Y_i1 = ta.lowest(low, length_low)

bull = x_y > upper and y_x > lower and ta.linreg(close, linReg_st, 1) > ta.linreg(close, linReg_lt, 5)
// Defines a bullish condition based on linear regression values and price bounds.

plotshape(series=(bull) ? y_pos : na, style=shape.circle, location=location.absolute, color=color.rgb(41, 3, 255, 40), size=size.tiny)

if (time >= startDate)
    if (bull)
        strategy.entry("Long", strategy.long)
    if not (bull)
        strategy.close("Long")
// Controls the strategy's execution based on the bullish condition and the start date.


Lebih banyak