La stratégie consiste à configurer plusieurs combinaisons de lignes moyennes rapides et lentes, en faisant plus lorsque toutes les lignes rapides traversent les lignes lentes; et en équilibrant les positions lorsque au moins une des lignes rapides traverse les lignes lentes. La stratégie utilise pleinement les avantages de plusieurs lignes moyennes, formant un système de décision de position plus fort.
Les principaux éléments et règles de la stratégie sont les suivants:
Plusieurs groupes de moyennes rapides et lentes: utilisation de plusieurs indicateurs de moyennes, tels que SMA, WMA, VWMA.
Faire plus de signaux: sur toutes les lignes rapides, faites plus de signaux lorsque vous traversez la ligne lente.
Signal d’équilibre: équilibre lorsque vous traversez la ligne lente sous n’importe quelle ligne rapide.
Stop loss: paramètre le point de stop fixe avec la valeur ATR.
Configuration: Configurer de manière flexible plusieurs groupes de paramètres de ligne moyenne.
L’accès à l’émission par le biais d’un vote de position combiné multi-ligne permet d’améliorer efficacement la fiabilité du signal. Plusieurs paramètres de ligne moyenne peuvent être personnalisés et offrent une flexibilité.
Par rapport à la stratégie de la ligne moyenne unique, elle présente les avantages suivants:
Les combinaisons de lignes moyennes multiples permettent de juger de la tendance de manière plus globale.
Le vote a été organisé de manière à ne pas induire en erreur les transactions de bruit.
Les paramètres de la ligne moyenne peuvent être configurés librement, ce qui permet d’optimiser beaucoup de choses.
Il prend en charge plusieurs indicateurs de la ligne moyenne et offre une flexibilité d’utilisation.
Il est possible de régler les pertes individuelles en réglant les points de rupture.
Les cycles plus longs sont plus efficaces et réduisent les oscillations de la courbe.
Les calculs sont simples, intuitifs, faciles à mettre en œuvre et à utiliser.
La stabilité et la durabilité sont généralement meilleures que celles d’une ligne moyenne simple.
Mais cette stratégie comporte aussi des risques:
La moyenne multiple augmente la complexité de la stratégie.
Il existe un risque d’optimisation excessive des paramètres.
La courbe moyenne est essentiellement un retard dans l’identification des changements de tendance.
Le nombre de transactions n’a pas été pris en compte et il est possible qu’il y ait des contrefaçons.
Les paramètres de stop-loss sont plus arbitraires et peuvent entraîner des liquidations inutiles.
L’effet est plus fluctuant en fonction de l’évolution du marché.
Il faut faire attention au taux de rétractation des gains pour éviter que la courbe ne soit trop raide.
Paramètres à vérifier pour la stabilité dans plusieurs variétés.
Sur la base de ces analyses, la stratégie peut être renforcée par:
Paramètres de la ligne moyenne pour tester la robustesse dans différentes variétés.
Augmenter le volume de transactions ou vérifier la volatilité.
Optimiser le paramètre de stop-loss.
La tolérance maximale de retrait est définie.
Construire un mécanisme de gestion dynamique des positions.
Évaluer les effets de l’introduction de l’apprentissage automatique
Attention au maximum de retraits et à la concentration de la courbe des gains.
Les stratégies d’optimisation sont répétitives et ne permettent pas d’être trop optimisées.
Cette stratégie configure un portefeuille de lignes plus ou moins uniformes, formant un mécanisme de prise de décision plus robuste. Cependant, toute stratégie nécessite une prévention de la suradaptation et une adaptation dynamique en fonction de l’environnement du marché. Seule une stratégie de test et de quantification continuellement optimisée peut s’adapter au marché à long terme.
/*backtest
start: 2022-09-16 00:00:00
end: 2023-09-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © levieux
//@version=5
strategy(title='Configurable Multi MA Crossover Voting System', shorttitle='Configurable Multi MA Crossover Voting System', initial_capital=1000, overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1)
crossoverConfig= input.string(defval="2x4,3x5,4x6", title="Crossover Config")
source= input.source(high)
maType= input.string("WMA", title="Moving Average Type", options=["WMA","SMA","VWMA"])
atrPeriod= input(14, title="ATR Period")
profitAtr = input(10, title="Profit ATR x")
lossAtr = input(5, title="Loss ATR x")
ma(src,length,type) =>
float ma = switch type
"SMA" => ta.sma(src, length)
"WMA" => ta.wma(src, length)
"VWMA" => ta.vwma(src, length)
crossoverGroups= str.split(crossoverConfig, ",")
crossoverCount= array.size(crossoverGroups)
crossovers= array.new_string(crossoverCount)
positions= array.new_int(crossoverCount, 0)
longVotes= 0
for i= 0 to crossoverCount-1
crossover= str.tostring(array.get(crossoverGroups, i))
crossoverBoundaries= str.split(crossover, "x")
int fastLength= math.round(str.tonumber(array.get(crossoverBoundaries, 0)))
int slowLength= math.round(str.tonumber(array.get(crossoverBoundaries, 1)))
wmaFast= ma(source,fastLength,maType)
wmaSlow= ma(source,slowLength,maType)
if wmaFast>wmaSlow
longVotes:= longVotes + 1
array.set(positions, i, 1)
longCondition= longVotes==crossoverCount and strategy.position_size==0
//profitTicks = profitAtr*ta.atr(atrPeriod)/syminfo.mintick
//lossTicks = lossAtr*ta.atr(atrPeriod)/syminfo.mintick
profitPrice= close+profitAtr*ta.atr(atrPeriod)
lossPrice= close-lossAtr*ta.atr(atrPeriod)
if strategy.position_size>0
profitPrice:= profitPrice[1]
lossPrice:= lossPrice[1]
plot(profitPrice, color=color.green)
plot(lossPrice, color=color.red)
if longCondition and profitPrice>0
strategy.entry("Long", strategy.long)
if longVotes<crossoverCount and strategy.position_size>0 and (high>profitPrice or low<lossPrice)
strategy.close("Long")
longVotes:= 0