Cet article présente en détail une stratégie de trading algorithmique à court terme combinant plusieurs indicateurs.
I. Logique stratégique
Le noyau de cette stratégie est l'utilisation d'une combinaison d'indicateurs multiples, notamment:
(1) Système de moyenne mobile double: Calcule une moyenne mobile Hull rapide et une moyenne mobile Hull lente et juge la tendance en fonction de leur croisement.
(2) Système Ichimoku: Calcule la conversion et les lignes de base entre autres, et détermine la tendance et les niveaux de support/résistance basés sur le nuage Ichimoku.
(3) Canal de Donchian: Construit un canal en utilisant les prix les plus élevés et les plus bas pour identifier les écarts de prix.
(4) MACD: Calcule le MACD et la ligne de signal, effectuant des transactions en fonction de leur croisement.
Ce n'est que lorsque ces indicateurs parviendront à un consensus sur le jugement de tendance que des signaux commerciaux fiables seront générés.
Prenez des positions longues lorsque le Hull MA rapide traverse au-dessus du Hull MA lent, ET les lignes Ichimoku traversent au-dessus du nuage, ET le canal Donchian éclate, ET le MACD traverse au-dessus de la ligne de signal.
Les prix de clôture des barres quotidiennes sont également intégrés pour éviter d'être pris au piège dans les renversements.
En outre, la stratégie contient une logique de stop loss et de prise de profit pour contrôler le risque et la récompense pour chaque transaction.
II. Avantages de la stratégie
Le plus grand avantage de cette stratégie est la complémentarité des combinaisons d'indicateurs, ce qui améliore la qualité du signal.
Deuxièmement, la combinaison de plusieurs délais est également un avantage important: le jugement auxiliaire des barres quotidiennes peut filtrer le risque d'être piégé dans des cycles à court terme.
Enfin, le mécanisme de stop loss et de take profit assure également des risques contrôlables par transaction.
III. Risques potentiels
En dépit de la bonne conception de la stratégie, il convient également de noter les risques commerciaux:
Tout d'abord, la combinaison de plusieurs indicateurs augmente la difficulté d'optimisation.
Deuxièmement, les stop-loss peuvent être touchés par des mouvements de tendance forts, ce qui entraîne des pertes inutiles.
Enfin, les jugements sur plusieurs délais peuvent également introduire des situations déroutantes difficiles à déchiffrer.
Dans l'ensemble, la stratégie combine des indicateurs de manière scientifique et peut devenir un système de trading algorithmique à court terme efficace grâce à des tests et à l'optimisation des paramètres.
IV. Résumé
En résumé, cet article a présenté en détail une stratégie de trading algorithmique à court terme combinant plusieurs indicateurs. Il utilise une combinaison de moyennes mobiles doubles, Ichimoku, Donchian Channel, MACD et plus encore pour améliorer la qualité du signal. Il utilise également une analyse multi-temporelle et une logique stop loss / take profit pour contrôler les risques. Avec l'optimisation, cette stratégie peut devenir un système efficace pour le trading systématique à court terme.
/*backtest start: 2023-08-14 00:00:00 end: 2023-09-13 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 // Any timeFrame ok but good on 15 minute & 60 minute , Ichimoku + Daily-Candle_cross(DT) + HULL-MA_cross + MacD combination 420 special blend strategy("Custom 15m strat",overlay=true) keh=input(title="Double HullMA",defval=14, minval=1) dt = input(defval=0.0010, title="Decision Threshold (0.001)", step=0.0001)` SL = input(defval=-500.00, title="Stop Loss in $", step=1) TP = input(defval=25000.00, title="Target Point in $", step=1) ot=1 n2ma=2*wma(close,round(keh/2)) nma=wma(close,keh) diff=n2ma-nma sqn=round(sqrt(keh)) n2ma1=2*wma(close[1],round(keh/2)) nma1=wma(close[1],keh) diff1=n2ma1-nma1 sqn1=round(sqrt(keh)) n1=wma(diff,sqn) n2=wma(diff1,sqn) b=n1>n2?lime:red c=n1>n2?green:red d=n1>n2?red:green confidence=(security(syminfo.tickerid, 'D', close)-security(syminfo.tickerid, 'D', close[1]))/security(syminfo.tickerid, 'D', close[1]) conversionPeriods = input(9, minval=1, title="Conversion Line Periods") basePeriods = input(26, minval=1, title="Base Line Periods") laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods") displacement = input(26, minval=1, title="Displacement") donchian(len) => avg(lowest(len), highest(len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = avg(conversionLine, baseLine) leadLine2 = donchian(laggingSpan2Periods) LS=close, offset = -displacement MACD_Length = input(9) MACD_fastLength = input(12) MACD_slowLength = input(26) MACD = ema(close, MACD_fastLength) - ema(close, MACD_slowLength) //macd aMACD = ema(MACD, MACD_Length) //signal closelong = n1<n2 and close<n2 and confidence<dt or strategy.openprofit<SL or strategy.openprofit>TP if (closelong) strategy.close("Long") closeshort = n1>n2 and close>n2 and confidence>dt or strategy.openprofit<SL or strategy.openprofit>TP if (closeshort) strategy.close("Short") longCondition = n1>n2 and strategy.opentrades<ot and confidence>dt and close>n2 and leadLine1>leadLine2 and open<LS and MACD>aMACD if (longCondition) strategy.entry("Long",strategy.long) shortCondition = n1<n2 and strategy.opentrades<ot and confidence<dt and close<n2 and leadLine1<leadLine2 and open>LS and MACD<aMACD if (shortCondition) strategy.entry("Short",strategy.short) a1=plot(n1,color=c) a2=plot(n2,color=c) plot(cross(n1, n2) ? n1 : na, style = circles, color=b, linewidth = 4) plot(cross(n1, n2) ? n1 : na, style = line, color=d, linewidth = 4) plot(conversionLine, color=#0496ff, title="Conversion Line") plot(baseLine, color=#991515, title="Base Line") //plot(longCondition == true ? 4000:4100,title="long") plot(close, offset = -displacement, color=#459915, title="Lagging Span") p1=plot (leadLine1, offset = displacement, color=green, title="Lead 1") p2=plot (leadLine2, offset = displacement, color=red, title="Lead 2") fill(p1, p2, color = leadLine1 > leadLine2 ? green : red) // remove the "//" from before the plot script if want to see the indicators on chart