Торговая стратегия, основанная на уровнях Фибоначчи и приростах объема


Дата создания: 2024-05-15 10:45:58 Последнее изменение: 2024-05-15 10:45:58
Копировать: 0 Количество просмотров: 694
1
Подписаться
1617
Подписчики

Торговая стратегия, основанная на уровнях Фибоначчи и приростах объема

Обзор

Эта стратегия является торговой стратегией, основанной на увеличении объема сделок (Delta Volume) и отклонении от Фибоначчи (Fibonacci Retracement). Она определяет тенденцию рынка, сравнивая объем сделок покупателей и продавцов за определенный период времени, используя линию отклонения от Фибоначчи, чтобы определить выходные точки.

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

  1. Вычисляет объем сделок покупателей и продавцов за заданный период и хранит в массивах.
  2. Рассчитывается дельта-объем, то есть объем покупателя минус объем продавца.
  3. Вычислить максимальную и минимальную цены за заданный период и на их основе вычислить линию Фибоначевой обратной связи 38.2% и 61.8%.
  4. Открывать позиции больше, когда увеличение объема сделки больше 0, что означает, что объем сделки покупателя больше, чем объем сделки продавца, и цена закрытия выше 61.8% от линии обратного отсчета Фибоначчи.
  5. При увеличении объема сделок меньше 0 (продавец имеет большее количество сделок, чем покупатель), а цена закрытия ниже 38.2% от линии фибоначевой обратной корректировки.

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

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

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

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

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

  1. Для подтверждения тенденций и точек входа и выхода можно рассмотреть возможность внедрения других технических показателей, таких как скользящие средние, RSI и т. д.
  2. Для различных рынков и торговых сортов можно оптимизировать циклы и параметры расчета объемов сделок и фибоначевой обратной коррекции.
  3. После входа в игру, можно установить движущийся стоп или стоп-стоп, чтобы контролировать риск и блокировать прибыль.
  4. Для динамичного корректирования стратегии можно использовать индикаторы рыночной настроенности, такие как индекс страха и жадности.

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

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

Исходный код стратегии
/*backtest
start: 2023-05-09 00:00:00
end: 2024-05-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Delta Volume with Fibonacci Levels Strategy", overlay=true)

// Input pour la période de calcul du volume et du delta
N = input(14, title="Période du Delta Volume")
fibLength = input(21, title="Fibonacci Lookback Period")

// Choix de la barre pour l'entrée et la sortie des trades
entryPriceType = input.string("close", title="Entry Price Type", options=["open", "close"])
exitPriceType = input.string("close", title="Exit Price Type", options=["open", "close"])

// Correction des dates de début et de fin pour le backtest
startDate = input(defval = timestamp("2021-01-01"), title = "Start Date")
endDate = input(defval = timestamp("2022-01-01"), title = "End Date")

// Calcul des volumes des acheteurs et des vendeurs
buyerVolume = array.new_float()
sellerVolume = array.new_float()

// Mise à jour des volumes à chaque bougie
buyVol = close > open ? volume : 0
sellVol = close < open ? volume : 0
array.unshift(buyerVolume, buyVol)
array.unshift(sellerVolume, sellVol)

// Gardez seulement les N dernières valeurs pour le delta volume
if array.size(buyerVolume) > N
    array.pop(buyerVolume)
if array.size(sellerVolume) > N
    array.pop(sellerVolume)

// Calcul du delta de volume
sumBuyerVolume = array.sum(buyerVolume)
sumSellerVolume = array.sum(sellerVolume)
deltaVolume = sumBuyerVolume - sumSellerVolume

// Calcul du plus haut et du plus bas pour Fibonacci
highestPrice = ta.highest(high, fibLength)
lowestPrice = ta.lowest(low, fibLength)

// Fibonacci Levels
fib382 = lowestPrice + (highestPrice - lowestPrice) * 0.5
fib618 = lowestPrice + (highestPrice - lowestPrice) * 0.786


// Vérification des dates pour le backtest
bool isInDateRange = true

// Conditions d'entrée et de sortie
entryPrice = entryPriceType == "open" ? open : close
exitPrice = exitPriceType == "open" ? open : close

// Acheter quand le volume des acheteurs dépasse celui des vendeurs, le prix est au-dessus du niveau 61.8% de Fibonacci
if isInDateRange and deltaVolume > 0 and entryPrice > fib618
    strategy.entry("Buy", strategy.long)

// Vendre quand le volume des vendeurs dépasse celui des acheteurs, le prix est en dessous du niveau 38.2% de Fibonacci
if isInDateRange and deltaVolume < 0 and exitPrice < fib382
    strategy.close("Buy")

// Affichage des niveaux de Fibonacci et du delta de volume
plot(fib382, color=color.red, title="Fibonacci 38.2%")
plot(fib618, color=color.green, title="Fibonacci 61.8%")
plot(deltaVolume, color=deltaVolume > 0 ? color.green : color.red, title="Delta Volume")