Стратегия торговли с изменением импульса

Автор:Чао Чжан, Дата: 2024-01-18 11:26:40
Тэги:

img

Обзор

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

Принципы

Стратегия в основном использует скользящие средние и индикаторы RSI для определения тенденций и условий перекупления/перепродажи. Конкретные торговые сигналы: цена закрытия индекса отскочит от долгосрочной 200-дневной скользящей средней и остается выше ее в качестве долгосрочного суждения о тренде; цена закрытия превышает 10-дневную скользящую среднюю в качестве краткосрочного сигнала корректировки; RSI3 менее 30 в качестве сигнала перепродажи.

После принятия позиции, выходы основаны на стоп-лосс, прибыли и краткосрочных суждениях о тренде. Если цена закрытия остается выше 10-дневного MA, считая, что краткосрочная корректировка закончилась, активно получать прибыль; если цена закрытия достигает нового минимума, прекратить с убытком; получать прибыль, когда цена закрытия повышается на 10%.

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

Стратегия имеет следующие преимущества:

  1. Простая логика, легкая для понимания и реализации, подходящая для начинающих;
  2. в полной мере использовать долгосрочный подъемный тренд индекса, чтобы избежать торговли против тренда;
  3. Использовать индикатор RSI для определения краткосрочной точки перелома с целью увеличения вероятности получения прибыли;
  4. Существуют механизмы стоп-лосса и прибыли для контроля рисков;
  5. Низкие требования к данным, достаточно ежедневных данных, подходящих для реализации с нулевыми затратами.

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

Стратегия также сопряжена с некоторыми рисками:

  1. Устойчивое падение медвежьих рынков приведет к убыткам;
  2. Неудачное обращение может привести к значительным потерям;
  3. Неправильные настройки параметров также могут повлиять на результаты, такие как неправильные периоды скользящей средней;
  4. Частота торгов может быть низкой и не может охватить все корректировки;
  5. Ограниченный рост прибыли, не намного выше, чем доходность рыночного индекса.

В ответ на вышеперечисленные риски для улучшения стратегии могут быть использованы такие методы, как оптимизация параметров цикла, корректировка коэффициентов стоп-лосса, добавление других показателей и т.д.

Руководство по оптимизации

Стратегия может быть оптимизирована в следующих аспектах:

  1. Увеличение количества многофакторных суждений о долгосрочных и краткосрочных тенденциях, таких как MACD и KD, для повышения точности суждений;
  2. Добавьте анализ объема торговли, например, длинные позиции при увеличении объема торговли;
  3. Оптимизировать настройки параметров с помощью анализа ходьбы вперед и других методов для поиска наилучших параметров;
  4. Для определения уровней реверсии объединяется больше факторов, таких как уровни ретрекча Фибоначчи, уровни поддержки и сопротивления;
  5. Всесторонне рассмотреть оптимизацию коэффициента прибыли, например, корректировку позиций и коэффициентов стоп-лосса для достижения более высокой доходности.

Резюме

В целом, это очень простая и практичная краткосрочная стратегия торговли. Она сочетает в себе долгосрочный восходящий тренд и краткосрочное обратное движение индекса для получения избыточной доходности при одновременном контроле рисков.


/*backtest
start: 2023-01-11 00:00:00
end: 2024-01-17 00:00:00
period: 1d
basePeriod: 1h
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/
// © tsujimoto0403

//@version=5
strategy("simple pull back", overlay=true,default_qty_type=strategy.percent_of_equity,
     default_qty_value=100)

//input value 
malongperiod=input.int(200,"長期移動平均BASE200/period of long term sma",group = "パラメータ")
mashortperiod=input.int(10,"長期移動平均BASE10/period of short term sma",group = "パラメータ")
stoprate=input.int(5,title = "損切の割合%/stoploss percentages",group = "パラメータ")
profit=input.int(20,title = "利食いの割合%/take profit percentages",group = "パラメータ")
startday=input(title="バックテストを始める日/start trade day", defval=timestamp("01 Jan 2000 13:30 +0000"), group="期間")
endday=input(title="バックテスを終わる日/finish date day", defval=timestamp("1 Jan 2099 19:30 +0000"), group="期間")


//polt indicators that we use 
malong=ta.sma(close,malongperiod)
mashort=ta.sma(close,mashortperiod)

plot(malong,color=color.aqua,linewidth = 2)
plot(mashort,color=color.yellow,linewidth = 2)

//date range 
datefilter = true

//open conditions
if close>malong and close<mashort and strategy.position_size == 0 and datefilter and ta.rsi(close,3)<30 
    strategy.entry(id="long", direction=strategy.long)
    
//sell conditions 
strategy.exit(id="cut",from_entry="long",stop=(1-0.01*stoprate)*strategy.position_avg_price,limit=(1+0.01*profit)*strategy.position_avg_price)


if close>mashort and close<low[1] and strategy.position_size>0
    strategy.close(id ="long")
        




Больше