Краткосрочные торговые стратегии, основанные на следовании тренду


Дата создания: 2023-09-27 16:56:34 Последнее изменение: 2023-09-27 16:56:34
Копировать: 0 Количество просмотров: 666
1
Подписаться
1617
Подписчики

Обзор

Эта стратегия позволяет коротко торговать с учетом убытков, идентифицируя сильные тенденции и благоприятные моменты. Стратегия отслеживает тенденционные сигналы, по которым цены преодолевают простые движущиеся средние, своевременно останавливая убытки при отклонении от RSI в перекупленной и перепроданной зоне, чтобы улавливать краткосрочные падения цен.

Стратегический принцип

  1. Вычисление многоциклической простой скользящей средней

    • SMA с 9-дневной, 50-дневной и 100-дневной линиями

    • Пересечение короткой циклической линии через длинную циклическую линию для определения направления тенденции

  2. RSI показывает, что мы перекупаем и перепродаем

    • RSI на 14 циклов

    • RSI выше 70 означает перекуп, ниже 30 - перепродажу

  3. Вход на рынок, когда цена пересекает 9-дневную линию

    • Если цены вверх, они пересекают девятидневную линию

    • В результате цены снизились до уровня 9-й линии.

  4. RSI отклоняется от THENJournal, когда формируется стоп-стоп

    • RSI отклоняется от ценового эффекта

    • RSI останавливается при достижении установленного параметра

Анализ преимуществ

  • Следить за краткосрочными тенденциями, подходит для высокочастотных торгов

  • Портфель скользящих средних определяет направление тренда, чтобы избежать ошибочных сделок

  • RSI показывает, как правильно распознать момент и эффективно контролировать риски

  • Гибкий стоп-стоп, блокировка коротких линий прибыли

  • Повышение стабильности стратегии в сочетании с показателями

Анализ рисков

  • Некоторые эксперты считают, что в этом случае можно ошибиться, поймав высокие или низкие тренды.

  • RSI создает ложные сигналы, увеличивая убытки

  • Неправильно настроенные параметры стоп-стоп, которые уменьшают прибыль или увеличивают убытки

  • Слишком высокая частота сделок увеличивает расходы и проскальзывание

  • Влияние параметров на эффективность стратегии

  • Настройка параметров оптимизации, строгое остановка, учет контроля затрат

Направление оптимизации

  • Тестирование различных комбинаций скользящих средних для оптимизации результатов.

  • Рассматривайте другие индикаторы, такие как STOCH, для проверки сигналов RSI

  • Включение машинного обучения в оценку эффективности прорыва

  • Настройка параметров для разных сортов и периодов торговли

  • Оптимизация логики стоп-стоп для динамического слежения

  • Рассмотрение возможности интеграции автоматических механизмов перенаправления

Подвести итог

Стратегия объединяет преимущества среднелинейных и RSI показателей для реализации консервативной стратегии торговли на коротких линиях. Стратегия может быть усовершенствована и адаптирована к изменениям рынка с помощью оптимизации параметров, проверки сигналов, контроля риска и т. Д.

Исходный код стратегии
/*backtest
start: 2023-08-27 00:00:00
end: 2023-09-26 00:00:00
period: 3h
basePeriod: 15m
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/
// © Coinrule

//@version=4
strategy(shorttitle='Maximized Scalping On Trend',title='Maximized Scalping On Trend (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 10,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2019, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true      // create function "within window of time"

//MA inputs and calculations
movingaverage_fast = sma(close, input(9))
movingaverage_mid= sma(close, input(50))
movingaverage_slow = sma(close, input (100))


//Trend situation
Bullish= cross(close, movingaverage_fast)

Momentum = movingaverage_mid > movingaverage_slow

// RSI inputs and calculations
lengthRSI = 14
RSI = rsi(close, lengthRSI)

//Entry
strategy.entry(id="long", long = true, when = Bullish and Momentum and RSI > 50)

//Exit

TP = input(70)
SL =input(30)
longTakeProfit  = RSI > TP
longStopPrice = RSI < SL

strategy.close("long", when = longStopPrice or longTakeProfit and window())

plot(movingaverage_fast, color=color.black, linewidth=2 )
plot(movingaverage_mid, color=color.orange, linewidth=2)
plot(movingaverage_slow, color=color.purple, linewidth=2)