Cette stratégie suit les tendances doubles des actions en calculant les points pivots classiques et en utilisant l'indicateur RSI pour déterminer la direction de la tendance actuelle.
La stratégie suit principalement les étapes suivantes pour réaliser un double suivi des tendances:
Calculer les points pivot classiques, y compris les points pivot, S1, R1, S2, R2 etc.
Utilisez l'indicateur RSI pour déterminer la direction de la tendance des prix.
Si le prix de clôture est supérieur à R2 du jour précédent, il s'agit d'une tendance forte.
Prenez les décisions de trading d'aujourd'hui en fonction de la direction de la tendance quotidienne, en combinant les points pivots et l'indicateur RSI.
Si la tendance quotidienne est forte (près de > R2), recherchez les points d'achat de rebond sous Pivot ou achetez en dessous de S1.
Si la tendance quotidienne est faible (close < S2), recherchez des points de vente de recul au-dessus de Pivot ou vendez au-dessus de R1.
Pour une tendance forte, le stop loss est S1 du jour précédent.
La stratégie évalue la tendance à moyen et long terme à l'aide de Pivot Points, et utilise RSI etc. pour déterminer la tendance à court terme et les points d'entrée.
Les principaux avantages de cette stratégie sont les suivants:
Capable de suivre à la fois les tendances à moyen et à long terme et à court terme, s'adaptant de manière flexible aux changements du marché.
Les Pivot Points ont une certaine capacité de jugement des tendances et peuvent déterminer efficacement la tendance à moyen et long terme.
L'indice de surachat (RSI) peut juger des niveaux de surachat/survente à court terme, ce qui permet de déterminer des points d'entrée spécifiques.
Les règles de stratégie sont claires et simples, faciles à comprendre.
Le contrôle des risques est mis en place avec des points d'arrêt de perte clairs.
Les principaux risques de cette stratégie sont les suivants:
Les Pivot Points peuvent échouer à prédire la tendance à moyen et long terme, ce qui peut être amélioré en ajustant les paramètres ou en les combinant avec d'autres indicateurs.
Les paramètres peuvent être ajustés ou utilisés conjointement avec d'autres indicateurs.
Les points de stop-loss peuvent être trop arbitraires, incapables d'éviter complètement que le stop-loss ne soit atteint.
Le recours à la stratégie peut être plus important, nécessiter une préparation psychologique et un soutien suffisant des capitaux.
Il existe un risque de suréchange et les conditions d'ouverture peuvent être ajustées pour éviter un suréchange.
La stratégie peut être optimisée dans les domaines suivants:
Essayez différentes combinaisons de paramètres comme ajuster les paramètres du RSI, optimiser les calculs des points pivots, etc. pour trouver les paramètres optimaux.
Ajouter ou combiner d'autres indicateurs tels que KDJ, MACD, etc. pour rendre les signaux plus précis et fiables.
Optimiser les stratégies d'arrêt de perte, par exemple le stop-loss de suivi, le stop-loss de sortie, etc., afin de réduire le risque d'arrêt de perte.
Optimiser le dimensionnement des positions pour limiter l'impact des pertes d'une seule position.
Optimiser les conditions d'entrée pour éviter le sur-échange.
Tester l'efficacité sur différents produits et ajuster les paramètres.
Ajoutez des stratégies automatiques de prise de profit pour bloquer les profits.
Cette stratégie juge la tendance à moyen et long terme avec des points pivots et utilise le RSI etc. pour aider à déterminer la tendance à court terme et les points d'entrée, permettant ainsi de suivre les prix à double tendance. La logique globale est claire et raisonnable, fonctionnant bien pour le trading à moyen terme. Mais il existe un risque de faux signaux, nécessitant une optimisation supplémentaire des paramètres, un contrôle strict des pertes de stop pour réduire les risques et un contrôle approprié de la taille de la position pour gérer les retombées possibles.
/*backtest start: 2023-10-01 00:00:00 end: 2023-10-31 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title="swing trade", shorttitle="vinay_swing", overlay=true) pf = input(false,title="Show Filtered Pivots") sd = input(true, title="Show Daily Pivots?") //moving average len = input(50, minval=1, title="Length") src = input(close, title="Source") out = ema(src, len) //RSI INPUT length = input( 7 ) overSold = input( 20 ) overBought = input( 80 ) price = close vrsi = rsi(price, length) // Classic Pivot pivot = (high + low + close ) / 3.0 // Filter Cr bull= pivot > (pivot + pivot[1]) / 2 + .0025 bear= pivot < (pivot + pivot[1]) / 2 - .0025 // Classic Pivots r1 = pf and bear ? pivot + (pivot - low) : pf and bull ? pivot + (high - low) : pivot + (pivot - low) s1 = pf and bull ? pivot - (high - pivot) : pf and bear ? pivot - (high - low) : pivot - (high - pivot) r2 = pf ? na : pivot + (high - low) s2 = pf ? na : pivot - (high - low) BC = (high + low) / 2.0 TC = (pivot - BC) + pivot //Pivot Average Calculation smaP = sma(pivot, 3) //Daily Pivots dtime_pivot = request.security(syminfo.tickerid, 'D', pivot[1]) dtime_pivotAvg = request.security(syminfo.tickerid, 'D', smaP[1]) dtime_r1 = request.security(syminfo.tickerid, 'D', r1[1]) dtime_s1 = request.security(syminfo.tickerid, 'D', s1[1]) dtime_r2 = request.security(syminfo.tickerid, 'D', r2[1]) dtime_s2 = request.security(syminfo.tickerid, 'D', s2[1]) dtime_BC = request.security(syminfo.tickerid, 'D', BC[1]) dtime_TC = request.security(syminfo.tickerid, 'D', TC[1]) offs_daily = 0 plot(sd and dtime_pivot ? dtime_pivot : na, title="Daily Pivot",style=circles, color=fuchsia,linewidth=1) plot(sd and dtime_r1 ? dtime_r1 : na, title="Daily R1",style=circles, color=#DC143C,linewidth=1) plot(sd and dtime_s1 ? dtime_s1 : na, title="Daily S1",style=circles, color=lime,linewidth=1) plot(sd and dtime_r2 ? dtime_r2 : na, title="Daily R2",style=circles, color=maroon,linewidth=1) plot(sd and dtime_s2 ? dtime_s2 : na, title="Daily S2",style=circles, color=#228B22,linewidth=1) plot(sd and dtime_BC ? dtime_BC : na, title="Daily BC",style=circles, color=black,linewidth=1) plot(sd and dtime_TC ? dtime_TC : na, title="Daily TC",style=circles, color=black,linewidth=1) bull1= (close > dtime_r2) bull2= (low < dtime_pivot) or (low < dtime_s1) bull3= dtime_pivot > dtime_pivot[1] bullishenglufing=bull2 and bull3 bullishenglufing1=bull1 and (close > out) and (crossover(vrsi, overBought)) longCondition = bull1[1] and ((low < dtime_TC) or (low < dtime_BC) or (low < dtime_s1)) bear1= (close < dtime_s2) bear2= (high > dtime_pivot) or (high < dtime_r1) bear3= dtime_pivot < dtime_pivot[1] bearishenglufing=bear2 and bear3 bearishenglufing1=bear1 and (close < out) and (crossunder(vrsi, overSold)) shortCondition = bear1[1] and ((high > dtime_BC) or (high > dtime_TC) or (high > dtime_r1)) plotshape(bullishenglufing, style = shape.triangleup, location = location.belowbar, color = green, size = size.tiny) plotshape(bearishenglufing, style = shape.triangledown, location = location.abovebar, color = red, size = size.tiny) if (longCondition) strategy.entry("My Long Entry Id", strategy.long) if (shortCondition) strategy.entry("My Short Entry Id", strategy.short)