Le ratio d'or de Fibonacci et la stratégie RSI de la force relative

Auteur:ChaoZhang est là., Date: 2024-01-03 16h54:32
Les étiquettes:

img

Résumé

La stratégie du ratio d'or de Fibonacci et de l'indice de force relative (RSI) est une stratégie de trading intraday. Elle combine le principe du ratio d'or de Fibonacci et l'indicateur RSI pour émettre des signaux d'achat ou de vente lorsque le prix approche des points clés du ratio d'or et que le RSI montre un état de surachat ou de survente.

La logique de la stratégie

  1. Calculer la ligne médiane du prix en fonction d'une certaine période de barres.

  2. Calculer les points clés du ratio d'or, y compris le niveau 0,618 et le niveau 1 en fonction de la ligne médiane et de l'écart type.

  3. Lorsque le prix s'approche des points clés du ratio d'or, vérifiez si le RSI entre dans la zone de surachat ou de survente.

  4. Émettre des signaux d'achat ou de vente si la règle du ratio d'or et la condition RSI sont remplies.

  5. Mettez un stop-loss et profitez pour contrôler les risques.

Analyse des avantages

  1. La combinaison de plusieurs indicateurs améliore la qualité du signal et réduit les faux signaux.

  2. Utilisez la fonction de support/résistance de la règle du ratio d'or pour assurer une entrée de qualité.

  3. L'indice RSI mesure la psychologie du marché pour éviter les revers extrêmes.

  4. Convient pour le trading intradien à haute fréquence afin d'accumuler des bénéfices sur plusieurs petits trades.

Analyse des risques

  1. Le ratio d'or ne peut pas garantir un renversement de prix de 100%.

  2. Le RSI peut donner des signaux trompeurs, il doit combiner l'action des prix.

  3. Un stop loss trop serré pourrait être arrêté par des fluctuations de prix.

  4. Le trading à haute fréquence nécessite des coûts de négociation plus élevés et un contrôle des risques plus strict.

Les solutions:

  1. Suivez strictement la règle du stop loss pour limiter les pertes d'une seule transaction.

  2. Détacher correctement les paramètres du RSI pour éviter les signaux trompeurs.

  3. Optimiser le point d'arrêt des pertes pour réduire la probabilité d'arrêt tout en assurant un arrêt des pertes efficace.

Directions d'optimisation

  1. Résultats des essais sur différents paramètres de la période du cycle.

  2. Essayez de combiner d'autres indicateurs comme le MACD, les bandes de Bollinger, etc. pour améliorer la qualité du signal.

  3. Recherchez différentes stratégies de stop loss pour trouver des configurations optimales.

  4. Évaluer la période de détention optimale pour équilibrer les bénéfices et les coûts.

Conclusion

Le ratio d'or de Fibonacci et la stratégie RSI filtrent les transactions bruyantes grâce à une double confirmation. Comparé aux stratégies à indicateur unique, il génère des signaux de trading de meilleure qualité. Avec l'optimisation des paramètres et une règle stricte, cette stratégie peut devenir un outil de trading intraday efficace.


/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-02 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © MohamedYAbdelaziz

// Intraday Trading
// Best used for Short Timeframes [1-30 Minutes]
// If you have any modifications please tell me to update it

//@version=4
strategy(title="Fibonacci + RSI - Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=10000, currency=currency.USD)

// Inputs
timeFilter = year >= 2000
    // Stop Loss %
loss_percent = input(title="Stop Loss (%)", minval=0.0, step=0.1, defval=2) * 0.001
    // RSI Inputs
len = input(title="[RSI] Length", minval=0, step=1, defval=14)
overSold = input(title="[RSI] Over Sold %", defval=30)
overBought = input(title="[RSI] Over Bought %", defval=70)
    // Fibonacci Levels
length = input(title="[Fibonacci] Length", defval=200, minval=1)
src = input(hlc3, title="[Fibonacci] Source")
mult = input(title="[Fibonacci] Multiplier", defval=3.0, minval=0.001, maxval=50)
level = input(title="[Fibonacci] Level", defval=764)


// Calculate Fibonacci
basis = vwma(src, length)
dev = mult * stdev(src, length)
fu764= basis + (0.001*level*dev)
fu1= basis + (1*dev)
fd764= basis - (0.001*level*dev)
fd1= basis - (1*dev)

// Calculate RSI
vrsi = rsi(close, len)

// Calculate the Targets
targetUp = fd764
targetDown = fu764
    // Actual Targets
bought = strategy.position_size[0] > strategy.position_size[1]
exit_long = valuewhen(bought, targetUp, 0)
sold = strategy.position_size[0] < strategy.position_size[1]
exit_short = valuewhen(sold, targetDown, 0)

// Calculate Stop Losses
stop_long = strategy.position_avg_price * (1 - loss_percent)
stop_short = strategy.position_avg_price * (1 + loss_percent)

// Conditions to Open Trades
openLong = low < fd1 and crossover(vrsi[1], overSold)
openShort = high > fu1 and crossunder(vrsi[1], overBought)

// Conditions to Close Trades
closeLong = high > exit_long
closeShort = low < exit_short 


// Plots
plot(basis, color=color.blue, linewidth=2, title="[Fibonacci Level] Basis")
plot(fu764, color=color.white, linewidth=1, title="[Fibonacci Level] Short Target")
plot(fu1, color=color.red, linewidth=2, title="1", title="[Fibonacci Level] Top")
plot(fd764, color=color.white, linewidth=1, title="[Fibonacci Level] Long Target")
plot(fd1, color=color.green, linewidth=2, title="1", title="[Fibonacci Level] Bottom")


// Strategy Orders
if timeFilter
    // Entry Orders
    strategy.entry(id="Long", long=true, when=openLong and high < targetUp, limit=close)
    strategy.entry(id="Short", long=false, when=openShort and low > targetDown, limit=close)

    // Exit Orders
    strategy.exit(id="Long", when=closeLong and strategy.position_size > 0, limit=exit_long, stop=stop_long)
    strategy.exit(id="Short", when=closeShort and strategy.position_size < 0, limit=exit_short, stop=stop_short)

Plus de