G Trend EMA ATR Интеллектуальная торговая стратегия

EMA ATR
Дата создания: 2024-06-14 15:35:15 Последнее изменение: 2024-06-14 15:35:15
Копировать: 8 Количество просмотров: 713
1
Подписаться
1617
Подписчики

G Trend EMA ATR Интеллектуальная торговая стратегия

Обзор

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

Стратегический принцип

  1. Расчет верхней и нижней полосы канала G: расчет верхней и нижней полосы канала G с использованием текущей ценой закрытия и предыдущей самой высокой ценой.
  2. Определение направления тренда: Определение плюсового тренда путем наблюдения за отношением цены к восходящему и нисходящему направлению G-канала.
  3. Вычислить EMA: вычислить значение EMA для заданного периода.
  4. Вычислить ATR: вычислить значение ATR для заданного периода.
  5. Определение условий купли-продажи: сделайте выигрыш, когда цена прорывает канал G и находится ниже EMA, и сделайте выигрыш, когда цена прорывает канал G и находится выше EMA.
  6. Установка стоп-лосса: стоп-лосса - цена открытия позиции - 2 раза ATR, стоп-лосса - цена открытия позиции + 4 раза ATR ((многоголовый); стоп-лосса - цена открытия позиции + 2 раза ATR, стоп-лосса - цена открытия позиции - 4 раза ATR ((порогой головой)).
  7. Триггер стратегии: выполнение соответствующих открытых позиций при удовлетворении условий покупки и продажи и установка соответствующего стоп-лосса.

Стратегические преимущества

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

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

  1. При этом в некоторых странах, например, в Китае, и в некоторых странах, например, в Китае, в Китае, в Китае, в Китае, в Китае, в Китае, в Китае, в Китае, в Китае, в Китае, в Китае, в Китае, в Китае.
  2. Оптимизация параметров: разные сорта и циклы могут требовать разных параметров, и их использование может быть рискованным.
  3. “Черная лебедь”: в крайних случаях, когда цены сильно колеблются, остановка может быть неэффективной.

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

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

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// Full credit to AlexGrover: https://www.tradingview.com/script/fIvlS64B-G-Channels-Efficient-Calculation-Of-Upper-Lower-Extremities/
strategy ("G-Channel Trend Detection with EMA Strategy and ATR", shorttitle="G-Trend EMA ATR Strategy", overlay=true)

// Inputs for G-Channel
length = input(100, title="G-Channel Length")
src = input(close, title="Source")

// G-Channel Calculation
var float a = na
var float b = na
a := max(src, nz(a[1])) - (nz(a[1] - b[1]) / length)
b := min(src, nz(b[1])) + (nz(a[1] - b[1]) / length)
avg = (a + b) / 2

// G-Channel Signals
crossup = b[1] < close[1] and b > close
crossdn = a[1] < close[1] and a > close
bullish = barssince(crossdn) <= barssince(crossup)
c = bullish ? color.lime : color.red

// Plot G-Channel Average
p1 = plot(avg, "Average", color=c, linewidth=1, transp=90)
p2 = plot(close, "Close price", color=c, linewidth=1, transp=100)
fill(p1, p2, color=c, transp=90)

// Show Buy/Sell Labels
showcross = input(true, title="Show Buy/Sell Labels")
plotshape(showcross and not bullish and bullish[1] ? avg : na, location=location.absolute, style=shape.labeldown, color=color.red, size=size.tiny, text="Sell", textcolor=color.white, transp=0, offset=-1)
plotshape(showcross and bullish and not bullish[1] ? avg : na, location=location.absolute, style=shape.labelup, color=color.lime, size=size.tiny, text="Buy", textcolor=color.white, transp=0, offset=-1)

// Inputs for EMA
emaLength = input(50, title="EMA Length")
emaValue = ema(close, emaLength)

// Plot EMA
plot(emaValue, title="EMA", color=color.blue, linewidth=1)

// ATR Calculation
atrLength = input(14, title="ATR Length")
atrValue = atr(atrLength)

// Strategy Conditions
buyCondition = bullish and close < emaValue
sellCondition = not bullish and close > emaValue

// Stop Loss and Take Profit Levels
longStopLoss = close - 2 * atrValue
longTakeProfit = close + 4 * atrValue
shortStopLoss = close + 2 * atrValue
shortTakeProfit = close - 4 * atrValue

// Execute Strategy with ATR-based stop loss and take profit
if (buyCondition)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Sell", "Buy", stop=longStopLoss, limit=longTakeProfit)

if (sellCondition)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover", "Sell", stop=shortStopLoss, limit=shortTakeProfit)

// Plot Buy/Sell Signals on the chart
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", offset=-1)
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", offset=-1)