В процессе загрузки ресурсов... загрузка...

Двойная стохастическая тенденция EMA после стратегии торговли

Автор:Чао Чжан, Дата: 2024-12-13 10:48:46
Тэги:ЕМАSMARSK

img

Обзор

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

Принципы стратегии

Стратегия основана на нескольких основных элементах:

  1. Использует 50- и 150-периодные EMA для определения направления рыночной тенденции
  2. Использует стохастический индикатор (14,3,3) для выявления перекупленных/перепроданных областей
  3. Поиск стохастических перекрестных сигналов в направлении тренда
  4. Установка динамического стоп-лосса на основе недавнего ценового движения
  5. Использует соотношение риск-вознаграждение 1:2 для уровня получения прибыли

Условия покупки требуют:

  • Цена закрытия выше как 50, так и 150 EMA
  • 50 EMA выше 150 EMA
  • Стохастическое значение K ниже 30 и линия K пересекается над линией D

Условия продажи противоположные:

  • Цена закрытия ниже 50 и 150 EMA
  • 50 EMA ниже 150 EMA
  • Стохастическое значение K выше 70 и линия K пересекается ниже линии D

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

  1. Механизм многократного подтверждения повышает надежность
  • Подтверждение тенденции через систему EMA
  • Фильтрация ложного сигнала с использованием стохастического
  • Многочисленные условия, необходимые для генерации сигнала
  1. Комплексная система управления рисками
  • Динамическая стоп-лосс на основе недавней поддержки/сопротивления
  • Фиксированное соотношение риск-прибыль оптимизирует ожидаемую доходность
  • Подтверждение тренда снижает риски ложного прорыва
  1. Высокая адаптивность
  • Применяется для нескольких временных рамок
  • Параметры, регулируемые в соответствии с характеристиками рынка
  • Подходит для высоковолатильных рынков

Стратегические риски

  1. Низкие показатели на различных рынках
  • Частые перекрестные пересечения средней средней средней стоимости, приводящие к ложным сигналам
  • Рекомендуется только для периодов четкой тенденции
  • Можно улучшить с помощью фильтров тенденций
  1. Риски размещения стоп-лосса
  • Слишком плотное движение может привести к частым остановкам
  • Слишком свободный может привести к большим потерям
  • Необходимость корректировки на основе волатильности рынка
  1. Риски задержки
  • Система EMA имеет врожденное отставание
  • Может пропустить начало тренда
  • Время входа требует тщательного рассмотрения

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

  1. Добавить фильтрацию силы тренда
  • Включить индикатор ADX для силы тренда
  • Установление минимального порога силы тренда
  • Избегайте торговли в слабых тенденциях
  1. Оптимизировать стохастические параметры
  • Корректировка параметров на основе характеристик рынка
  • Рассмотрим адаптивные параметры
  • Добавление дополнительных технических показателей для подтверждения
  1. Улучшение механизма стоп-лосса/прибыли
  • Подумайте о остановках.
  • Динамическая корректировка на основе волатильности
  • Оптимизировать настройки соотношения риск-вознаграждение

Резюме

Это полная система стратегии, объединяющая тренд-следующую и импульсную торговлю. Благодаря сочетанию системы EMA и стохастического индикатора, он обеспечивает, чтобы сделки соответствовали основной тенденции, входя при этом на соответствующих ценовых уровнях. Кроме того, стратегия включает в себя комплексные механизмы управления рисками, используя динамические стоп-лосс и фиксированные коэффициенты риска-вознаграждения для контроля риска. Хотя есть некоторые врожденные ограничения, общая производительность стратегии может быть дополнительно улучшена с помощью предлагаемых оптимизаций. В практическом применении трейдерам рекомендуется корректировать параметры в соответствии с конкретными характеристиками рынка и своими собственными предпочтениями риска.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-11 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © quadawosanya

//@version=5
//indicator("My script")
//@version=5
strategy("EMA-Stochastic Strategy", overlay=true)

// EMA settings
ema50 = ta.ema(close, 50)
ema150 = ta.ema(close, 150)

// Stochastic settings
kLength = 14
dLength = 3
smoothK = 3
stochK = ta.sma(ta.stoch(close, high, low, kLength), smoothK)
stochD = ta.sma(stochK, dLength)

// Parameters for Stop Loss and Take Profit
var float stopLossLevel = na
var float takeProfitLevel = na

// Buy condition
buySignal = (close > ema50 and close > ema150) and (ema50 > ema150) and (stochK < 30 and ta.crossover(stochK, stochD))

// Sell condition
sellSignal = (close < ema50 and close < ema150) and (ema50 < ema150) and (stochK > 70 and ta.crossunder(stochK, stochD))

// Previous low for Stop Loss for Buy
lowBeforeBuy = ta.lowest(low, 5)

// Previous high for Stop Loss for Sell
highBeforeSell = ta.highest(high, 5)

// Entry and exit logic
if (buySignal)
    stopLossLevel := lowBeforeBuy
    risk = close - stopLossLevel
    takeProfitLevel := close + 2 * risk
    strategy.entry("Buy", strategy.long)
    strategy.exit("Take Profit/Stop Loss", "Buy", stop=stopLossLevel, limit=takeProfitLevel)

if (sellSignal)
    stopLossLevel := highBeforeSell
    risk = stopLossLevel - close
    takeProfitLevel := close - 2 * risk
    strategy.entry("Sell", strategy.short)
    strategy.exit("Take Profit/Stop Loss", "Sell", stop=stopLossLevel, limit=takeProfitLevel)

// Plotting EMAs
plot(ema50, color=color.blue, title="50 EMA")
plot(ema150, color=color.red, title="150 EMA")

// Visualize Buy and Sell signals
plotshape(series=buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Visualize Stop Loss and Take Profit levels
plot(stopLossLevel, color=color.red, style=plot.style_line, linewidth=2, title="Stop Loss")
plot(takeProfitLevel, color=color.green, style=plot.style_line, linewidth=2, title="Take Profit")


plot(close)


Связанные

Больше