Stratégie de conditions d'entrée avancées basée sur la moyenne mobile, la résistance du support et le volume


Date de création: 2024-06-14 15:40:46 Dernière modification: 2024-06-14 15:40:46
Copier: 9 Nombre de clics: 550
1
Suivre
1617
Abonnés

Stratégie de conditions d’entrée avancées basée sur la moyenne mobile, la résistance du support et le volume

Aperçu

La stratégie combine les trois indicateurs techniques de la moyenne mobile simple (SMA), de la résistance au support et de l’augmentation du volume des transactions pour construire une stratégie de trading complète. L’idée principale de la stratégie est de négocier lorsque le prix dépasse la moyenne SMA, la résistance au support et l’augmentation du volume des transactions, tout en définissant des conditions de stop-loss pour contrôler le risque.

Principe de stratégie

  1. Calculer la moyenne SMA, le support et la résistance sur une période donnée.
  2. Déterminez si le volume de transactions actuel a augmenté par rapport au cycle précédent.
  3. Conditions d’entrée multiples: le prix de clôture actuel est supérieur au prix de clôture du cycle précédent et est supérieur à la moyenne SMA et au support, et le prix est à une certaine distance du niveau de résistance et augmente avec le volume des transactions.
  4. Conditions d’entrée à vide: le prix de clôture actuel est inférieur au prix de clôture du cycle précédent et est inférieur à la moyenne SMA et au support, et le prix est à une certaine distance du point de résistance et augmente avec le volume des transactions.
  5. Conditions de stop loss: le prix de stop multiple est multiplié par le prix d’entrée (partie de stop loss de 1%) et le prix de stop loss à vide est multiplié par le prix d’entrée (partie de stop loss de 1%)

Analyse des avantages

  1. La combinaison de plusieurs indicateurs techniques améliore la fiabilité et la stabilité de la stratégie.
  2. En même temps, il faut tenir compte de la rupture de la moyenne SMA et de la résistance au support pour mieux saisir les opportunités de tendance.
  3. L’introduction d’indicateurs de volume des transactions, qui assurent que les ruptures de prix sont accompagnées d’une participation suffisante du marché, améliore l’efficacité du signal.
  4. Le risque de transaction est effectivement maîtrisé par la mise en place de conditions de stop-loss.

Analyse des risques

  1. Les calculs des points de résistance de soutien reposent sur des données historiques et peuvent perdre de leur efficacité en cas de fortes fluctuations du marché.
  2. L’indicateur de volume des transactions peut être sujet à des fluctuations anormales, ce qui peut générer des signaux erronés.
  3. La mise en place de conditions de stop-loss peut ne pas être en mesure d’éviter complètement les pertes dans des situations extrêmes du marché.

Direction d’optimisation

  1. Envisagez d’introduire d’autres indicateurs techniques, tels que l’indice de force relative (RSI) ou la variation de la convergence des moyennes mobiles (MACD), pour vérifier davantage la fiabilité des signaux de trading.
  2. Optimisation des méthodes de calcul des points de résistance de support, par exemple en utilisant des méthodes plus dynamiques pour s’adapter à différentes conditions de marché.
  3. Le volume des transactions est géré de manière fluide afin de réduire l’impact des fluctuations anormales sur la stratégie.
  4. Optimiser les paramètres de stop loss, par exemple en utilisant un stop mobile ou en ajustant dynamiquement le pourcentage de stop loss en fonction des fluctuations du marché.

Résumer

La stratégie est une stratégie de négociation complète qui combine la moyenne SMA, la résistance au support et le volume de transactions. L’avantage de la stratégie réside dans la capacité de saisir les opportunités de tendance tout en contrôlant les risques de négociation. Cependant, la stratégie présente également certaines limites, telles que la capacité d’adaptation aux conditions extrêmes du marché.

Code source de la stratégie
/*backtest
start: 2023-06-08 00:00:00
end: 2024-06-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Advanced Entry Conditions with Support/Resistance, SMA, and Volume", overlay=true)

// Inputs
length = input(20, title="SMA Length")
stopLossPerc = input(1, title="Stop Loss Percentage", type=input.float) / 100
leftBars = input(15, title="Left Bars")
rightBars = input(15, title="Right Bars")
distanceThresh = input(1, title="Distance Threshold from Support/Resistance", type=input.float) / 100

// Calculations
smaValue = sma(close, length)
highUsePivot = fixnan(pivothigh(leftBars, rightBars)[1])
lowUsePivot = fixnan(pivotlow(leftBars, rightBars)[1])

// Volume Calculation
volumeIncrease = volume > volume[1]

// Entry Conditions
longEntryCondition = close[0] > close[1] and close[1] > smaValue and close[0] > smaValue and close[0] > lowUsePivot and close[1] > lowUsePivot and abs(close[0] - highUsePivot) > distanceThresh and volumeIncrease
shortEntryCondition = close[0] < close[1] and close[1] < smaValue and close[0] < smaValue and close[0] < lowUsePivot and close[1] < lowUsePivot and abs(close[0] - highUsePivot) > distanceThresh and volumeIncrease

// Calculate stop loss levels
longStopLoss = close * (1 - stopLossPerc)
shortStopLoss = close * (1 + stopLossPerc)

// Strategy Logic
strategy.entry("Long", strategy.long, when=longEntryCondition)
strategy.exit("Exit Long", "Long", stop=longStopLoss)

strategy.entry("Short", strategy.short, when=shortEntryCondition)
strategy.exit("Exit Short", "Short", stop=shortStopLoss)

// Plotting
plot(smaValue, color=color.blue, title="SMA")
plot(highUsePivot, color=color.red, linewidth=2, title="Resistance")
plot(lowUsePivot, color=color.green, linewidth=2, title="Support")

plotshape(series=longEntryCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Long Entry")
plotshape(series=shortEntryCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Short Entry")

// Background Color
bgcolor(longEntryCondition ? color.new(color.green, 90) : shortEntryCondition ? color.new(color.red, 90) : na)