Cette stratégie calcule les lignes moyennes mobiles de plusieurs délais pour déterminer la tendance à travers différentes périodes. Elle va long lorsque le prix dépasse les moyennes mobiles et court lorsque le prix dépasse les moyennes mobiles.
La stratégie repose sur les points clés suivants:
Calculer les moyennes mobiles simples de 21 jours, 50 jours, 100 jours et 200 jours.
Allez long lorsque le prix dépasse l'une des moyennes mobiles, et allez court quand il dépasse en dessous.
Définir le stop loss près du prix le plus bas de la barre précédente après ouverture de positions longues et près du prix le plus élevé après ouverture de positions courtes.
Fixer des objectifs de prise de profit inférieurs au prix le plus bas pour les positions longues et supérieurs au prix le plus élevé pour les positions courtes dans certaines fourchettes.
Fermez les positions lorsque le prix atteint le niveau de stop loss ou de profit.
Les mécanismes de stop loss et take profit contrôlent les risques en sortant des positions lorsque les pertes s'étendent ou que les bénéfices atteignent certains niveaux.
Les principaux avantages de cette stratégie sont les suivants:
Amélioration de la fiabilité des signaux grâce à l'analyse de plusieurs délais.
Les arrêts dynamiques facilitent le contrôle des risques. Le calcul des arrêts basé sur l'action des prix fournit des plages raisonnables pour limiter la perte maximale par transaction.
La syntaxe Pine offre des structures lisibles pour ajuster facilement les paramètres et optimiser.
Application pratique facile. Les croisements de moyennes mobiles sont une idée de stratégie classique qui peut être facilement mise en œuvre dans le trading en direct avec un réglage approprié des paramètres.
Il y a aussi quelques risques à prendre en considération:
Les moyennes mobiles peuvent produire des signaux mixtes et un décalage, conduisant à des signaux de trading inappropriés.
L'exposition aux pertes sur les marchés volatils: les pertes d'arrêt peuvent être facilement déclenchées par d'énormes écarts de prix ou des renversements, entraînant de grandes pertes.
Un paramètre mal réglé augmente les pertes. Des arrêts trop larges ou des profits serrés peuvent augmenter la perte maximale par transaction.
Les risques de détention à long terme: cette tendance à suivre la stratégie ne tient pas compte de la rentabilité à long terme et peut consommer des capitaux importants au fil du temps.
Les coûts de négociation, les glissements, etc. peuvent affecter les rendements lorsqu'ils sont appliqués dans des plateformes de négociation réelles.
Les solutions:
Ajoutez la confirmation du signal avec d'autres indicateurs tels que KDJ, MACD, etc.
Ajustez la largeur d'arrêt en fonction des conditions du marché pour éviter une déclenchement prématuré.
Optimiser les paramètres et évaluer les rendements et les retraits à long terme. Obtenir les meilleures combinaisons de paramètres grâce à un backtesting rigoureux.
Testez soigneusement les stratégies dans le trading papier et ajoutez des arrêts manuels.
Des améliorations supplémentaires sont possibles:
Ajoutez des règles quantitatives d'entrée et de sortie. Par exemple, vérifiez les nouveaux sommets et les nouveaux sommets pour assurer une négociation selon des tendances plus claires.
Incorporer la taille des positions et la gestion des risques.
Utiliser des indicateurs tels que PRZ, ATR, DMI, etc. pour filtrer et sélectionner les tendances appropriées.
Alterner des périodes de détention longues et courtes, et fixer des arrêts sur les bénéfices afin de s'enrichir.
Construire un stock pool en utilisant des modèles d'investissement par facteurs.
Ajoutez l'apprentissage automatique pour le contrôle des risques. Utilisez LSTM, RNN, etc. pour aider au jugement et prévenir les erreurs humaines.
Cette stratégie de croisement de moyenne mobile simple offre une mise en œuvre facile pour suivre la tendance. Les arrêts dynamiques aident à contrôler les risques. Mais certaines inexactitudes de signal et des risques existent. D'autres optimisations des paramètres et des techniques supplémentaires peuvent conduire à des performances plus robustes.
/*backtest start: 2024-01-04 00:00:00 end: 2024-02-03 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("DolarBasar by AlperDursun", shorttitle="DOLARBASAR", overlay=true) // Input for Moving Averages ma21 = ta.sma(close, 21) ma50 = ta.sma(close, 50) ma100 = ta.sma(close, 100) ma200 = ta.sma(close, 200) // Calculate the lowest point of the previous candle for stop loss lowestLow = ta.lowest(low, 2) // Calculate the highest point of the previous candle for stop loss highestHigh = ta.highest(high, 2) // Calculate take profit levels takeProfitLong = lowestLow - 3 * (lowestLow - highestHigh) takeProfitShort = highestHigh + 3 * (lowestLow - highestHigh) // Entry Conditions longCondition = ta.crossover(close, ma21) or ta.crossover(close, ma50) or ta.crossover(close, ma100) or ta.crossover(close, ma200) shortCondition = ta.crossunder(close, ma21) or ta.crossunder(close, ma50) or ta.crossunder(close, ma100) or ta.crossunder(close, ma200) // Stop Loss Levels stopLossLong = lowestLow * 0.995 stopLossShort = highestHigh * 1.005 // Exit Conditions longExitCondition = low < stopLossLong or high > takeProfitLong shortExitCondition = high > stopLossShort or low < takeProfitShort if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) if (longExitCondition) strategy.exit("Long Exit", from_entry="Long", stop=stopLossLong, limit=takeProfitLong) if (shortExitCondition) strategy.exit("Short Exit", from_entry="Short", stop=stopLossShort, limit=takeProfitShort)