
इस रणनीति का मुख्य विचार एक प्रवृत्ति-अनुसरण प्रकार की एक मात्रात्मक रणनीति है, जिसमें डोंगचीआन चैनल के मूल्य ब्रेक के आधार पर खरीद-बिक्री की जाती है। यह स्वचालित रूप से मूल्य चैनल की पहचान कर सकता है, जब कीमत चैनल के ऊपर से गुजरती है, तो वह अधिक हो जाती है, और जब कीमत चैनल के नीचे या स्टॉपलॉस के पास वापस आ जाती है, तो वह कम हो जाती है। इस रणनीति का उद्देश्य मध्य-लंबी मूल्य प्रवृत्ति को पकड़ना है, जो स्टॉक इंडेक्स और वित्तीय डेरिवेटिव जैसे एल्गोरिथ्म ट्रेडिंग के लिए उपयुक्त है।
यह रणनीति डोंगचीआन चैनल सूचकांक पर आधारित है, जो डोंगचीआन चैनल के माध्यम से एक दी गई अवधि में उच्चतम और निम्नतम कीमतों के लिए खींचा गया चैनल क्षेत्र है। इसकी गणना निम्नानुसार की जाती हैः
ऊपर की ओर = 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])