Stratégie de signal d'achat avec filtre d'achat à double indicateur


Date de création: 2023-12-07 10:43:01 Dernière modification: 2023-12-07 10:43:01
Copier: 1 Nombre de clics: 576
1
Suivre
1619
Abonnés

Stratégie de signal d’achat avec filtre d’achat à double indicateur

Aperçu

La stratégie utilise une combinaison d’indicateurs aléatoires comme les moyennes mobiles lisse (RSI) et les indices des bandes de Brent pour identifier les opportunités de vente potentielles. La stratégie utilise plusieurs conditions de filtrage pour distinguer les points de vente les plus avantageux. Cela lui permet d’identifier les opportunités de vente à forte probabilité dans des conditions de volatilité du marché.

Principe de stratégie

La stratégie utilise deux ensembles d’indicateurs pour identifier les opportunités d’achat.

Tout d’abord, il utilise l’indicateur aléatoire des moyennes mobiles et des moyennes mobiles pour déterminer si le marché est en survente. L’indicateur, combiné à l’indicateur aléatoire et à sa moyenne mobile, est considéré comme un signal de survente lorsque la ligne% K traverse sa ligne% D à partir du bas.

Deuxièmement, la stratégie utilise l’indicateur de la bande de Brin pour identifier les variations de prix. La bande de Brin est un décalage calculé en fonction de l’écart standard du prix.

Après avoir obtenu le signal de survente pour les deux indicateurs ci-dessus, la stratégie ajoute plusieurs conditions de filtrage pour identifier davantage le moment de l’achat:

  1. Les prix ont récemment dépassé la barre de Brin
  2. Le prix de clôture actuel est supérieur au prix de clôture précédant la ligne N à la racine K, indiquant une entrée de vente
  3. Le cours de clôture actuel est inférieur au cours de clôture de la période de révision à long terme ou à moyen terme, ce qui favorise la correction

Le moment d’achat identifié après le jugement global est le signal d’achat.

Analyse des avantages

Le filtrage à double indice présente plusieurs avantages:

  1. L’utilisation d’un double indicateur de jugement rend le signal d’achat plus fiable et évite les faux signaux.
  2. Plusieurs conditions de filtration permettent d’éviter les achats fréquents en cas de tremblement de terre.
  3. Les indices Brindé et Brindé sont combinés avec des indices indiciels aléatoires pour déterminer les conditions de survente et des indices Brindé pour déterminer les prix anormaux.
  4. Il est important d’augmenter la capacité de jugement des prix et de s’assurer qu’il y a suffisamment de sources d’approvisionnement.
  5. Les points d’achat sont plus fiables grâce à une plus grande capacité de rétroaction.

Dans l’ensemble, la stratégie utilise un ensemble d’indicateurs techniques et de filtres qui permettent une identification plus précise et plus fiable du moment de l’achat, et donc une meilleure performance des transactions.

Analyse des risques

Bien que la stratégie de filtrage à double indice présente de nombreux avantages, elle comporte aussi des risques à éviter:

  1. Une mauvaise configuration des paramètres peut entraîner des signaux d’achat trop fréquents ou conservateurs, nécessitant une optimisation soigneusement testée.
  2. Les conditions de filtrage multiples peuvent laisser passer une partie de l’opportunité d’achat et empêcher le suivi rapide.
  3. L’indicateur est diffus et génère des signaux erronés, il faut donc veiller à sa cohérence.
  4. Il n’est pas possible de juger de la tendance, ce qui peut entraîner des pertes en cas de mauvais signaux en période de baisse.

La stratégie peut être optimisée pour ces risques:

  1. Ajustez les paramètres de l’indicateur pour équilibrer la sensibilité des conditions de filtrage.
  2. Il est important d’éviter les signaux erronés en période de baisse avec l’aide d’indicateurs de tendance.
  3. Des mesures de prévention supplémentaires.

Direction d’optimisation

La stratégie de filtrage à double indice peut être optimisée dans les dimensions suivantes:

  1. Testez plus de combinaisons d’indicateurs techniques pour trouver de meilleurs outils de décision de moment d’achat. Par exemple, VRSI, DMI, etc.
  2. Ajout d’algorithmes d’apprentissage automatique et d’optimisation automatique des paramètres
  3. Augmentation des mécanismes d’adaptation des arrêts de perte. Augmentation progressive des arrêts de perte lorsque les bénéfices atteignent un certain niveau.
  4. Le volume des transactions est évalué en fonction de l’indicateur du volume des transactions, afin de s’assurer qu’il y a suffisamment de pouvoir d’achat.
  5. Optimiser les stratégies de gestion des fonds. Définir un nombre dynamique de transactions et réduire les pertes individuelles.

En introduisant des techniques et des méthodes plus avancées, la stratégie de filtrage du double indicateur permet d’obtenir une sélection plus précise des moments d’achat et une plus grande capacité de contrôle des risques. Cela permet d’obtenir des rendements plus stables et plus fiables sur le marché réel.

Résumer

En résumé, la stratégie de signaux d’achat de doubles indicateurs utilise plusieurs indicateurs techniques tels que le RSI stochastique et les bandes de Brent, et combine plusieurs conditions de filtrage telles que la force des prix et le jugement de rebond pour identifier un moment de vente fiable à haute probabilité. Avec l’optimisation des paramètres, le paramétrage des arrêts-pertes, etc., la stratégie peut devenir l’une des stratégies de trading quantifiées pour la stabilité des gains.

