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

Стратегия количественной торговли EMA100 и NUPL относительно нереализованной прибыли

Автор:Чао Чжан, Дата: 2024-06-17 14:55:13
Тэги:ЕМА

img

Обзор

Эта торговая стратегия основана на трех показателях: 100-периодная экспоненциальная скользящая средняя (EMA100), чистая нереализованная прибыль/убыток (NUPL) и относительная нереализованная прибыль. Она генерирует торговые сигналы, определяя перекрестность цены с EMA100 и положительность или отрицательность NUPL и относительной нереализованной прибыли. Длинный сигнал запускается, когда цена пересекает EMA100, и как NUPL, так и относительная нереализованная прибыль являются положительными. Короткий сигнал запускается, когда цена пересекает EMA100, и как NUPL, так и относительная нереализованная прибыль являются отрицательными.

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

  1. Вычислить 100-периодный EMA в качестве основного индикатора тенденции
  2. Использование ННПЛ и относительной нереализованной прибыли в качестве вспомогательных показателей для подтверждения силы и устойчивости тенденции
  3. Создавать длинные/короткие сигналы, когда цена пересекает EMA100/ниже EMA100, в то время как NUPL и относительная нереализованная прибыль одновременно являются положительными/отрицательными
  4. Принять фиксированный размер позиции 10% и установить стоп-лосс 10% для контроля риска
  5. При проведении длинной позиции, если цена падает ниже цены стоп-лосса, закрыть длинную позицию; при проведении короткой позиции, если цена повышается выше цены стоп-лосса, закрыть короткую позицию

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

  1. Простая и понятная: логика стратегии ясна и использует общие технические показатели, что облегчает понимание и реализацию
  2. Следующая тенденция: используя EMA100, он подходит для использования на трендовых рынках.
  3. Контроль рисков: Установление фиксированного размера позиций и стоп-лосс позволяют эффективно контролировать риск
  4. Приспособляемость: стратегия может применяться на различных рынках и торговых инструментах

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

  1. Ложные сигналы: на нестабильных рынках частые перекрестки между ценой и EMA100 могут генерировать больше ложных сигналов, приводящих к потерям.
  2. Отставание: как отстающий показатель, EMA может медленно реагировать на изменение тенденции, упуская лучшие возможности для входа
  3. Оптимизация параметров: параметры стратегии (такие как период EMA, размер позиции, коэффициент стоп-лосса) должны быть оптимизированы для различных рынков, а ненадлежащие параметры могут привести к плохой эффективности стратегии.

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

  1. Оптимизация параметров: оптимизация таких параметров, как период EMA, размер позиции и коэффициент остановки потери для улучшения эффективности стратегии
  2. Фильтрация сигналов: добавление других технических показателей или показателей настроения рынка для фильтрации ложных сигналов
  3. Динамическое управление позициями: динамическая корректировка позиций на основе волатильности рынка, прибыли/убытка счета и других факторов для повышения доходности и контроля риска.
  4. Длинная-короткая комбинация: Содержание одновременно длинных и коротких позиций для хеджирования рыночного риска и повышения стабильности стратегии

Резюме

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


/*backtest
start: 2023-06-11 00:00:00
end: 2024-06-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Scalping Strategy with EMA 100, NUPL, and Relative Unrealized Profit", overlay=true)

// Input for EMA period
emaPeriod = input.int(100, title="EMA Period", minval=1)
ema100 = ta.ema(close, emaPeriod)
plot(ema100, color=color.blue, title="EMA 100")

// Placeholder function for NUPL (Net Unrealized Profit/Loss)
// Replace this with actual NUPL data or calculation
NUPL = close * 0.0001 // Dummy calculation

// Placeholder function for relative unrealized profit
// Replace this with actual relative unrealized profit data or calculation
relativeUnrealizedProfit = close * 0.0001 // Dummy calculation

// Define conditions for long and short entries
longCondition = ta.crossover(close, ema100) and NUPL > 0 and relativeUnrealizedProfit > 0
shortCondition = ta.crossunder(close, ema100) and NUPL < 0 and relativeUnrealizedProfit < 0

// Plot buy and sell signals on the chart
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")

// Calculate stop loss levels
longStopLoss = close * 0.90
shortStopLoss = close * 1.10

// Strategy entry and exit rules
if (longCondition)
    strategy.entry("Long", strategy.long, stop=longStopLoss)

if (shortCondition)
    strategy.entry("Short", strategy.short, stop=shortStopLoss)

// Set stop loss levels for active positions
if (strategy.position_size > 0)
    strategy.exit("Exit Long", "Long", stop=longStopLoss)
if (strategy.position_size < 0)
    strategy.exit("Exit Short", "Short", stop=shortStopLoss)

// Alerts for long and short entries
alertcondition(longCondition, title="Long Entry Alert", message="Long entry signal based on EMA 100, NUPL, and relative unrealized profit")
alertcondition(shortCondition, title="Short Entry Alert", message="Short entry signal based on EMA 100, NUPL, and relative unrealized profit")

// Visualize the entry conditions
plotshape(series=longCondition, location=location.belowbar, color=color.blue, style=shape.cross, title="Long Condition")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.cross, title="Short Condition")


Связанные

Больше