Cette stratégie utilise 4 délais différents pour déterminer la direction de la tendance, pour découvrir la tendance à long terme tout en utilisant le court terme comme opportunités d'entrée. Lorsque les prix d'ouverture des 4 délais (quotidien, hebdomadaire, 15 jours, mensuel) sont tous inférieurs aux prix de clôture, il est déterminé comme une tendance haussière à long terme; lorsque les prix d'ouverture des 4 délais sont tous supérieurs aux prix de clôture, il est déterminé comme une tendance baissière à long terme. La stratégie ouvrira des positions lors de la confirmation de la tendance à long terme et un signal à court terme est généré.
Cette stratégie utilise 4 délais: quotidien, hebdomadaire, quinquadécennal et mensuel. Elle détermine l'orientation de la tendance à long terme en fonction de la relation entre les prix d'ouverture et de clôture de ces 4 délais.
Lorsque les cours d'ouverture des délais journaliers, hebdomadaires, de 15 jours et mensuels sont tous inférieurs aux prix de clôture, cela indique que les prix montrent une tendance à la hausse sur ces 4 délais, il est donc déterminé comme un marché haussier et haussier à long terme.
Au contraire, lorsque les prix d'ouverture de ces quatre périodes sont tous supérieurs aux prix de clôture, cela indique que les prix montrent une tendance à la baisse sur ces quatre périodes, de sorte qu'il est déterminé comme un marché baissier et un marché baissier à long terme.
Après avoir déterminé la direction de la tendance à long terme, la stratégie ouvrira des positions lorsqu'un signal d'achat/vente est généré à court terme.
Cette stratégie présente les avantages suivants:
Le jugement sur plusieurs périodes améliore la précision
L'utilisation de 4 délais différents pour évaluer de manière exhaustive la tendance à long terme peut améliorer la précision du jugement et éviter d'être induit en erreur par le bruit de marché à court terme.
Combinaison d'une stratégie flexible à long terme et à court terme
En utilisant des cadres à long terme pour déterminer la direction principale et à court terme pour générer des signaux de trading, cette stratégie est flexible, qui peut saisir les opportunités à court terme sans dévier de la tendance principale.
Paramètres simples, faciles à mettre en œuvre
Les principaux indicateurs de jugement de cette stratégie sont simplement les prix d'ouverture et de clôture des 4 délais.
Cette stratégie comporte également certains risques:
Renversement de tendance à long terme
Si la tendance haussière à long terme s'inverse en baisse à long terme, cette stratégie ne peut pas juger rapidement, ce qui peut entraîner des pertes plus importantes.
Faibles performances à court terme
Cette stratégie repose principalement sur des signaux à court terme pour déterminer des opportunités d'entrée spécifiques. Si la performance à court terme est médiocre et incapable d'ouvrir des positions au bon moment, elle affectera la performance globale. Les paramètres à court terme peuvent être ajustés ou la stratégie à court terme peut être optimisée dans ce cas.
Il existe d'autres possibilités d'optimisation pour cette stratégie:
Ajouter une stratégie de stop loss
Le déplacement ou l'ordre stop loss peut être réglé pour contrôler la perte maximale.
Optimiser la stratégie à court terme
Différents indicateurs à court terme peuvent être testés afin de trouver des stratégies à court terme plus appropriées et d'améliorer les performances d'entrée.
Réglage dynamique des positions
Les positions peuvent être ajustées dynamiquement en fonction de la volatilité du marché, augmenter les positions lorsque la tendance devient plus évidente.
Combiner le machine learning
Une grande quantité de données peut être collectée et des méthodes d'apprentissage automatique peuvent être utilisées pour optimiser dynamiquement les paramètres et les règles.
Cette stratégie détermine la direction de la tendance sur plusieurs délais, adopte l'idée de combiner à long terme et à court terme, ce qui assure le jugement des principales tendances et utilise les opportunités à court terme.
/*backtest start: 2023-11-27 00:00:00 end: 2023-12-27 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("[RichG] Easy MTF Strategy", overlay=false) TF_1_time = input("D", "Timeframe 1") TF_2_time = input("5D", "Timeframe 2") TF_3_time = input("15D", "Timeframe 3") TF_4_time = input("45D", "Timeframe 4") transaction_size = input(1, "Contract/Share Amount") src = close, len = 20 out = sma(src, len) width = 5 upcolor = green downcolor = red neutralcolor = blue linestyle = line TF_1 = request.security(syminfo.tickerid, TF_1_time, open) < request.security(syminfo.tickerid, TF_1_time, close) ? true:false TF_1_color = TF_1 ? upcolor:downcolor TF_2 = request.security(syminfo.tickerid, TF_2_time, open) < request.security(syminfo.tickerid, TF_2_time, close) ? true:false TF_2_color = TF_2 ? upcolor:downcolor TF_3 = request.security(syminfo.tickerid, TF_3_time, open) < request.security(syminfo.tickerid, TF_3_time, close) ? true:false TF_3_color = TF_3 ? upcolor:downcolor TF_4 = request.security(syminfo.tickerid, TF_4_time, open) < request.security(syminfo.tickerid, TF_4_time, close) ? true:false TF_4_color = TF_4 ? upcolor:downcolor TF_global = TF_1 and TF_2 and TF_3 and TF_4 TF_global_bear = TF_1 == false and TF_2 == false and TF_3 == false and TF_4 == false TF_global_color = TF_global ? green : TF_global_bear ? red : white TF_trigger_width = TF_global ? 6 : width plot(1, style=linestyle, linewidth=width, color=TF_1_color) plot(5, style=linestyle, linewidth=width, color=TF_2_color) plot(10, style=linestyle, linewidth=width, color=TF_3_color) plot(15, style=linestyle, linewidth=width, color=TF_4_color) plot(25, style=linestyle, linewidth=4, color=TF_global_color) exitCondition_Long = TF_global_bear exitCondition_Short = TF_global longCondition = TF_global if (longCondition) strategy.entry("MTF_Long", strategy.long, qty=transaction_size, when=strategy.position_size == 0) shortCondition = TF_global_bear if (shortCondition) strategy.entry("MTF_Short", strategy.short, qty=transaction_size, when=strategy.position_size == 0) strategy.close("MTF_Long", when=exitCondition_Long) strategy.close("MTF_Short", when=exitCondition_Short)