Cette stratégie est un système de trading long-short basé sur l'indicateur MACD, spécialement conçu pour les graphiques de 15 minutes. Elle génère des signaux de trading à l'aide de lignes MACD et de croisements de lignes de signal, limitant le trading à des heures d'ouverture spécifiques du marché.
Calcul de l'indicateur MACD: utilise les paramètres MACD standard avec une ligne rapide de 12 périodes, une ligne lente de 26 périodes et une ligne de signal de 9 périodes.
Génération de signaux commerciaux
Restriction des heures de négociation: exécute les transactions uniquement pendant les heures d'ouverture du marché de Londres (08:00-17:00 GMT) et du marché de New York (13:30-20:00 GMT).
Gestion des risques:
Exécution de transaction: Entre dans des transactions avec des ordres de marché, en définissant simultanément des ordres de stop loss et de prise de profit.
Capture de l'élan du marché: l'indicateur MACD capture efficacement les changements de l'élan du marché, aidant à identifier les points de renversement potentiels de la tendance.
Contrôle des risques: la gestion des risques proportionnelle fixe garantit que le risque de chaque transaction correspond à la taille du compte, ce qui favorise la croissance du capital à long terme.
Filtrage du temps: la limitation des heures de négociation permet d'éviter les faux signaux pendant les périodes de faible liquidité, améliorant ainsi la qualité des transactions.
Adaptabilité: la stratégie ajuste automatiquement la taille de la transaction en fonction de la taille du compte, ce qui convient aux traders disposant de différents montants de capital.
Règles claires d'entrée et de sortie: une logique claire de génération de signaux et des paramètres fixes de stop loss et de prise de profit réduisent le besoin d'intervention manuelle.
Risque de marché latéral: sur les marchés à fourchette, le MACD peut générer des signaux croisés fréquents, entraînant un suréchange et des pertes consécutives.
Risque de glissement: l'utilisation d'ordres de marché pour l'entrée peut entraîner un glissement, en particulier sur les marchés en évolution rapide.
Risque d'arrêt de perte fixe: les arrêts de perte à point fixe peuvent ne pas être suffisamment souples pendant les périodes de forte volatilité, ce qui peut entraîner des arrêts prématurés.
Manque de grands mouvements: des paramètres stricts de prise de profit peuvent entraîner la perte de la majorité des profits provenant de mouvements de tendance importants.
Limitation de la fenêtre de temps: La négociation uniquement pendant des périodes de temps spécifiques peut manquer des opportunités potentielles dans d'autres sessions.
Confirmation à plusieurs délais: introduire une confirmation de tendance à partir de délais plus longs (par exemple, 1 heure ou 4 heures) pour améliorer la fiabilité des signaux de trading.
L'indicateur ATR (Average True Range) doit être utilisé pour définir des stop-loss dynamiques, adaptés aux changements de volatilité du marché.
Incorporer des indicateurs techniques supplémentaires: tels que RSI (indice de force relative) ou moyennes mobiles comme filtres pour les signaux MACD afin de réduire les faux signaux.
Optimiser les fenêtres de temps de négociation: grâce à l'analyse de backtesting, identifier les périodes de négociation optimales, éventuellement ajustées saisonnièrement en fonction des différentes conditions du marché.
Améliorer la stratégie de prise de bénéfices: mettre en œuvre des arrêts de retard ou des mécanismes de protection des bénéfices partiels pour capturer les tendances plus importantes tout en assurant des bénéfices partiels.
Ajustement de volatilité: ajustez dynamiquement la taille des transactions et les niveaux de stop loss en fonction de la volatilité du marché, réduisant ainsi l'exposition au risque pendant les périodes de forte volatilité.
Ajouter des filtres fondamentaux: Considérer l'impact des communiqués de données économiques importantes sur le marché, en faisant une pause des transactions avant et après les annonces de données clés.
La Multi-Timeframe Market Momentum Crossover Strategy est un système de négociation adaptatif basé sur l'indicateur MACD, améliorant la qualité des transactions grâce à une négociation limitée dans le temps et une gestion stricte des risques.
En introduisant une confirmation sur plusieurs délais, des stop-loss dynamiques et des indicateurs techniques supplémentaires, la stratégie a le potentiel d'améliorer encore ses performances et sa stabilité. En particulier, l'ajout d'ajustements de volatilité et d'améliorations des stratégies de prise de profit peuvent aider la stratégie à mieux s'adapter aux différentes conditions du marché. De plus, la prise en compte de facteurs fondamentaux peut accroître l'exhaustivité de la stratégie.
Dans l'ensemble, cette stratégie fournit aux traders un cadre solide qui peut être personnalisé et optimisé pour répondre aux préférences spécifiques en matière de risque et aux objectifs de négociation.
/*backtest start: 2024-06-28 00:00:00 end: 2024-07-28 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("交易霸傑15掏金策略", overlay=true) // 設置參數 fastLength = input.int(12, title="MACD 快線長度") slowLength = input.int(26, title="MACD 慢線長度") signalSmoothing = input.int(9, title="MACD 信號線平滑") riskPercentage = input.float(2, title="每筆交易的風險比例 (%)") stopLossPoints = 10 takeProfitPoints = 15 // 設置倫敦和紐約市場的開盤時間 londonOpen = timestamp("GMT+0", year, month, dayofmonth, 8, 0) londonClose = timestamp("GMT+0", year, month, dayofmonth, 17, 0) nyOpen = timestamp("GMT+0", year, month, dayofmonth, 13, 30) nyClose = timestamp("GMT+0", year, month, dayofmonth, 20, 0) // 計算MACD [macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing) macdHist = macdLine - signalLine // 畫出MACD線 hline(0, "0軸", color=color.gray) plot(macdLine, color=color.blue, title="MACD 快線") plot(signalLine, color=color.red, title="MACD 慢線") plot(macdHist, color=color.green, style=plot.style_histogram, title="MACD Histogram") // 動態計算每筆交易的風險和止損、止盈點數 capital = strategy.equity riskAmount = capital * (riskPercentage / 100) contracts = 1 stopLossValue = stopLossPoints * syminfo.mintick takeProfitValue = takeProfitPoints * syminfo.mintick // 確定是否在交易時段內 isLondonOpen = (time >= londonOpen and time <= londonClose) isNyOpen = (time >= nyOpen and time <= nyClose) // 偏空進場條件 shortCondition = ta.crossover(signalLine, macdLine) and macdLine > 0 and (isLondonOpen or isNyOpen) if (shortCondition) strategy.entry("Short", strategy.short, qty=contracts) strategy.exit("Take Profit/Stop Loss", "Short", limit=close - takeProfitValue, stop=close + stopLossValue) // 偏多進場條件 longCondition = ta.crossunder(signalLine, macdLine) and macdLine < 0 and (isLondonOpen or isNyOpen) if (longCondition) strategy.entry("Long", strategy.long, qty=contracts) strategy.exit("Take Profit/Stop Loss", "Long", limit=close + takeProfitValue, stop=close - stopLossValue)