Strategi Penembusan Trend Bulanan

Penulis:ChaoZhang, Tarikh: 2023-10-24 16:08:33
Tag:

img

Ringkasan

Strategi Penembusan Trend Bulanan adalah penunjuk TradingView berdasarkan Pine Script. Ia menggabungkan purata bergerak adaptif, penembusan trendline dan penunjuk RSI untuk menentukan isyarat masuk panjang sekali sebulan. Keluar berlaku apabila RSI menunjukkan keadaan overbought.

Logika Strategi

  1. Tentukan pembolehubah lastEntryMonth untuk mengesan bulan entri terakhir. currentMonth mendapat bulan semasa.

  2. Tetapkan parameter MA adaptif TRAMA panjang = 99 untuk harga yang lancar dan menentukan trend.

  3. Tetapkan panjang_trend=14 untuk merangka garis trend atas berdasarkan puncak pivot. Panjang apabila harga pecah di atas garis trend.

  4. Mengira penunjuk RSI dengan rsiLength=14 untuk menentukan overbought/oversold.

  5. Logik kemasukan: Pergi panjang jika ditutup > TRAMA dan tutup pecah di atas garis trend atas, jika tidak ada kemasukan bulan lepas.

  6. Logik keluar: Tutup panjang jika RSI > 70 (terlampau dibeli).

  7. Grafik garis TRAMA dan RSI overbought tahap 70.

Strategi ini menggabungkan 3 penunjuk teknikal utama untuk mencari entri panjang berisiko rendah sekali sebulan.

Kelebihan

  1. Menggabungkan beberapa penunjuk untuk analisis pasaran yang kukuh dan ketepatan yang lebih tinggi.

  2. Batasan entri untuk jangka masa bulanan, mengelakkan overtrading.

  3. MA adaptif cepat menyesuaikan diri dengan perubahan trend.

  4. RSI oversold mengelakkan pembelian di puncak pasaran dan mengawal risiko.

  5. Peraturan kemasukan/keluar mudah dilaksanakan.

  6. Parameter yang boleh disesuaikan membolehkan optimalisasi strategi.

Risiko

  1. Risiko Whipsaw jika kegagalan kegagalan. Hentikan kerugian jika harga kembali di bawah trendline.

  2. Masa yang tidak tepat membawa kepada entri di dekat puncak.

  3. Parameter penunjuk yang buruk menyebabkan isyarat yang mengelirukan.

  4. Penembusan mungkin mencerminkan turun naik pasaran baru-baru ini.

  5. Memantau risiko / ganjaran. Pertimbangkan hanya perdagangan tarik balik atau menambah penapis pengesahan lain.

  6. Mengesahkan penunjuk pada pelbagai jangka masa. Gunakan jangka masa yang lebih tinggi untuk mengenal pasti trend dan lebih rendah untuk kemasukan.

  7. Uji balik terhadap keadaan pasaran yang berbeza.

Pengoptimuman

  1. Tambah penunjuk jumlah untuk mengelakkan pecah palsu dengan jumlah yang rendah.

  2. Pertimbangkan keuntungan separa mengambil keluar RSI overbought, mengekalkan kedudukan separa.

  3. Mengoptimumkan parameter MA untuk menyesuaikan diri dengan perubahan trend.

  4. Tambah zon sebelum / selepas titik pecah untuk mengelakkan membeli hak pada pembalikan.

  5. Tambah lebih banyak penapis seperti saluran, volatiliti untuk ketepatan yang lebih tinggi.

  6. Meningkatkan dengan penembusan tambahan pada tahap rintangan baru.

Kesimpulan

Strategi Penembusan Trend Bulanan menganalisis trend, momentum dan ekstrem. Ia menentukan trend pada jangka masa bulanan tetapi memasuki jangka masa yang lebih pendek. RSI mengawasi pengurusan risiko. Logik mudah mengenal pasti entri panjang bulanan yang dioptimumkan. Ia menyeimbangkan trend berikut dan kawalan risiko. Pengoptimuman parameter menyesuaikannya dengan keadaan pasaran yang berbeza. Secara keseluruhan, ini adalah strategi yang mudah namun kukuh yang menggabungkan kegunaan dan pengurusan risiko yang berkesan.


/*backtest
start: 2022-10-17 00:00:00
end: 2023-10-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('Bannos Strategy', shorttitle='Bannos', overlay=true)

//The provided script is an indicator for TradingView written in Pine Script version 5. The indicator is used to determine entry and exit points for a trading strategy. Here's a detailed breakdown of what the script does:

// Strategy Definition:

// Bannos Strategy is the full name, with a short title Bannos.
// The overlay=true option indicates that the strategy will be overlayed on the price chart.
// Tracking Entry Month:

// A variable lastEntryMonth is set up to track the month of the last entry.
// currentMonth identifies the current month.
// Trend Regularity Adaptive Moving Average (TRAMA):

// It takes an input of length 99 as default.
// It uses adaptive calculations to track trend changes.
// Trendlines with Breaks:

// Identifies local peaks over a given period (in this case, 14) and calculates a slope based on these peaks.
// Relative Strength Index (RSI):

// Uses a length of 14 (default) to calculate the RSI.
// RSI is an oscillation indicator that indicates overbought or oversold conditions.
// Strategy Logic for Long Entry:

// A long position is opened if:
// The close price is above the TRAMA.
// There's a crossover of the close price and the upper trendline.
// The position is taken only once per month.
// Strategy Logic for Long Exit:

// The long position is closed if the RSI exceeds 70, indicating an overbought condition.
// Plotting:

// The TRAMA is plotted in red on the chart.
// A horizontal line is also drawn at 70 to indicate the RSI's overbought zone.
// In summary, this strategy aims to enter a long position when certain trend and crossover conditions are met, and close the position when the market is considered overbought as per the RSI. Additionally, it ensures entries only occur once a month.
//



// Variable pour suivre le mois de la dernière entrée
var float lastEntryMonth = na
currentMonth = month(time)

// Parameters for Trend Regularity Adaptive Moving Average (TRAMA)
length_trama = input(99)
src_trama = close
ama = 0.
hh = math.max(math.sign(ta.change(ta.highest(length_trama))), 0)
ll = math.max(math.sign(ta.change(ta.lowest(length_trama)) * -1), 0)
tc = math.pow(ta.sma(hh or ll ? 1 : 0, length_trama), 2)
ama := nz(ama[1] + tc * (src_trama - ama[1]), src_trama)

// Parameters for Trendlines with Breaks
length_trend = 14
mult = 1.0
ph = ta.pivothigh(length_trend, length_trend)
upper = 0.
slope_ph = 0.
slope_ph := ph ? mult : slope_ph
upper := ph ? ph : upper - slope_ph

// Parameters for RSI
rsiLength = 14
up = ta.rma(math.max(ta.change(close), 0), rsiLength)
down = ta.rma(-math.min(ta.change(close), 0), rsiLength)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

// Strategy Logic for Long Entry
longCondition = close > ama and ta.crossover(close, upper) and (na(lastEntryMonth) or lastEntryMonth != currentMonth)
if (longCondition)
    lastEntryMonth := currentMonth
    strategy.entry('Long', strategy.long)

// Strategy Logic for Long Exit
exitCondition = rsi > 70
if (exitCondition)
    strategy.close('Long')

// Plotting
plot(ama, 'TRAMA', color=color.red)
hline(70, 'Overbought', color=color.red)


Lebih lanjut