Stratégie classique de suivi des tendances doubles

Auteur:ChaoZhang est là., Date: 2023-11-01 16h54 et 29h
Les étiquettes:

img

Résumé

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.

Principes de stratégie

La stratégie suit principalement les étapes suivantes pour réaliser un double suivi des tendances:

  1. Calculer les points pivot classiques, y compris les points pivot, S1, R1, S2, R2 etc.

  2. Utilisez l'indicateur RSI pour déterminer la direction de la tendance des prix.

  3. Si le prix de clôture est supérieur à R2 du jour précédent, il s'agit d'une tendance forte.

  4. 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.

  5. 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.

Analyse des avantages

Les principaux avantages de cette stratégie sont les suivants:

  1. Capable de suivre à la fois les tendances à moyen et à long terme et à court terme, s'adaptant de manière flexible aux changements du marché.

  2. Les Pivot Points ont une certaine capacité de jugement des tendances et peuvent déterminer efficacement la tendance à moyen et long terme.

  3. 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.

  4. Les règles de stratégie sont claires et simples, faciles à comprendre.

  5. Le contrôle des risques est mis en place avec des points d'arrêt de perte clairs.

Analyse des risques

Les principaux risques de cette stratégie sont les suivants:

  1. 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.

  2. Les paramètres peuvent être ajustés ou utilisés conjointement avec d'autres indicateurs.

  3. Les points de stop-loss peuvent être trop arbitraires, incapables d'éviter complètement que le stop-loss ne soit atteint.

  4. Le recours à la stratégie peut être plus important, nécessiter une préparation psychologique et un soutien suffisant des capitaux.

  5. Il existe un risque de suréchange et les conditions d'ouverture peuvent être ajustées pour éviter un suréchange.

Directions d'optimisation

La stratégie peut être optimisée dans les domaines suivants:

  1. 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.

  2. Ajouter ou combiner d'autres indicateurs tels que KDJ, MACD, etc. pour rendre les signaux plus précis et fiables.

  3. 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.

  4. Optimiser le dimensionnement des positions pour limiter l'impact des pertes d'une seule position.

  5. Optimiser les conditions d'entrée pour éviter le sur-échange.

  6. Tester l'efficacité sur différents produits et ajuster les paramètres.

  7. Ajoutez des stratégies automatiques de prise de profit pour bloquer les profits.

Résumé

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)


Plus de