Cette stratégie combine la stratégie 123 Reversal et la stratégie de moyenne mobile CMO pour générer des signaux de trading combinés. La stratégie 123 Reversal génère des signaux de trading en formant de nouveaux hauts ou bas à partir des prix de clôture sur deux jours consécutifs combinés avec des jugements sur la dynamique du marché à partir de l'oscillateur stochastique.
La stratégie 123 Reversal génère des signaux de trading basés sur la logique suivante:
Lorsque le prix de clôture augmente pendant deux jours consécutifs et que l'oscillateur stochastique de 9 jours est inférieur à 50, passez long.
Lorsque le prix de clôture baisse pendant deux jours consécutifs et que l'oscillateur stochastique à 9 jours est supérieur à 50, passez à la vente.
En jugeant si les prix ont formé de nouveaux sommets ou des sommets à court terme combinés à l'indication de l'oscillateur stochastique sur la dynamique, des signaux de négociation sont générés.
La stratégie des moyennes mobiles de l'OCM génère des signaux de négociation basés sur la logique suivante:
Calculer les valeurs de l'OMC sur 5, 10 et 20 jours.
Prenez la moyenne.
Quand le CMO moyen dépasse les 70, allez long.
Quand le CMO moyen tombe en dessous de -70, passez à court.
En effectuant des opérations globales sur les valeurs de l'OCM de différentes périodes, la stratégie détermine la direction de la dynamique des prix et génère des signaux de négociation.
La stratégie combinée effectue une opération AND sur les signaux des deux stratégies, ce qui signifie que les signaux de trading réels ne sont déclenchés que lorsque les deux stratégies donnent des signaux d'achat ou de vente simultanément.
Les avantages de cette stratégie sont les suivants:
Les signaux combinés sont plus fiables avec moins de faux signaux.
La stratégie de renversement capte les tendances après des corrections à court terme.
La stratégie des moyennes mobiles de l'OCM évalue l'élan sur des délais plus longs.
Peut s'adapter à différents environnements de marché.
Les risques de cette stratégie comprennent:
La stratégie 123 Reversal repose fortement sur les tendances des prix et peut parfois échouer.
L'indicateur de l'OCM est sensible aux fluctuations du marché, qui peuvent générer des signaux erronés.
Les signaux de la stratégie combinée peuvent être trop conservateurs et manquer des opportunités de trading.
Il est nécessaire d'ajuster les paramètres de manière appropriée pour s'adapter aux différents cycles et environnements du marché.
Les contre-mesures sont les suivantes:
Optimiser les règles de reconnaissance des modèles de la stratégie d'inversion.
Ajouter d'autres indicateurs auxiliaires à la stratégie de moyenne mobile de l'OCM.
Évaluer dynamiquement les performances récentes et ajuster les paramètres en conséquence.
Cette stratégie peut être améliorée par les aspects suivants:
Utilisez des algorithmes d'apprentissage automatique pour optimiser automatiquement les poids des combinaisons.
Ajouter des modules de réglage adaptatif pour optimiser dynamiquement les paramètres.
Ajouter des modules de stop loss pour contrôler efficacement les risques.
Évaluer la robustesse de la stratégie et améliorer les algorithmes de reconnaissance de modèles.
Incorporer la sélection de l'industrie, les éléments fondamentaux et d'autres facteurs.
Cette stratégie forme un système de trading combiné efficace à partir de deux stratégies hautement complémentaires - l'inversion 123 et la moyenne mobile CMO. Avec un bon contrôle des risques, elle peut générer des rendements alpha stables.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 19/09/2019 // This is combo strategies for get a cumulative signal. // // First strategy // This System was created from the Book "How I Tripled My Money In The // Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies. // The strategy buys at market, if close price is higher than the previous close // during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. // The strategy sells at market, if close price is lower than the previous close price // during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50. // // Second strategy // This indicator plots average of three different length CMO's. This indicator // was developed by Tushar Chande. A scientist, an inventor, and a respected // trading system developer, Mr. Chande developed the CMO to capture what he // calls "pure momentum". For more definitive information on the CMO and other // indicators we recommend the book The New Technical Trader by Tushar Chande // and Stanley Kroll. // The CMO is closely related to, yet unique from, other momentum oriented // indicators such as Relative Strength Index, Stochastic, Rate-of-Change, etc. // It is most closely related to Welles Wilder?s RSI, yet it differs in several ways: // - It uses data for both up days and down days in the numerator, thereby directly // measuring momentum; // - The calculations are applied on unsmoothed data. Therefore, short-term extreme // movements in price are not hidden. Once calculated, smoothing can be applied to // the CMO, if desired; // - The scale is bounded between +100 and -100, thereby allowing you to clearly see // changes in net momentum using the 0 level. The bounded scale also allows you to // conveniently compare values across different securities. // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// Reversal123(Length, KSmoothing, DLength, Level) => vFast = sma(stoch(close, high, low, Length), KSmoothing) vSlow = sma(vFast, DLength) pos = 0.0 pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1, iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) pos CMOav(Length1,Length2,Length3, TopBand, LowBand) => pos = 0 xMom = close - close[1] xMomabs = abs(close - close[1]) nSum1 = sum(xMom, Length1) nSumAbs1 = sum(xMomabs, Length1) nSum2 = sum(xMom, Length2) nSumAbs2 = sum(xMomabs, Length2) nSum3 = sum(xMom, Length3) nSumAbs3 = sum(xMomabs, Length3) nRes = 100 * (nSum1 / nSumAbs1 + nSum2 / nSumAbs2 + nSum3 / nSumAbs3 ) / 3 pos := iff(nRes > TopBand, 1, iff(nRes < LowBand, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & CMOav", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- Length1 = input(5, minval=1) Length2 = input(10, minval=1) Length3 = input(20, minval=1) TopBand = input(70, minval=1) LowBand = input(-70, maxval=-1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posCMOav = CMOav(Length1,Length2,Length3, TopBand, LowBand) pos = iff(posReversal123 == 1 and posCMOav == 1 , 1, iff(posReversal123 == -1 and posCMOav == -1, -1, 0)) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1 , 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) if (possig == 0) strategy.close_all() barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )