यह रणनीति समान उच्च/निम्न स्तरों को बनाने वाले मूल्य पैटर्न के आधार पर व्यापार करती है। लगातार साप्ताहिक डबल बॉटम या डबल टॉप संरचनाएं ट्रेडों को ट्रिगर करती हैं।
तर्क यह हैः
वर्तमान या पिछले बार उच्च/निम्न उच्च/निम्न 2 बार पहले के बराबर की पहचान
डबल तल पैटर्न कम ब्रेकआउट पर लंबे समय तक ट्रिगर करता है
उच्च ब्रेकआउट पर डबल टॉप पैटर्न शॉर्ट ट्रिगर करता है
स्टॉप लॉस ब्रेकआउट स्तर के पास रखा गया, एटीआर गुणक के आधार पर लाभ लें
इसका उद्देश्य समान उच्च/निम्न स्तरों को तोड़ने के बाद प्रवृत्ति की बहाली पर पूंजीकरण करना है।
समान उच्च/निम्न पहचानने में आसान, स्पष्ट ब्रेकआउट संकेत
एटीआर आधारित लाभ लेने के लिए गतिशील ट्रेल ट्रेंड
सरल नियम, परिभाषित जोखिम
समान उच्च/निम्न पैटर्न कम आम
बहुत करीब रुकता है तो रोक दिया जाता है।
एटीआर पैरामीटर सेटिंग को ध्यान देने की आवश्यकता है
यह रणनीति समान उच्च/निम्न ब्रेकआउट से ट्रेंड ट्रेडों को पकड़ती है। लेकिन स्टॉप/प्रॉफिट ट्यूनिंग और कम आवृत्ति पर विचार करना आवश्यक है।
/*backtest start: 2023-09-06 00:00:00 end: 2023-09-13 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © cherepanovvsb //@version=5 strategy("SHL", overlay=true, margin_long=100, margin_short=100,initial_capital=100,default_qty_type = strategy.cash,default_qty_value =40,commission_type = strategy.commission.percent,commission_value =0.04,currency="EUR", process_orders_on_close=true) atr = input.int(title="ATR length for abnormal candles", defval=5) plotshape(low == low[1], style=shape.triangleup, location=location.belowbar, color=color.blue, title="1 Setup") plotshape(high==high[1], style=shape.triangledown, location=location.abovebar, color=color.blue, title="1 Setup") plotshape(low == low[1] and low[1]==low[2], style=shape.triangleup, location=location.belowbar, color=color.red, title="Triple Setup") plotshape(low==high[1] or low==high[2] or low==high[3] or low==high[4] or low==high[5] or low==high[6], style=shape.triangleup, location=location.belowbar, color=color.green, title="Mirror Setup") plotshape(high==low[1] or high==low[2] or high==low[3] or high==low[4] or high==low[5] or high==low[6], style=shape.triangledown, location=location.abovebar, color=color.green, title="Mirror Setup") barcolor(high-low>2*ta.atr(atr)? color.yellow:na) ATRlenght = input.int(title="ATR length for take profit", defval=14, group="Strategy Settings") rewardMultiplier= input.int(title="ATR multiplier", defval=5, group="Strategy Settings") // Get ATR atr1 = ta.atr(ATRlenght) validlow = low[1] == low[2] and not na(atr1) validhigh = high[1]==high[2] and not na(atr1) validlong = validlow and strategy.position_size == 0 and low[1]<low validshort = validhigh and strategy.position_size == 0 and high[1]>high // Calculate Entrance, SL/TP longStopPrice = low[1]-syminfo.mintick longStopDistance = close - longStopPrice longTargetPrice = close + (longStopDistance * rewardMultiplier) shortStopPrice = high[1]+syminfo.mintick shortStopDistance = shortStopPrice - close shortTargetPrice = close - (shortStopDistance * rewardMultiplier) var tradeStopPrice = 0.0 var tradeTargetPrice = 0.0 if validlong tradeStopPrice := longStopPrice tradeTargetPrice := longTargetPrice if validshort tradeStopPrice := shortStopPrice tradeTargetPrice := shortTargetPrice strategy.entry ("Long", strategy.long,1, when=validlong) strategy.entry ("Short", strategy.short,1, when=validshort) strategy.exit(id="Long Exit", from_entry="Long", limit=tradeTargetPrice, stop=tradeStopPrice, when=strategy.position_size > 0) strategy.exit(id="Short Exit", from_entry="Short", limit=tradeTargetPrice, stop=tradeStopPrice, when=strategy.position_size < 0) plot(strategy.position_size != 0 or validlong or validshort ? tradeStopPrice : na, title="Trade Stop Price", color=color.red, style=plot.style_linebr, transp=0) plot(strategy.position_size != 0 or validlong or validshort ? tradeTargetPrice : na, title="Trade Target Price", color=color.green, style=plot.style_linebr, transp=0)