Strategi ini menilai masuk dengan menyesuaikan diri dengan purata bergerak dan garis trend dan menggunakan indikator RSI untuk membuat keputusan keluar. Matlamatnya adalah memasuki pasaran apabila memenuhi syarat trend, berhenti keluar di kawasan overbought, sambil mengawal hanya melakukan satu perdagangan sebulan.
Mengambil purata bergerak beradaptasi dengan panjang 99 untuk menentukan arah trend keseluruhan
Panjang dikira 14 puncak tempatan, garis tekanan digambar pada landasan
Apabila harga penutupan melangkaui landasan dan tidak ada pesanan untuk bulan ini, masuk lebih banyak
Hentikan pegangan apabila RSI melebihi 70
Menjejaki bulan kemasukan terakhir, pastikan anda hanya berdagang sekali sebulan
Rata-rata bergerak yang beradaptasi dapat mengesan perubahan trend secara dinamik
Gabungan trend line breakout dapat meningkatkan ketepatan entry
Indeks RSI dapat mengesan kegemilangan harga dan mengawal risiko dalam masa nyata
Hanya berdagang sekali sebulan dapat mengurangkan frekuensi transaksi dan yuran
Peraturan yang mudah difahami dan dilaksanakan
Penetapan parameter yang tidak betul boleh menyebabkan kehilangan titik masuk yang lebih baik
Penunjuk keluar tetap tidak dapat mengikuti perubahan pasaran dalam masa yang tepat
Terdapat beberapa risiko penarikan balik
Tidak dapat mengawal risiko memegang jawatan jangka panjang
Terlalu banyak syarat penapisan boleh menyebabkan tidak dibenarkan masuk
Uji tetapan parameter yang berbeza untuk mencari parameter yang optimum
Menambah penapis lain untuk meningkatkan kestabilan strategi
Membangunkan strategi henti rugi dinamik dan henti rugi pengesanan
Mengoptimumkan logik kemasukan untuk mengenal pasti kejayaan yang lebih kuat
Varieti dan parameter kitaran yang digunakan untuk ujian
Penapis penembusan palsu yang digabungkan dengan indikator trend
Strategi ini mengintegrasikan analisis trend dan indikator overbought dan oversold, dan mencapai kesan trend yang lebih stabil. Dengan lebih mengoptimumkan parameter, mekanisme keluar dinamik, dan sebagainya, ia boleh menjadi sistem perdagangan kuantitatif yang boleh dipercayai. Secara keseluruhan, strategi ini mudah dikendalikan dan layak untuk diperbaiki dan disahkan.
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-18 00:00:00
period: 15m
basePeriod: 5m
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)