Stratégie combinée d'inversion de la moyenne mobile double et de point pivot


Date de création: 2024-01-16 15:48:44 Dernière modification: 2024-01-16 15:48:44
Copier: 2 Nombre de clics: 612
1
Suivre
1617
Abonnés

Stratégie combinée d’inversion de la moyenne mobile double et de point pivot

Aperçu

Cette stratégie est une combinaison de la stratégie de revers de forme 123 et de la stratégie de pivot pour obtenir un taux de victoire plus élevé. La stratégie de revers de forme 123 détermine les points de revers de tendance, tandis que la stratégie de pivot détermine les points de support et de résistance critiques.

Principe de stratégie

123 Stratégie de retour en arrière

Cette stratégie est basée sur des indicateurs aléatoires pour déterminer les points de basculement. Lorsque le prix de clôture est inférieur au prix de clôture précédent pendant 2 jours consécutifs et que l’indicateur STO lent est inférieur à 50 le 9e jour, faites plus; lorsque le prix de clôture est supérieur au prix de clôture précédent pendant 2 jours consécutifs et que l’indicateur STO rapide est supérieur à 50 le 9e jour, faites moins.

Stratégie des pôles

La stratégie utilise trois lignes de support et trois lignes de résistance, calculées en fonction du prix le plus élevé, du prix le plus bas et du prix de clôture de la journée précédente. Le point central = (le plus haut + le plus bas + la clôture) / 3 Le support 1 est égal à 2.*Le point central - le plus haut La résistance 1 est égale à 2.Le point central - le plus bas Le support 2 = le point central - la résistance 1 = le support 1 Résistance 2 = point central + ((résistance 1- support1) Le support 3 est égal au minimum -2.(Le plus haut - le centre)
La résistance 3 = maximale + 2*(Centre - le plus bas) Il est possible d’entrer et de sortir en fonction des points de soutien et de résistance.

Avantages stratégiques

  1. La combinaison des avantages de deux types de stratégies différentes permet à la fois de déterminer un renversement de tendance et de localiser une position de prix spécifique, avec un taux de victoire plus élevé.
  2. Les stratégies de forme 123 permettent de déterminer efficacement les points de revers de tendance à court terme.
  3. Les stratégies de pivot permettent de filtrer les fausses percées des points de résistance des supports clés.

Risques et couvertures

  1. Les indices binaires aléatoires ont un certain retard et peuvent manquer une inversion de ligne courte
  2. Le pivot n’est pas efficace à 100%, il pourrait y avoir une rupture et continuer à fonctionner
  3. Les paramètres peuvent être ajustés de manière appropriée ou utilisés en combinaison avec d’autres indicateurs pour couvrir le risque

Orientation de l’optimisation de la stratégie

  1. Les effets des différents paramètres sur l’efficacité de la stratégie peuvent être testés
  2. On peut essayer de combiner avec d’autres indicateurs ou formes pour améliorer l’efficacité de la stratégie.
  3. Paramètres d’optimisation dynamique qui peuvent être combinés avec des algorithmes d’apprentissage automatique

Résumer

Cette stratégie combine habilement le jugement de la tendance avec les points critiques des prix, permettant à la fois de déterminer le point de retournement de la tendance et d’utiliser les signaux de filtrage de résistance de soutien. L’efficacité peut être encore améliorée par l’optimisation des paramètres et de la combinaison de la stratégie.

Code source de la stratégie
/*backtest
start: 2023-12-16 00:00:00
end: 2024-01-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/04/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// Pivot points simply took the high, low, and closing price from the previous period and 
// divided by 3 to find the pivot. From this pivot, traders would then base their 
// calculations for three support, and three resistance levels. The calculation for the most 
// basic flavor of pivot points, known as ‘floor-trader pivots’, along with their support and 
// resistance levels.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


PP2(res,SellFrom,BuyFrom) =>
    pos = 0.0
    xHigh  = security(syminfo.tickerid,res, high)
    xLow   = security(syminfo.tickerid,res, low)
    xClose = security(syminfo.tickerid,res, close)
    vPP = (xHigh+xLow+xClose) / 3
    vS1 = 2*vPP - xHigh 
    vR1 = 2*vPP-xLow
    vS2 = vPP - (vR1 - vS1)
    vR2 = vPP + (vR1 - vS1)
    vS3 = xLow - 2 * (xHigh - vPP)
    vR3 = xHigh + 2 * (vPP - xLow) 
    S =  iff(BuyFrom == "S1", vS1, 
          iff(BuyFrom == "S2", vS2,
           iff(BuyFrom == "S3", vS3,0)))
    B =  iff(SellFrom == "R1", vR1, 
          iff(SellFrom == "R2", vR2,
           iff(SellFrom == "R3", vR3,0)))
    pos := iff(close > B, 1,
             iff(close < S, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Pivot Point V2)", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Pivot Point V2 ----")
res = input(title="Resolution", type=input.resolution, defval="D")
SellFrom = input(title="Sell from ", defval="R1", options=["R1", "R2", "R3"])
BuyFrom = input(title="Buy from ", defval="S1", options=["S1", "S2", "S3"])
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posPP2 = PP2(res,SellFrom,BuyFrom)
pos = iff(posReversal123 == 1 and posPP2 == 1 , 1,
	   iff(posReversal123 == -1 and posPP2 == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1 ) 
    strategy.entry("Long", strategy.long)
if (possig == -1 )
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )