Стратегия определяет вход, адаптируясь к перемещающимся средним и прорывам трендовых линий, и использует индикатор RSI, чтобы решить выход. Ее цель - войти в рынок при условии соответствия тренду, остановить выход в зоне перекупа, контролируя только одну сделку в месяц.
Вычислите адаптивную скользящую среднюю длиной 99, чтобы определить направление общей тенденции
Локальный пик, рассчитанный на 14 длины, на трассе представлен линией давления
Если цена закрытия вышла из строя, и в текущем месяце нет заказов, то можно сделать дополнительный вход.
Вычислить 14-циклический RSI, когда RSI превышает 70 (оборотная зона)
Следите за месяцем последнего входа, убедитесь, что вы совершаете сделки только один раз в месяц
Адаптируемые скользящие средние динамически отслеживают изменения трендов
В сочетании с прорывом линии тренда можно повысить точность входа
Индекс RSI позволяет эффективно оценивать перепродажи и контролировать риски в реальном времени.
Сделки только один раз в месяц снижают частоту и комиссионные
Правила простые, понятные и легко применяемые
Неправильная настройка параметров может привести к ошибке в лучшей точке входа
Фиксированные показатели выхода из рынка не могут своевременно отслеживать изменения рынка
Риск отмены
Неспособность контролировать риски долгосрочных позиций
Слишком большое количество фильтров может привести к отказу в доступе
Тестирование различных параметров в поисках оптимальных параметров
Добавление других фильтрующих показателей для повышения стабильности стратегии
Разработка стратегии динамического остановки и отслеживания остановки
Оптимизация логики входа в игру, выявление более сильных прорывов
Применяемые для тестирования сорта и циклические параметры
Фильтрация ложных сигналов прорыва в сочетании с индикатором тренда
Стратегия, объединяющая анализ тенденций и индикаторы перекупа и перепродажи, обеспечивает относительно стабильный эффект отслеживания тенденций. С помощью дальнейшей оптимизации параметровой настройки, динамического механизма выхода из рынка и т. Д. Она может стать надежной количественной торговой системой. В целом, стратегия проста в использовании и заслуживает дальнейшего совершенствования и проверки.
/*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)