- Площадь
- Стратегия восемь дней для изменения импульса
Стратегия восемь дней для изменения импульса
Автор:
Чао Чжан, Дата: 2023-12-05 10:56:37
Тэги:
Обзор
Эта стратегия в основном использует обратную функцию цен после непрерывного закрытия выше или ниже 5-дневной простой скользящей средней в течение 8 дней, чтобы поймать эффект импульса в среднесрочной и краткосрочной перспективе.
Логика стратегии
- Вычислить 5-дневную простую скользящую среднюю SMA.
- Определите восходящий тренд TrendUp как ближайший больше или равен SMA, нисходящий TrendDown как ближайший меньше или равен SMA.
- Подтвердить условие для изменения тренда: запустить сигнал покупки, когда цена закрытия закрывается ниже SMA в течение 8 дней подряд и на следующий день переходит в восходящий тренд (пересекает SMA); запустить сигнал продажи, когда цена закрытия закрывается выше SMA в течение 8 дней подряд и на следующий день переходит в нисходящий тренд (пересекает SMA).
- Вход: длинный, когда условие покупки Buy запускается вчера, а текущий тренд - нисходящий; короткий, когда условие продажи Sell запускается вчера, а текущий тренд - восходящий.
- Выход: закрытие длинной позиции, когда цена закрытия пересекает SMA; закрытие короткой позиции, когда цена закрытия пересекает SMA.
Анализ преимуществ
- Захватывает импульс, используя функции перемены цен, подходящие для среднесрочной и краткосрочной торговли.
- Высокие торговые возможности, так как непрерывный прорыв SMA в течение 8 дней происходит часто.
- Пятидневный СМИ работает хорошо, избегает слишком много ложных прорывов.
- Контролируемый риск с четкой точкой остановки.
Анализ рисков
- Стоп-лосс может часто запускаться во время консолидации рынка.
- Может пропустить лучшую точку входа, если дни прорыва слишком длинные.
- Трудно получить прибыль, если есть длительная тенденция.
Может оптимизировать параметры SMA, улучшить критерии входа, чтобы предотвратить ложный прорыв, комбинировать с индикаторами тренда для укрепления стратегии.
Руководство по оптимизации
- Оптимизация параметров: тестирование различных периодов SMA для поиска лучших параметров.
- Оптимизация входа: добавьте индикаторы объема, чтобы избежать ложных прорывов; или судите о бычьих/медвежьих свечах, чтобы избежать ударов.
- Оптимизация выхода: проверка фиксированного процента остаточных стоп-потерь, чтобы дать больше места.
- Контроль рисков: устанавливается максимальное количество дней остановки потери для ограничения потерь.
- Комбинировать показатели: добавить RSI, MACD для определения тенденции для определения рыночных условий.
Заключение
Стратегия фиксирует движение цены от прорыва до отката, оценивая импульс, реализует торговую логику избегания сбоев и следования тренду. Ключевыми являются строгие параметры и надежные критерии входа для предотвращения шума; разумный стоп-лосс для ограничения потерь. Сочетание с индикаторами тренда может достичь лучших результатов. Логика стратегии проста и чиста. Стоит изучить дальнейшую оптимизацию.
/*backtest
start: 2023-11-04 00:00:00
end: 2023-12-04 00:00:00
period: 1h
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/
// © Marcuscor
//@version=5
// Inpsired by Linda Bradford Raschke: a strategy for trading momentum in futures markets
strategy("8D Run", initial_capital = 50000, commission_value = 0.0004)
SMA = ta.sma(close,5)
TrendUp = close >= SMA
TrendDown = close <= SMA
//logic to long
TriggerBuy = ta.barssince(close < SMA) >= 8
Buy = TriggerBuy[1] and TrendDown
strategy.entry("EL", strategy.long, when = Buy)
strategy.close(id = "EL", when = close > SMA)
// 1) color background when "run" begins and 2) change color when buy signal occurs
bgcolor(TriggerBuy? color.green : na, transp = 90)
bgcolor(Buy ? color.green : na, transp = 70)
// logic to short
TriggerSell = ta.barssince(close > SMA) >= 8
Sell = TriggerSell[1] and TrendUp
strategy.entry("ES", strategy.short, when = Sell)
strategy.close(id = "ES", when = close < SMA)
// 1) color background when "run" begins and 2) change color when sell signal occurs
bgcolor(TriggerSell ? color.red : na, transp = 90)
bgcolor(Sell ? color.red : na, transp = 70)
Больше