Cette stratégie combine le filtrage bi-homogène et le jugement de la forme des prix pour former un mécanisme d’entrée plus complet visant à améliorer la qualité des signaux. La stratégie ajoute également un contrôle des marges bénéficiaires et un délai hebdomadaire maximum de détention des positions, ce qui permet un mécanisme de gestion des risques plus complet.
La stratégie comprend principalement les indicateurs et les règles de négociation suivants:
La ligne moyenne SMA 3: déterminer la direction de la tendance à grande échelle.
2 lignes de l’EMA: pour juger les détails.
Indicateur SAR: Aide à la détermination des tendances et des percées
Ligne K: identifier une ligne K spécifique comme l’un des signaux d’entrée.
Le nombre maximal de plafonnages: Limiter le nombre maximal de plafonnages unilatéraux, fixer le profit.
Période de détention maximale: éviter l’expansion des pertes et contrôler les pertes individuelles.
Cette stratégie combine plusieurs indicateurs techniques pour un jugement composite, formant un signal d’entrée et un mécanisme d’exit plus robustes, contrôlant les risques tout en augmentant les bénéfices et en réalisant des transactions stables.
La stratégie présente les avantages suivants par rapport à une stratégie à un seul indicateur:
La combinaison de plusieurs indicateurs améliore la précision du signal.
La reconnaissance de la forme de la ligne K améliore les chances d’accès.
Le contrôle du nombre de fois que les positions sont liquidées permet de déterminer le profit.
La période de tenue des positions est limitée afin d’éviter une perte de capital.
La moyenne SMA détermine les grandes tendances et joue le rôle de suivi des tendances.
L’EMA s’est engagée dans une démarche de mise au point et de sensibilisation.
Les indicateurs SAR aident à déterminer la fiabilité de la percée.
L’équilibre des risques et des avantages est globalement bon et difficile à trouver.
Les bénéfices excédentaires stables peuvent être ajustés en fonction des paramètres du marché.
Bien que cette stratégie présente de nombreux avantages, les risques suivants doivent être pris en compte:
La combinaison de plusieurs indicateurs est plus complexe et plus difficile à mettre en œuvre.
L’optimisation des paramètres est large et présente des risques.
L’efficacité de la reconnaissance de la forme de la ligne K est douteuse, et un signal erroné peut apparaître.
Il est facile de rater une occasion de frappe après avoir égalé une position.
Le délai hebdomadaire de détention de la position a créé un certain mépris pour le plafond de profit.
La stabilité et l’optimisation des revenus sont en conflit.
L’adaptation au marché multivarié doit être étudiée.
Il est nécessaire de rester attentif à la robustesse de la stratégie.
Sur la base de cette analyse, la stratégie peut être optimisée de la manière suivante:
Adaptation de la palette de paramètres pour améliorer la stabilité des gains.
Il est temps d’introduire des technologies d’apprentissage automatique pour optimiser l’accès aux cours.
Optimisation et adaptation dynamique des stratégies de stop-loss.
Évaluer l’impact des différentes périodes de détention sur la courbe des bénéfices.
Les stratégies de test sont adaptées aux différents marchés de variétés.
Ajout de tests de robustesse des paramètres pour éviter une suroptimisation.
Développer un système de gestion des risques quantifiés.
Vérifier en permanence l’efficacité des stratégies pour éviter qu’elles ne deviennent obsolètes.
Dans l’ensemble, cette stratégie a permis d’obtenir un système de trading relativement robuste avec l’aide de plusieurs indicateurs. Cependant, toute stratégie nécessite une optimisation et une vérification continues, en se concentrant sur la robustesse des paramètres, afin que la stratégie puisse s’adapter aux différents environnements de marché.
//@version=3
strategy("Free Strategy #08 (Combo of #01 and #02) (ES / SPY)", overlay=true)
// Inputs
Quantity = input(1, minval=1, title="Quantity")
SmaPeriod01 = input(3, minval=1, title="SMA Period 01")
SmaPeriod02 = input(8, minval=1, title="SMA Period 02")
SmaPeriod03 = input(10, minval=1, title="SMA Period 03")
EmaPeriod01 = input(5, minval=1, title="EMA Period 01")
EmaPeriod02 = input(3, minval=1, title="EMA Period 02")
MaxProfitCloses = input(5, minval=1, title="Max Profit Close")
MaxBars = input(10, minval=1, title="Max Total Bars")
// Misc Variables
src = close
BarsSinceEntry = 0
MaxProfitCount = 0
Sma01 = sma(close, SmaPeriod01)
Sma02 = sma(close, SmaPeriod02)
Sma03 = sma(close, SmaPeriod03)
Ema01 = ema(close, EmaPeriod01)
Ema02 = ema(close, EmaPeriod02)
OHLC = (open + high + low + close) / 4.0
// Conditions
Cond00 = strategy.position_size == 0
Cond01 = close < Sma03
Cond02 = close <= Sma01
Cond03 = close[1] > Sma01[1]
Cond04 = open > Ema01
Cond05 = Sma02 < Sma02[1]
Entry01 = Cond00 and Cond01 and Cond02 and Cond03 and Cond04 and Cond05
Cond06 = close < Ema02
Cond07 = open > OHLC
Cond08 = volume <= volume[1]
Cond09 = (close < min(open[1], close[1]) or close > max(open[1], close[1]))
Entry02 = Cond00 and Cond06 and Cond07 and Cond08 and Cond09
// Update Exit Variables
BarsSinceEntry := Cond00 ? 0 : nz(BarsSinceEntry[1]) + 1
MaxProfitCount := Cond00 ? 0 : (close > strategy.position_avg_price and BarsSinceEntry > 1) ? nz(MaxProfitCount[1]) + 1 : nz(MaxProfitCount[1])
// Entries
strategy.entry(id="L1", long=true, qty=Quantity, when=(Entry01 or Entry02))
// Exits
strategy.close("L1", (BarsSinceEntry - 1 >= MaxBars or MaxProfitCount >= MaxProfitCloses))