Эта стратегия использует адаптивную скользящую среднюю и трендовые прорывы для входов и RSI для выходов.
Вычисляет адаптивный MA за 99 периодов для определения общей тенденции.
Вычисляет 14-периодные местные максимумы для верхнего сопротивления линии тренда.
Продолжается, когда ближайший разрыв выше линии тренда и нет заказа в этом месяце.
Вычисляет 14-периодный RSI и выходит при RSI выше 70 (перекупленный).
Отслеживает последний месяц входа, чтобы обеспечить одну сделку в месяц.
Адаптивный MA динамически отслеживает изменения тренда.
Прорывы трендовых линий улучшают точность входа.
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)