Стратегия SMA и PSAR для спотовой торговли

Автор:Чао Чжан, Дата: 2023-12-18 10:31:31
Тэги:

img

Обзор

Эта стратегия называется SMA и PSAR Spot Trading Strategy. Она сочетает в себе преимущества простой скользящей средней (SMA) и параболической SAR (PSAR) для определения направления тренда рынка и генерации торговых сигналов. Когда SMA показывает тенденцию к росту, а PSAR ниже цены, это считается покупкой. Когда SMA показывает тенденцию к снижению, а PSAR выше цены, это считается продажей.

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

Стратегия использует 100-периодную SMA для определения общего направления тренда. Когда цена закрытия проходит через SMA 100 вверх, она определяется как восходящая тенденция. Когда цена закрытия проходит через SMA 100 вниз, она определяется как нисходящая тенденция.

В то же время, индикатор PSAR рассчитывается для определения детальных пунктов входа. Начальное значение PSAR устанавливается на 0,02, значение увеличения - 0,01, а максимальное значение - 0,2.

Если PSAR ниже цены закрытия, генерируется сигнал покупки. Если PSAR выше цены закрытия, генерируется сигнал продажи.

Для снижения риска торговли стратегия также устанавливает временные выходы для закрытия позиций через 5 минут.

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

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

Кроме того, установка времени выхода помогает контролировать риски отдельных сделок и избегать чрезмерных потерь.

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

  • SMA и PSAR могут генерировать неправильные сигналы, что приводит к ненужным торговым потерям.

  • Настройка времени выхода коротка, может не полностью отразить движения тренда.

  • Настройки параметров (например, период SMA, параметры PSAR и т. д.) могут не соответствовать некоторым конкретным продуктам, требующим оптимизации.

  • Рыночная среда меняется в режиме реального времени, эффективность стратегии может быть не такой хорошей, как в случае обратного теста.

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

  • Испытывать различные параметры периода SMA для поиска более подходящих значений для конкретных продуктов.

  • Проверьте и оптимизируйте параметры PSAR, чтобы он более точно оценивал подробные записи.

  • Продлить параметры времени выхода, а также увеличить время хранения при условии получения достаточной прибыли.

  • Добавьте стратегии стоп-лосса, чтобы лучше контролировать максимальную потерю на одну сделку.

Заключение

Эта стратегия всесторонне использует такие индикаторы, как SMA и PSAR, для определения рыночных тенденций и точек входа, что является стабильным и надежным, подходящим для большинства рыночных условий. Между тем, установка времени выхода помогает контролировать риски. Эта стратегия может быть дополнительно улучшена с помощью оптимизации параметров, стратегий остановки убытков и т. Д., Чтобы получить лучшую производительность в реальном времени.


/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="SMA and Parabolic SAR Strategy with Time-Based Exit", shorttitle="SMA+PSAR", overlay=true)

// Define the parameters for the Parabolic SAR
psarStart = 0.02
psarIncrement = 0.01
psarMax = 0.2

// Calculate the 100-period SMA
sma100 = sma(close, 1000)

// Calculate the Parabolic SAR
sar = sar(psarStart, psarIncrement, psarMax)

// Determine the trend direction
isUpTrend = close < sma100

// Buy condition: Up trend and SAR below price
buyCondition = isUpTrend and sar < close

// Sell condition: Down trend and SAR above price
sellCondition = not isUpTrend and sar > close

// Plot the SMA and Parabolic SAR
plot(sma100, color=color.blue, title="100-period SMA")
plot(sar, color=color.red, title="Parabolic SAR")

// Plot buy and sell signals
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Strategy entry
strategy.entry("Buy", strategy.long, when = buyCondition)

// Time-based exit after 5 minutes
strategy.exit("Close Buy", from_entry = "Buy", when = time[0] > timestamp(year, month, dayofmonth, hour, minute + 5))

strategy.entry("Sell", strategy.short, when = sellCondition)

// Time-based exit after 5 minutes
strategy.exit("Close Sell", from_entry = "Sell", when = time[0] > timestamp(year, month, dayofmonth, hour, minute + 5))


Больше