Стратегия перекрестного использования двойной скользящей средней с остановкой потерь и получением прибыли

Автор:Чао Чжан, Дата: 2024-02-22 17:30:38
Тэги:

img

Обзор

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

Логика стратегии

Основными показателями этой стратегии являются быстрая линия K и медленная линия D стохастики. Быстрая линия K - это 3-периодическая простая скользящая средняя из сырых стохастических значений. Медленная линия D - это 3-периодическая простая скользящая средняя из быстрой линии K. Когда линия K пересекает линию D, генерируется золотой крест, указывающий на восходящий тренд и длинный вход. Когда линия K пересекает линию D, генерируется крест смерти, указывающий на нисходящий тренд и короткий вход.

Кроме того, эта стратегия устанавливает условие, что торговые сигналы запускаются только тогда, когда Стохастическое значение находится в пределах перепроданной территории (ниже 20) или перекупленной территории (выше 80). Это помогает отфильтровать некоторые ложные сигналы.

После выхода на рынок эта стратегия использует стоп-лосс и прибыль для контроля рисков. Прибыль устанавливается на расстоянии 120 тиков от цены входа и стоп-лосс на расстоянии 60 тиков от цены входа. Когда цена достигнет любого уровня, позиция будет закрыта.

Преимущества

  • Используйте стохастический индикатор для точного определения направления тренда
  • Перепроданность и перекупленность фильтруют ложные сигналы
  • Ограничения на остановку потерь и получение прибыли

Риски

  • Стохастик может генерировать ложные сигналы на рынках с диапазоном
  • Фиксированный стоп-лосс и прибыль не могут адаптироваться к динамическим изменениям рынка
  • Невозможно ограничить максимальное использование

Решения рисков:

  • Добавьте другие индикаторы, такие как MACD, KDJ для подтверждения комбинации
  • Установка динамических уровней стоп-лосса и прибыли
  • Добавить механизм выхода с максимальным снижением

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

  • Комбинировать с MACD, KDJ и т. д. для улучшения точности сигнала
  • Установка динамической базы стоп-лосса/приобретения прибыли на ATR
  • Добавить критерии выхода максимального использования
  • Оптимизировать коэффициенты стоп-лосса и прибыли для достижения наилучших параметров

Резюме

Стратегия перекрестного использования двойной скользящей средней с остановкой потери и получением прибыли - это простая и практичная стратегия, следующая за трендом. Она использует двойную систему скользящей средней Stochastic для планирования времени входа и остановки потери / получения прибыли для контроля риска. Эта эффективная и простая в реализации стратегия подходит для алгоритмической торговли. Дальнейшая оптимизация может превратить ее в стабильную прибыльную торговую стратегию.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Strategy alerts workaround", overlay=true) 
// disclaimer: this content is purely educational, especially please don't pay attention to backtest results on any timeframe/ticker

// Entries logic: based on Stochastic crossover
k = ta.sma(ta.stoch(close, high, low, 14), 3)
d = ta.sma(k, 3)
crossover = ta.crossover(k,d)
crossunder = ta.crossunder(k,d)

if (crossover and k < 20)
	strategy.entry("Buy", strategy.long, alert_message="buy")
if (crossunder and k > 80)
	strategy.entry("Sell", strategy.short, alert_message="sell")

// StopLoss / TakeProfit exits:
SL = input.int(60, title="StopLoss Distance from entry price (in Ticks)")
TP = input.int(120, title="TakeProfit Distance from entry price (in Ticks)")
strategy.exit("xl", from_entry="Buy", loss=SL, profit=TP, alert_message="closebuy")
strategy.exit("xs", from_entry="Sell", loss=SL, profit=TP, alert_message="closesell")

// logical conditions exits:
if (crossunder and k <= 80)
	strategy.close("Buy", alert_message="closebuy")
if (crossover and k >= 20)
	strategy.close("Sell", alert_message="closesell")

Больше