इस रणनीति का मूल विचार डोंचियन चैनलों के मूल्य ब्रेकआउट के आधार पर व्यापारिक निर्णय लेना है। यह मात्रात्मक रणनीतियों के प्रकार के बाद की प्रवृत्ति से संबंधित है। यह स्वचालित रूप से मूल्य चैनलों की पहचान कर सकता है। जब कीमतें चैनल की ऊपरी रेल से टूटती हैं, तो लंबी स्थिति खोली जाएगी। जब कीमतें चैनल की निचली रेल या स्टॉप लॉस बिंदु के पास वापस गिरती हैं, तो स्थिति बंद हो जाती है। इस रणनीति का उद्देश्य मध्यम से दीर्घकालिक मूल्य रुझानों को पकड़ना है और सूचकांक वायदा जैसे वित्तीय डेरिवेटिव के एल्गोरिदमिक ट्रेडिंग के लिए उपयुक्त है।
यह रणनीति डॉनचियन चैनल सूचक पर आधारित है। डॉनचियन चैनल एक निश्चित अवधि के दौरान उच्चतम और निम्नतम कीमतों द्वारा खींचे गए चैनल हैं। इसकी गणना विधि हैः
ऊपरी रेल = पिछले n अवधियों में उच्चतम मूल्य लोअर रेल = पिछले n अवधियों में सबसे कम कीमत
जब कीमतें ऊपरी रेल को तोड़ती हैं, तो यह माना जाता है कि एक लंबी प्रवृत्ति शुरू हो गई है। जब कीमतें निचली रेल को तोड़ती हैं, तो यह माना जाता है कि एक छोटी प्रवृत्ति शुरू हो गई है। यह रणनीति केवल उन मामलों पर विचार करती है जब ऊपरी रेल टूट जाती है।
व्यापार का विशिष्ट तर्क हैः
इस रणनीति के लाभों में निम्नलिखित शामिल हैंः
कुछ जोखिम भी हैं:
समाधान:
इस रणनीति को निम्नलिखित क्षेत्रों में और अधिक अनुकूलित किया जा सकता हैः
इस रणनीति का समग्र विचार स्पष्ट और समझने और लागू करने में आसान है। यह स्वचालित रूप से प्रवृत्ति की दिशा की पहचान करने के लिए परिपक्व डॉनचियन चैनलों का उपयोग करता है। विभिन्न जरूरतों को पूरा करने के लिए कॉन्फ़िगरेशन भी अत्यधिक लचीला है। उचित स्टॉप लॉस और पैरामीटर अनुकूलन के साथ, अच्छे परिणाम प्राप्त किए जा सकते हैं। निष्कर्ष में, इस रणनीति में एक कम सीखने की अवस्था है, फिर भी उचित दक्षता है। यह एक स्टार्टर मात्रात्मक ट्रेडिंग रणनीति के रूप में उपयुक्त है।
/*backtest start: 2022-12-07 00:00:00 end: 2023-12-07 00:00:00 period: 1d basePeriod: 1h 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/ // © Giovanni_Trombetta // Strategy to capture price channel breakouts //@version=4 strategy("ChannelsBreakout", max_bars_back=50, overlay=true) instrument = input(1, title = "Select 1: Stock/Forex, 2: Future") money = input(10000, title = "Money for each trade") backtest_start = input(2000, "Insert first year to backtest") period = input(50, title = "Period in bars of Donchian Channel") monetary_stoploss = input(1000, title = "Monetary Stop Loss") quantity = if instrument != 1 1 else int(money / close) upBarrier = highest(high,period) downBarrier = lowest(low,period) up = highest(high,period / 4) down = lowest(low,period / 4) plot(upBarrier, color=color.green, linewidth=2) plot(downBarrier, color=color.red, linewidth=2) plot(up, color=color.lime, linewidth=1) plot(down, color=color.orange, linewidth=2) longCondition = crossover(close, upBarrier[1]) and year >= backtest_start if (longCondition) strategy.entry("Long", strategy.long, quantity, when = strategy.position_size == 0) closeCondition = crossunder(close, down[1]) or down < down[1] if (closeCondition) strategy.close("Long", comment = "Trailing") stop_level = strategy.position_avg_price - monetary_stoploss / strategy.position_size strategy.exit("StopLoss", from_entry = "Long", stop = stop_level) plot(stop_level, color=color.yellow, linewidth=2) // l = label.new(bar_index, na, // text="PineScript Code", color= color.lime, textcolor = color.white, // style=label.style_labelup, yloc=yloc.belowbar, size=size.normal) // label.delete(l[1])