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

Стратегия обнаружения тенденций на канале G

Автор:Чао Чжан, Дата: 2024-05-29 17:06:13
Тэги:М.А.ТПSL

img

Обзор

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

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

  1. Вычислить верхнюю и нижнюю конечности a и b G-канала, где a - историческая высокая цена минус разница между предыдущим периодом s a и текущим периодом s a, деленная длиной периода, а b - историческая низкая цена плюс разница между предыдущим периодом s a и b, деленная длиной периода.
  2. Вычислить средний скользящий средний показатель по каналу G, т.е. (a+b) /2.
  3. Если цена пересекается выше значения b, это считается бычьим трендом; если цена пересекается ниже значения a, это считается медвежьим трендом.
  4. В бычьем тренде, если предыдущая свеча является медвежьей, а текущая свеча становится бычьей, генерируется сигнал покупки; в медвежьем тренде, если предыдущая свеча является бычьей, а текущая свеча становится медвежьей, генерируется сигнал продажи.
  5. Установлены условия получения прибыли и остановки убытков. При проведении длинной позиции цена получения прибыли - это цена покупки, умноженная на (1+процент получения прибыли), а цена остановки убытка - это цена покупки, умноженная на (1-процент получения прибыли); при проведении короткой позиции цена получения прибыли - это цена продажи, умноженная на (1-процент получения прибыли), а цена остановки убытка - это цена продажи, умноженная на (1+процент получения прибыли).

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

  1. Индикатор G-Channel может эффективно отслеживать рыночные тенденции и генерировать сигналы купли-продажи на основе перекрестности цены и скользящей средней по G-Channel, что делает его простым и простым в использовании.
  2. Настройки take profit и stop loss могут эффективно контролировать риск и предотвращать чрезмерные потери от одной сделки.
  3. Логика стратегии ясна и легко понять и реализовать, что делает ее подходящей для новичков в количественной торговле для изучения и использования.

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

  1. Индикатор G-Channel может генерировать больше ложных сигналов во время колебаний рынка, что приводит к частой торговле и высоким затратам на скольжение.
  2. Установление процентов получения прибыли и стоп-лосса необходимо корректировать в соответствии с характеристиками рынка и личными предпочтениями к риску, а ненадлежащее настройка параметров может привести к низкой доходности стратегии.
  3. Стратегия не учитывает специфику торгуемого актива, такую как приостановление торговли, лимиты цен и падения в стратегиях акций, которые требуют дальнейшей оптимизации.

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

  1. Другие технические индикаторы, такие как ATR и RSI, могут быть введены для проведения вторичного подтверждения сигналов, генерируемых индикатором G-Channel, повышая надежность сигналов.
  2. Для процентов получения прибыли и остановки убытков может быть принят подход динамической корректировки для адаптивной корректировки на основе таких факторов, как волатильность рынка и время хранения, что повышает адаптивность стратегии.
  3. На основе характеристик торгуемого актива могут быть добавлены соответствующие модули управления рисками.

Резюме

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


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

// Input parameters
length = input.int(100, title="Length")
src = input(close, title="Source")
take_profit_percent = input.float(5.0, title="Take Profit (%)")
stop_loss_percent = input.float(2.0, title="Stop Loss (%)")
showcross = input.bool(true, title="Show Cross")

// Initialize variables
var float a = na
var float b = na

// Calculate a and b
a := math.max(src, nz(a[1])) - (nz(a[1]) - nz(b[1])) / length
b := math.min(src, nz(b[1])) + (nz(a[1]) - nz(b[1])) / length

// Calculate average
avg = (a + b) / 2

// Determine trend and color
crossup = ta.crossunder(b, close)
crossdn = ta.crossunder(a, close)
bullish = ta.barssince(crossdn) <= ta.barssince(crossup)
c = bullish ? color.lime : color.red

// Plotting
p1 = plot(avg, "Average", color=c, linewidth=1)
p2 = plot(close, "Close price", color=c, linewidth=1)
fill(p1, p2, c)

// Generate buy and sell signals
buy_signal = showcross and bullish and not bullish[1]
sell_signal = showcross and not bullish and bullish[1]

// Plot buy and sell signals on chart
plotshape(buy_signal ? avg : na, location=location.belowbar, style=shape.labeldown, color=color.new(color.lime, 0), size=size.tiny, text="Buy", textcolor=color.white, offset=-1)
plotshape(sell_signal ? avg : na, location=location.abovebar, style=shape.labelup, color=color.new(color.red, 0), size=size.tiny, text="Sell", textcolor=color.white, offset=-1)

// Alerts
alertcondition(buy_signal, title="Buy Signal", message="Buy Signal Detected")
alertcondition(sell_signal, title="Sell Signal", message="Sell Signal Detected")

// Calculate take profit and stop loss levels
take_profit_level = close * (1 + take_profit_percent / 100)
stop_loss_level = close * (1 - stop_loss_percent / 100)

// Strategy Entry and Exit
if (buy_signal)
    strategy.entry("Buy", strategy.long)

if (sell_signal)
    strategy.entry("Sell", strategy.short)

// Define the take profit and stop loss conditions for long positions
strategy.exit("Take Profit/Stop Loss", "Buy", limit=take_profit_level, stop=stop_loss_level)

// Define the take profit and stop loss conditions for short positions
strategy.exit("Take Profit/Stop Loss", "Sell", limit=close * (1 - take_profit_percent / 100), stop=close * (1 + stop_loss_percent / 100))


Связанные

Больше