Stratégie d'inversion du retracement de Fibonacci

Auteur:ChaoZhang est là., Date: 2023-12-07 15:15:26 La date est fixée à
Les étiquettes:

img

Résumé

La stratégie d'inversion de retracement de Fibonacci est une stratégie de trading quantitative basée sur les niveaux de retracement de Fibonacci et l'indicateur d'indice de force relative (RSI).

La logique de la stratégie

La stratégie calcule d'abord deux zones de prix importantes basées sur les niveaux de Fibonacci de 0,618 - le point le plus élevé de 0,618 fois et le point le plus bas de 0,618 fois.

En outre, la stratégie utilise également l'indicateur RSI pour déterminer les conditions de surachat/survente. RSI inférieur à 30 indique le statut de survente tandis que RSI supérieur à 70 suggère une condition de surachat. Ceux-ci impliquent également des renversements de prix potentiels.

En combinant les deux conditions, le signal d'achat est déclenché lorsque: les ruptures de clôture sont supérieures au point bas de 0,618 fois et que le RSI est inférieur à 30; le signal de vente est déclenché lorsque: les ruptures de clôture sont inférieures au point haut de 0,618 fois et que le RSI dépasse 70.

Lorsqu'il y a un signal d'achat, la stratégie sera longue au prix du marché. Lorsqu'il y a un signal de vente, elle sera courte au prix du marché. De plus, les niveaux de prise de profit et de stop loss sont définis de manière à ce que la position soit fermée lorsque le prix se déplace favorablement d'un certain pourcentage (take profit) ou se déplace négativement d'un certain pourcentage (stop loss).

Les avantages

La stratégie combine les scénarios de tendance et d'inversion, en tenant compte de la tendance majeure tout en profitant du retracement à court terme.

  1. Les niveaux de Fibonacci ont des attributs de support/résistance inhérents, servant d'indicateur efficace de la zone de prix.
  2. L'indice de surachat/survente suggère des points tournants potentiels.
  3. Les signaux long/court sont clairs, captant les chances d'inversion.
  4. Le risque de prise de contrôle des profits/arrêt des pertes.

Les risques

Il y a certains risques à prendre en compte:

  1. Des pertes peuvent survenir si aucun renversement de tendance majeur ne se produit malgré des rebonds à court terme.
  2. Une zone de stop-loss plus large pourrait aider.
  3. Les revers peuvent durer longtemps et nécessitent un soutien suffisant en capital.

Optimisation

La stratégie peut être encore optimisée par:

  1. Rassembler plus de données historiques pour tester et ajuster les paramètres clés tels que la plage de la zone de Fibonacci et les lignes de surachat/survente du RSI pour mieux s'adapter au marché réel.

  2. Incorporer plus d'indicateurs pour générer des signaux plus forts, comme les modèles de chandeliers, les changements de volume, etc.

  3. Ajuster les paramètres ou les règles en fonction des différentes caractéristiques des instruments de négociation.

  4. Ajouter un mécanisme de stop loss dynamique au prix de suivi en temps réel.

Conclusion

La stratégie d'inversion de Fibonacci rétrécement équilibre les scénarios de tendance et d'inversion pour réaliser des bénéfices à court terme tout en contrôlant les risques.


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

//@version=5
strategy("FBS Trade", overlay=true)

// Fibonacci seviyeleri
fibonacciLevels = input(0.618, title="Fibonacci Düzeltme Seviyesi")

// RSI ayarları
rsiLength = input(14, title="RSI Periyodu")
overboughtLevel = input(70, title="RSI Satış Sinyali Seviyesi")
oversoldLevel = input(30, title="RSI Alış Sinyali Seviyesi")

// Take Profit ve Stop Loss yüzdesi
takeProfitPercent = input(1, title="Take Profit Yüzdesi") / 100
stopLossPercent = input(1, title="Stop Loss Yüzdesi") / 100

// Fibonacci seviyelerini hesapla
highFibo = high * (1 + fibonacciLevels)
lowFibo = low * (1 - fibonacciLevels)

// RSI hesaplama
rsiValue = ta.rsi(close, rsiLength)

// Alış ve satış koşulları
buyCondition = close > lowFibo and rsiValue < 30
sellCondition = close < highFibo and rsiValue > overboughtLevel

// Take Profit ve Stop Loss seviyeleri
takeProfitLong = strategy.position_avg_price * (1 + takeProfitPercent)
stopLossLong = strategy.position_avg_price * (1 - stopLossPercent)

takeProfitShort = strategy.position_avg_price * (1 - takeProfitPercent)
stopLossShort = strategy.position_avg_price * (1 + stopLossPercent)

// Alış ve satış işlemleri
if (buyCondition)
    strategy.entry("Buy", strategy.long)
if (sellCondition)
    strategy.entry("Sell", strategy.short)

// Take Profit ve Stop Loss seviyeleri
if (strategy.position_size > 0)
    strategy.exit("Take Profit/Close Buy", from_entry="Buy", limit=takeProfitLong, stop=stopLossLong)
if (strategy.position_size < 0)
    strategy.exit("Take Profit/Close Sell", from_entry="Sell", limit=takeProfitShort, stop=stopLossShort)

// Sadece mumları ve buy/sell işlemlerini göster
plot(close, color=color.black, title="Close")

// Destek ve direnç bölgeleri
supportLevel = input(27, title="Fibonacci Destek Seviyesi")
resistanceLevel = input(200, title="Direnç Seviyesi")

hline(supportLevel, "Fibonacci Destek Seviyesi", color=color.green)
hline(resistanceLevel, "Direnç Seviyesi", color=color.red)

// Trend çizgileri
var line trendLine = na
if (ta.crossover(close, highFibo))
    trendLine := line.new(bar_index[1], highFibo[1], bar_index, highFibo, color=color.green, width=2)
if (ta.crossunder(close, lowFibo))
    trendLine := line.new(bar_index[1], lowFibo[1], bar_index, lowFibo, color=color.red, width=2)

// RSI ve Fibo'yu grafiğe çizme
hline(overboughtLevel, "RSI Satış Sinyali", color=color.red, linestyle=hline.style_dashed)
hline(oversoldLevel, "RSI Alış Sinyali", color=color.green, linestyle=hline.style_dashed)
plot(rsiValue, color=color.purple, title="RSI")

// 15 dakikalıkta 3 mumda bir alarm
is15MinBar = ta.change(time('15'), 1)
if (is15MinBar % 3 == 0)
    alert("15 dakikalıkta 3 mum geçti.")


Plus de