Расширенная версия бестеневой средней K-линии и системы торговли средневзвешенной по объему ценой

VWAP HA SL TP IST ATR
Дата создания: 2025-02-21 14:49:07 Последнее изменение: 2025-02-21 14:49:07
Копировать: 0 Количество просмотров: 423
2
Подписаться
319
Подписчики

Расширенная версия бестеневой средней K-линии и системы торговли средневзвешенной по объему ценой Расширенная версия бестеневой средней K-линии и системы торговли средневзвешенной по объему ценой

Обзор

Это автоматическая торговая система, основанная на беспроводной средней K-линии (Heikin-Ashi) и торговой величине с завышенной средней ценой (VWAP). Эта стратегия выполняет покупку и продажу в течение установленного торгового времени, идентифицируя конкретные формы K-линии в сочетании с VWAP в качестве динамической точки поддержки / сопротивления. Система использует фиксированный риск управления остановкой и остановкой в определенное время в день, чтобы избежать риска в одночасье.

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

Основная логика стратегии основана на следующих ключевых элементах:

  1. Использование Heikin-Ashi K-линии вместо традиционной K-линии позволяет лучше идентифицировать тенденции рынка, рассчитывая среднее значение цены открытия, максимальной цены, минимальной цены и цены закрытия.
  2. Условия покупки: зеленая линия Heikin-Ashi K (линия без теней) сформирована и цена находится над VWAP.
  3. Условия продажи: Красная линия Heikin-Ashi K (без верхней тени) сформирована и цена находится ниже VWAP.
  4. При использовании фиксированной 50-точечной цели остановки, при попадании в цену стоимости, она становится равномерной.
  5. Принудительное выбытие всех невыбытых позиций в 15:01.

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

  1. Вместе с Heikin-Ashi и VWAP два мощных технических показателя повышают надежность торговых сигналов.
  2. Требования беспроводной связи обеспечивают более сильный сигнал подтверждения тренда.
  3. Фиксированный стоп-стоп помогает строго контролировать риск.
  4. Стратегия торговли в течение дня позволяет избежать рисков на ночь.
  5. Система полностью автоматизирована, что позволяет избежать эмоционального вмешательства.

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

  1. Фиксированный стоп-стоп может не подходить для всех рыночных условий, особенно при изменении волатильности.
  2. Обязательное закрытие позиции может привести к пропущенной продолжительности.
  3. Строгие требования к беспроводной связи могут привести к тому, что вы упустите часть возможностей для эффективной торговли.
  4. Некоторые эксперты считают, что это может привести к возникновению ложных сигналов на рынке.
  5. В период низкого объема торгов VWAP может снижаться.

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

  1. Введение ATR для динамической корректировки стоп-стоп-стоп-пойнтов, чтобы стратегия лучше адаптировалась к волатильности рынка.
  2. Добавить фильтры трендов, чтобы уменьшить количество ложных сигналов на горизонтальных рынках.
  3. Оптимизация времени закрытия позиции, которая может быть скорректирована в зависимости от динамики рыночных особенностей.
  4. Добавление фильтра объема транзакций, повышение надежности показателя VWAP
  5. В частности, в новом проекте будет использоваться функция “стоп-лост” для отслеживания убытков и улучшения защиты прибыли.

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

Стратегия в сочетании с показателями Heikin-Ashi и VWAP создает стабильную систему внутридневных торгов. Хотя есть место для оптимизации, основная структура имеет хорошую практичность. С помощью предлагаемого направления оптимизации стратегия может лучше работать в различных рыночных условиях. Основное внимание уделяется тонкой настройке параметров в соответствии с особенностями конкретного торгового сорта.

Исходный код стратегии
/*backtest
start: 2024-07-16 00:00:00
end: 2025-02-19 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Buy and Sell Signal with VWAP and Timed Exit", overlay=true)

// VWAP Calculation
vwap = ta.vwap(close)

// Heikin-Ashi Formula
var float heikin_open = na
var float heikin_close = na

heikin_open := na(heikin_open[1]) ? (open + close) / 2 : (heikin_open[1] + heikin_close[1]) / 2
heikin_close := (open + high + low + close) / 4
heikin_high = math.max(high, math.max(heikin_open, heikin_close))
heikin_low = math.min(low, math.min(heikin_open, heikin_close))

// Conditions for Sell (Red Heikin-Ashi with no upper shadow) and Buy (Green Heikin-Ashi with no lower shadow)
no_upper_shadow = heikin_high == math.max(heikin_open, heikin_close)
no_lower_shadow = heikin_low == math.min(heikin_open, heikin_close)

// Condition for red (sell) and green (buy) Heikin-Ashi candles
is_red_candle = heikin_close < heikin_open
is_green_candle = heikin_close > heikin_open

// Buy and Sell Signal Conditions
sell_signal = is_red_candle and no_upper_shadow and close < vwap
buy_signal = is_green_candle and no_lower_shadow and close > vwap

// Check current time (for 15:01 IST)
is_after_1501 = (hour == 15 and minute > 1) or (hour > 15)

// Check for open positions
open_sell_position = strategy.position_size < 0
open_buy_position = strategy.position_size > 0

// Trigger Sell order only if no open sell position exists and time is before 15:01, and price is below VWAP
if sell_signal and not open_sell_position and not is_after_1501
    strategy.entry("Sell", strategy.short)

// Trigger Buy order only if no open buy position exists and time is before 15:01, and price is above VWAP
if buy_signal and not open_buy_position and not is_after_1501
    strategy.entry("Buy", strategy.long)

// Define exit condition for Sell (opposite of Buy conditions)
exit_sell_condition = false

if open_sell_position
    entry_price = strategy.position_avg_price  // Get the average entry price for Sell
    current_price = close  // Current market price for Sell

    // Exit conditions for Sell
    exit_sell_condition := current_price > entry_price or entry_price - current_price >= 50

    // Exit if conditions are met
    if exit_sell_condition
        strategy.close("Sell")

// Define exit condition for Buy (opposite of Sell conditions)
exit_buy_condition = false

if open_buy_position
    entry_price = strategy.position_avg_price  // Get the average entry price for Buy
    current_price = close  // Current market price for Buy

    // Exit conditions for Buy
    exit_buy_condition := current_price < entry_price or current_price - entry_price >= 50

    // Exit if conditions are met
    if exit_buy_condition
        strategy.close("Buy")

// Exit at 15:01 IST for both Buy and Sell if not already exited
if (open_sell_position or open_buy_position) and (hour == 15 and minute == 1)
    strategy.close("Sell")
    strategy.close("Buy")

// Plot VWAP
plot(vwap, color=color.blue, linewidth=2, title="VWAP")

// Plot Heikin-Ashi Candles
plotcandle(heikin_open, heikin_high, heikin_low, heikin_close, color = is_red_candle ? color.red : (is_green_candle ? color.green : color.gray))

// Plot Sell signal on the chart
plotshape(sell_signal and not open_sell_position and not is_after_1501, style=shape.labeldown, location=location.abovebar, color=color.red, text="SELL", size=size.small)

// Plot Buy signal on the chart
plotshape(buy_signal and not open_buy_position and not is_after_1501, style=shape.labelup, location=location.belowbar, color=color.green, text="BUY", size=size.small)

// Plot Exit signals on the chart
plotshape(exit_sell_condition and open_sell_position, style=shape.labelup, location=location.belowbar, color=color.blue, text="EXIT SELL", size=size.small)
plotshape(exit_buy_condition and open_buy_position, style=shape.labeldown, location=location.abovebar, color=color.blue, text="EXIT BUY", size=size.small)