Il s'agit d'une stratégie de trading automatisée basée sur la reconnaissance de modèles de graphiques. La stratégie prend principalement des décisions de trading en identifiant des formations à double fond et à double sommet sur le marché, en surveillant les mouvements de prix sur des périodes de temps spécifiques et en exécutant automatiquement des ordres de trading lorsque des modèles de qualification émergent. La stratégie utilise l'indicateur de zigzag pour visualiser ces modèles de prix clés, aidant les traders à comprendre les tendances du marché de manière intuitive.
La logique de base de la stratégie est d'identifier les modèles de double bas et double haut par l'analyse technique.
Il s'agit d'une stratégie de trading automatisée bien conçue et pratique. Grâce à l'identification précise des modèles de double bas et de haut, combinée à des paramètres flexibles et à un contrôle complet des risques, elle capte efficacement les opportunités d'inversion de marché à court terme. Bien que certains risques existent, grâce à une optimisation et à une amélioration continues, cette stratégie a le potentiel de devenir un outil de trading fiable.
/*backtest start: 2024-12-04 00:00:00 end: 2024-12-11 00:00:00 period: 3m basePeriod: 3m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Double Bottom and Top Hunter", overlay=true) // Parametreler length = input.int(100, title="Dönem Uzunluğu", defval=100) lookback = input.int(100, title="Geriye Dönük Kontrol Süresi", defval=100) // İkili Dip ve Tepe Bulma low1 = ta.lowest(low, length) high1 = ta.highest(high, length) low2 = ta.valuewhen(low == low1, low, 1) high2 = ta.valuewhen(high == high1, high, 1) doubleBottom = (low == low1 and ta.lowest(low, lookback) == low1 and low == low2) doubleTop = (high == high1 and ta.highest(high, lookback) == high1 and high == high2) // İşlem Açma Koşulları longCondition = doubleBottom shortCondition = doubleTop // İşlem Kapatma Koşulları closeLongCondition = ta.highest(high, length) > high1 and low < low1 closeShortCondition = ta.lowest(low, length) < low1 and high > high1 // İşlem Açma if (longCondition) strategy.entry("Long", strategy.long, qty=1) if (shortCondition) strategy.entry("Short", strategy.short, qty=1) // İşlem Kapatma if (closeLongCondition) strategy.close("Long") if (closeShortCondition) strategy.close("Short") // Grafik Üzerinde Göstergeler ve ZigZag Çizimi plotshape(series=longCondition, title="İkili Dip Bulundu", location=location.belowbar, color=color.green, style=shape.labelup, text="LONG") plotshape(series=shortCondition, title="İkili Tepe Bulundu", location=location.abovebar, color=color.red, style=shape.labeldown, text="SHORT") // var line zigzagLine = na // if (doubleBottom or doubleTop) // zigzagLine := line.new(x1=bar_index[1], y1=na, x2=bar_index, y2=doubleBottom ? low : high, color=doubleBottom ? color.green : color.red, width=2) // Zigzag çizgisini sürekli güncelleme // line.set_xy1(zigzagLine, bar_index[1], na) // line.set_xy2(zigzagLine, bar_index, doubleBottom ? low : high)