Эта стратегия основана на показателях простого скользящего среднего значения (SMA) и относительно сильного индекса (RSI), который проходит через установленную входную сигнальную линию в RSI и закрывается ниже SMA, чтобы отслеживать остановку или RSI снова запускает выходную сигнальную остановку. Эта стратегия сочетает в себе трендовый отслеживание и сверхпокупку сверхпродажной индикации, предназначенной для захвата возможности поворота в короткой линии.
Используйте SMA ((200 циклов) для определения направления большого тренда, когда цена ниже SMA, появляются возможности пробега.
Используйте RSI (цикл 14) для определения перекупа и перепродажи.
После открытия позиции, с минимальной ценой закрытия в качестве отслеживания стоп-поста. Если RSI пересекает 54 или 32, то стоп-поста выходит из поля.
Существует три способа остановки убытков: остановка цены, остановка RSI и остановка прибыли.
В сочетании с трендовым отслеживанием и сверхпокупаемым и сверхпродаваемым индикатором можно повысить точность времени входа в рынок.
Отслеживание стоп-лосса позволяет защитить прибыль от изменения цены в реальном времени и избежать слишком жесткого стоп-лосса.
Двухсторонний триггер RSI может закрепить прибыль и предотвратить убытки от чрезмерного отскока.
Использует простые индикаторы с фиксированными параметрами, подходит для коротких и средних операций, легко овладевает.
Настройки параметров SMA и RSI могут не подходить для всех разновидностей и периодов, требуя оптимизации.
Фактическая прибыль и убыток не учитывают затраты на сделку, такие как пропускные точки и комиссионные.
Сигналы могут быть ненадежными, если не учитывать другие факторы, такие как объемы торговли и структура рынка.
Слишком большая зависимость от индикаторов, игнорируя сам процесс ценообразования, может привести к тому, что мы пропустим поворотный момент.
Ограничение убытков является относительно жестким и не может справиться с огромными изменениями в рынке.
Тестирование и оптимизация параметров SMA и RSI для поиска оптимальных комбинаций.
Подумайте о том, чтобы включить показатель объема сделок, чтобы избежать небольшого количества ложных прорывов.
Можно тестировать комбинацию других показателей, таких как MACD, Брин-пояса и т. д.
Добавление алгоритмов машинного обучения, использование тренировок с историческими данными, повышение точности сигналов.
Оптимизация методов погашения убытков, чтобы сделать их более гибкими и адаптироваться к изменениям в ситуации.
Присоединиться к механизму управления рисками, чтобы контролировать одиночные потери.
Эта стратегия объединяет преимущества двух индикаторов SMA и RSI, что позволяет отфильтровать некоторые из шумовых торговых возможностей. Ее простая логика торговли легко реализуется, но все же требует тестирования и оптимизации для параметров и правил, а также инструментов управления риском, чтобы обеспечить долгосрочную стабильность. Кроме того, стоит изучить комбинацию с другими показателями или алгоритмами для дальнейшего повышения стабильности стратегии.
/*backtest
start: 2022-10-01 00:00:00
end: 2023-10-07 00:00:00
period: 2d
basePeriod: 1d
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/
// © abdllhatn
//@version=5
// strategy("Alpha Short SMA and RSI Strategy", overlay=true, initial_capital=10000, default_qty_value=100)
// Inputs
sma_length = input(200, title="SMA Length")
rsi_length = input(14, title="RSI Length")
rsi_entry = input(51, title="RSI Entry Level")
rsi_stop = input(54, title="RSI Stop Level")
rsi_take_profit = input(32, title="RSI Take Profit Level")
// Indicators
sma_value = ta.sma(close, sma_length)
rsi_value = ta.rsi(close, rsi_length)
var float trailingStop = na
var float lastLow = na
// Conditions
shortCondition = ta.crossover(rsi_value, rsi_entry) and close < sma_value
if (shortCondition)
strategy.entry("Sell", strategy.short)
trailingStop := na
lastLow := na
if (strategy.position_size < 0)
if (na(lastLow) or close < lastLow)
lastLow := close
trailingStop := close
if not na(trailingStop) and close > trailingStop
strategy.close("Sell")
if (rsi_value >= rsi_stop)
strategy.close("Sell")
if (rsi_value <= rsi_take_profit)
strategy.close("Sell")
// Plot
plot(sma_value, color=color.red, linewidth=2)