
Cette stratégie est basée sur un intégrateur d’indicateur personnalisé, permettant de suivre la tendance en calculant la direction de la tendance des prix par la somme de la distance entre le prix et la moyenne mobile.
La stratégie utilise des indicateurs personnalisés pour cumuler la distance entre le prix et la moyenne mobile, et se concrétise comme suit:
Calculer le prix par rapport à une moyenne mobile simple de longueur k = close-sma (close 200)
Définition d’une période cumulative s = 29, avec une addition cumulative des valeurs de k dans la période la plus récente s: sum = 0, for i = 0 to s, sum := sum + k[i]
Un signal de commutation est généré lorsque sum>0 et un signal de commutation lorsque sum<0
Lorsque vous entrez dans une position de plus, vous êtes en position de zéro si sum<0; lorsque vous entrez dans une position de coupe, vous êtes en position de zéro si sum>0
Cette stratégie détermine la direction de la tendance générale des prix en suivant la somme des valeurs positives et négatives de la distance des prix par rapport à la moyenne mobile. La direction positive de la tendance générale des prix est considérée comme une tendance à la hausse lorsque l’intégration est positive.
Utilisez un compteur d’indicateur personnalisé pour déterminer efficacement la direction de la tendance des prix
L’utilisation de l’intégration pour accumuler la distance entre les prix et les moyennes mobiles permet d’améliorer la précision des tendances
Une logique relativement simple, une mise en œuvre facile à comprendre et une optimisation facile
Il est possible d’ajuster de manière flexible les paramètres de la période d’intégration pour optimiser la sensibilité de l’intégrateur à la détermination des tendances.
Les résultats de la recherche sont bons, les revenus sont stables et peuvent être appliqués
Une mauvaise configuration de la période intégrée peut entraîner une insensibilité de l’intégrateur et une perte du point de basculement de la tendance
Une mauvaise configuration de la longueur de la moyenne mobile peut conduire l’intégrateur à mal interpréter la tendance des prix
Les événements majeurs soudains entraînent des fluctuations brusques des prix, ce qui peut entraîner des signaux erronés dans l’incrustateur
Une mauvaise sélection de variétés de négociation, comme une variété trop volatile, peut nuire à l’intégrateur
Les solutions pour faire face aux risques:
Optimisation des paramètres de cycle d’intégration pour rendre l’intégrateur plus sensible aux changements de tendance
Tester l’efficacité des moyennes mobiles de différentes longueurs, en choisissant la longueur qui permet de déterminer efficacement la tendance
La stratégie de fermeture avant les événements majeurs pour éviter les faux signaux de fluctuation des prix
Choisissez des variétés de trading à faible volatilité pour améliorer l’efficacité de l’intégrateur
On peut envisager d’ajouter d’autres indicateurs auxiliaires, tels que le RSI, à la base de l’intégrateur, pour former un jugement global.
On peut étudier l’effet d’intégration de différents types de moyennes mobiles par rapport à la distance de prix.
On peut essayer d’optimiser automatiquement les paramètres du cycle d’intégration pour les adapter à différentes variétés de transactions.
L’indicateur de volume peut être ajouté pour éviter que l’intégrateur ne génère un signal erroné lors d’une forte fluctuation des prix
Les paramètres de l’intégrateur peuvent être automatiquement optimisés par des méthodes telles que l’apprentissage automatique pour rendre les stratégies plus robustes.
Cette stratégie permet de suivre efficacement les tendances en utilisant une méthode qui permet de déterminer la direction de la tendance des prix en utilisant un multiplicateur d’indicateurs personnalisés. La logique de la stratégie est simple et claire.
/*backtest
start: 2023-10-09 00:00:00
end: 2023-10-16 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Indicator Integrator Strat",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,currency="USD",initial_capital=100, overlay=true)
l = input(defval=170,title="Length for indicator")
s = input(title="Length of summation",defval=29)
a= sma(close,l)
r=roc(close,l)
k=close-a
sum = 0
for i = 0 to s
sum := sum + k[i]
plot(a,color=yellow,linewidth=2,transp=0)
//bc = iff( sum > 0, white, teal)
//plot(sum,color=bc, transp=20, linewidth=3,style=columns)
//plot(sma(sum,3),color=white)
//hline(0)
inpTakeProfit = input(defval = 0, title = "Take Profit", minval = 0)
inpStopLoss = input(defval = 0, title = "Stop Loss", minval = 0)
inpTrailStop = input(defval = 0, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)
useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na
useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na
useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na
useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na
longCondition = sum>0
exitlong = sum<0
shortCondition = sum<0
exitshort = sum>0
strategy.entry(id = "Long", long=true, when = longCondition)
strategy.close(id = "Long", when = exitlong)
strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitlong)
strategy.entry(id = "Short", long=false, when = shortCondition)
strategy.close(id = "Short", when = exitshort)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitshort)