यह रणनीति एक अनुकूलन ट्रेडिंग प्रणाली है जो ज़िगज़ैग संकेतक को एरोन संकेतक के साथ जोड़ती है। ज़िगज़ैग संकेतक बाजार शोर को फ़िल्टर करता है और महत्वपूर्ण मूल्य आंदोलनों की पहचान करता है, जबकि एरोन संकेतक प्रवृत्ति की ताकत और संभावित उलट बिंदुओं की पुष्टि करता है। इन दोनों संकेतकों के सामंजस्यपूर्ण संयोजन के माध्यम से, रणनीति प्रवृत्तियों के प्रति संवेदनशीलता बनाए रखती है जबकि समय पर बाजार के मोड़ बिंदुओं को भी कैप्चर करती है।
रणनीति का मूल तर्क निम्नलिखित प्रमुख तत्वों पर आधारित है:
यह रणनीति ZigZag और Aroon संकेतकों के संयोजन के माध्यम से एक व्यापक प्रवृत्ति-अनुसरण प्रणाली का निर्माण करती है। इसकी ताकत इसकी अनुकूलन क्षमता और दोहरी पुष्टि तंत्र में निहित है, जबकि पैरामीटर चयन और बाजार वातावरण के प्रभावों पर ध्यान दिया जाना चाहिए। निरंतर अनुकूलन और सुधार के माध्यम से, रणनीति वास्तविक व्यापार में स्थिर प्रदर्शन के लिए वादा करती है।
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-10 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Zig Zag + Aroon Strategy", overlay=true) // Zig Zag parameters zigzagDepth = input(5, title="Zig Zag Depth") // Aroon parameters aroonLength = input(14, title="Aroon Length") // Zig Zag logic var float lastZigZag = na var float lastZigZagHigh = na var float lastZigZagLow = na var int direction = 0 // 1 for up, -1 for down // Calculate Zig Zag if (not na(high) and high >= ta.highest(high, zigzagDepth) and direction != 1) lastZigZag := high lastZigZagHigh := high direction := 1 if (not na(low) and low <= ta.lowest(low, zigzagDepth) and direction != -1) lastZigZag := low lastZigZagLow := low direction := -1 // Aroon calculation highestHigh = ta.highest(high, aroonLength) lowestLow = ta.lowest(low, aroonLength) aroonUp = (aroonLength - (bar_index - ta.highestbars(high, aroonLength))) / aroonLength * 100 aroonDown = (aroonLength - (bar_index - ta.lowestbars(low, aroonLength))) / aroonLength * 100 // Long entry condition longCondition = (ta.crossover(aroonUp, aroonDown)) and (lastZigZag == lastZigZagHigh) if (longCondition) strategy.entry("Long", strategy.long) // Short entry condition shortCondition = (ta.crossover(aroonDown, aroonUp)) and (lastZigZag == lastZigZagLow) if (shortCondition) strategy.entry("Short", strategy.short) // Exit conditions if (ta.crossover(aroonDown, aroonUp) and strategy.position_size > 0) strategy.close("Long") if (ta.crossover(aroonUp, aroonDown) and strategy.position_size < 0) strategy.close("Short") // Plot Zig Zag plot(lastZigZag, color=color.blue, title="Zig Zag", linewidth=2, style=plot.style_stepline) // Plot Aroon hline(70, "Aroon Up Overbought", color=color.red) hline(30, "Aroon Down Oversold", color=color.green) plot(aroonUp, color=color.green, title="Aroon Up") plot(aroonDown, color=color.red, title="Aroon Down")