Son principal avantage réside dans la combinaison efficace d’indicateurs et de conditions de filtrage, ce qui rend le jugement du moment d’achat plus précis. Les risques et les orientations d’optimisation sont également contrôlables et résolubles. Dans l’ensemble, c’est une stratégie de quantification très efficace qui peut être mise en œuvre.

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

//@version=4
strategy("SORAN Buy and Close Buy", pyramiding=1, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, overlay=false)

////Buy and Close-Buy messages
Long_message = input("")
Close_message = input("")

///////////// Stochastic Slow
Stochlength = input(14, minval=1, title="lookback length of Stochastic")
StochOverBought = input(80, title="Stochastic overbought condition")
StochOverSold = input(20, title="Stochastic oversold condition")
smoothK = input(3, title="smoothing of Stochastic %K ")
smoothD = input(3, title="moving average of Stochastic %K")
k = sma(stoch(close, high, low, Stochlength), smoothK)
d = sma(k, smoothD)

 
///////////// RSI 
RSIlength = input( 14, minval=1 , title="lookback length of RSI")
RSIOverBought = input( 70  , title="RSI overbought condition")
RSIOverSold = input( 30  , title="RSI oversold condition")
RSIprice = close
vrsi = rsi(RSIprice, RSIlength)

///////////// Double strategy: RSI strategy + Stochastic strategy

pd = input(22, title="LookBack Period Standard Deviation High")
bbl = input(20, title="Bolinger Band Length")
mult = input(2.0    , minval=1, maxval=5, title="Bollinger Band Standard Devaition Up")
lb = input(50  , title="Look Back Period Percentile High")
ph = input(.85, title="Highest Percentile - 0.90=90%, 0.95=95%, 0.99=99%")
new = input(false, title="-------Text Plots Below Use Original Criteria-------" )
sbc = input(false, title="Show Text Plot if WVF WAS True and IS Now False")
sbcc = input(false, title="Show Text Plot if WVF IS True")
new2 = input(false, title="-------Text Plots Below Use FILTERED Criteria-------" )
sbcFilt = input(true, title="Show Text Plot For Filtered Entry")
sbcAggr = input(true, title="Show Text Plot For AGGRESSIVE Filtered Entry")
ltLB = input(40, minval=20, maxval=99, title="Long-Term Look Back Current Bar Has To Close Below This Value OR Medium Term--Default=40")
mtLB = input(14, minval=1, maxval=40, title="Medium-Term Look Back Current Bar Has To Close Below This Value OR Long Term--Default=14")
str = input(3, minval=1, maxval=9, title="Entry Price Action Strength--Close > X Bars Back---Default=3")
//Alerts Instructions and Options Below...Inputs Tab
new4 = input(false, title="-------------------------Turn On/Off ALERTS Below---------------------" )
new5 = input(false, title="----To Activate Alerts You HAVE To Check The Boxes Below For Any Alert Criteria You Want----")
sa1 = input(false, title="Show Alert WVF = True?")
sa2 = input(false, title="Show Alert WVF Was True Now False?")
sa3 = input(false, title="Show Alert WVF Filtered?")
sa4 = input(false, title="Show Alert WVF AGGRESSIVE Filter?")

//Williams Vix Fix Formula
wvf = ((highest(close, pd)-low)/(highest(close, pd)))*100
sDev = mult * stdev(wvf, bbl)
midLine = sma(wvf, bbl)
lowerBand = midLine - sDev
upperBand = midLine + sDev
rangeHigh = (highest(wvf, lb)) * ph

//Filtered Bar Criteria
upRange = low > low[1] and close > high[1]
upRange_Aggr = close > close[1] and close > open[1]
//Filtered Criteria
filtered = ((wvf[1] >= upperBand[1] or wvf[1] >= rangeHigh[1]) and (wvf < upperBand and wvf < rangeHigh))
filtered_Aggr = (wvf[1] >= upperBand[1] or wvf[1] >= rangeHigh[1]) and not (wvf < upperBand and wvf < rangeHigh)

//Alerts Criteria
alert1 = wvf >= upperBand or wvf >= rangeHigh ? 1 : 0
alert2 = (wvf[1] >= upperBand[1] or wvf[1] >= rangeHigh[1]) and (wvf < upperBand and wvf < rangeHigh) ? 1 : 0
alert3 = upRange and close > close[str] and (close < close[ltLB] or close < close[mtLB]) and filtered ? 1 : 0
alert4 = upRange_Aggr and close > close[str] and (close < close[ltLB] or close < close[mtLB]) and filtered_Aggr ? 1 : 0

//Coloring Criteria of Williams Vix Fix
col = wvf >= upperBand or wvf >= rangeHigh ? #00E676 : #787B86

isOverBought = (crossover(k,d) and k > StochOverBought) ? 1 : 0
isOverBoughtv2 = k > StochOverBought ? 1 : 0
filteredAlert = alert3 ? 1 : 0
aggressiveAlert = alert4 ? 1 : 0

plot(isOverBought, "Overbought / Crossover", style=plot.style_line, color=#FF5252) 
plot(filteredAlert, "Filtered Alert", style=plot.style_line, color=#E040FB) 
plot(aggressiveAlert, "Aggressive Alert", style=plot.style_line, color=#FF9800)

if (filteredAlert or aggressiveAlert)
    strategy.entry("Buy", strategy.long, alert_message = Long_message)

if (filteredAlert or aggressiveAlert)
    alert("Buy Signal", alert.freq_once_per_bar)


if (isOverBought)
    strategy.close("Buy", alert_message = Close_message)