Cette stratégie est un système de négociation quantitative qui combine le canal G et la moyenne mobile exponentielle (EMA). Le concept de base est de capturer les directions de tendance du marché via le canal G tout en utilisant l'EMA pour la confirmation des signaux et le contrôle des risques, dans le but de générer des bénéfices des fluctuations du marché.
La stratégie fonctionne sur la base de deux indicateurs de base: G-Channel et EMA. G-Channel identifie les tendances des prix en calculant dynamiquement les bandes supérieures et inférieures, générant des signaux de trading lorsque les prix franchissent le canal. Plus précisément, la stratégie utilise un calcul G-Channel de 100 périodes, en mettant continuellement à jour les limites du canal à travers des formules mathématiques.
Cette stratégie construit un système de trading quantitatif robuste en combinant les indicateurs techniques G-Channel et EMA. La logique de la stratégie est claire, la mise en œuvre est simple et offre une bonne évolutivité. Grâce à une optimisation des paramètres et à des mesures de contrôle des risques appropriées, la stratégie montre un potentiel pour générer des rendements stables dans le trading en direct.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-18 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © stanleygao01 //@version=5 strategy('G-Channel with EMA Strategy', overlay=true) // G-Channel parameters length = input(100, title='G-Channel Length') src = input(close, title='Source') a = 0.0 b = 0.0 a := math.max(src, nz(a[1])) - nz(a[1] - b[1]) / length b := math.min(src, nz(b[1])) + nz(a[1] - b[1]) / length avg = math.avg(a, b) crossup = b[1] < close[1] and b > close crossdn = a[1] < close[1] and a > close bullish = ta.barssince(crossdn) <= ta.barssince(crossup) // EMA parameters emaLength = input(50, title='EMA Length') ema = ta.ema(close, emaLength) // Buy and Sell Conditions buyCondition = bullish and close < ema sellCondition = not bullish and close > ema // Plot G-Channel c = bullish ? color.lime : color.red p1 = plot(avg, title='Average', color=c, linewidth=1, transp=90) p2 = plot(close, title='Close Price', color=c, linewidth=1, transp=100) fill(p1, p2, color=c, transp=90) // Plot EMA plot(ema, title='EMA', color=color.new(color.blue, 0), linewidth=2) // Strategy Entries and Exits if buyCondition strategy.entry('Buy', strategy.long) if sellCondition strategy.close('Buy') // Plot Buy/Sell Labels plotshape(buyCondition, title='Buy Signal', location=location.belowbar, color=color.new(color.lime, 0), style=shape.labelup, text='Buy') plotshape(sellCondition, title='Sell Signal', location=location.abovebar, color=color.new(color.red, 0), style=shape.labeldown, text='Sell')