जी-चैनल ट्रेंड डिटेक्शन रणनीति जी-चैनल संकेतक पर आधारित एक मात्रात्मक ट्रेडिंग रणनीति है। रणनीति जी-चैनल के ऊपरी और निचले छोरों की गणना करती है और कीमत के क्रॉसओवर और जी-चैनल चलती औसत के आधार पर वर्तमान बाजार प्रवृत्ति का निर्धारण करती है, तदनुसार खरीद और बिक्री संकेत उत्पन्न करती है। इसके अलावा, रणनीति सेट जोखिम को नियंत्रित करने के लिए लाभ और स्टॉप लॉस शर्तों को लेती है।
जी-चैनल ट्रेंड डिटेक्शन रणनीति जी-चैनल संकेतक पर आधारित एक सरल मात्रात्मक ट्रेडिंग रणनीति है जो बाजार के रुझानों को कैप्चर करके और जोखिम को नियंत्रित करने के लिए लाभ लेने और स्टॉप लॉस स्थितियों को सेट करके खरीद और बिक्री संकेत उत्पन्न करती है। रणनीति तर्क स्पष्ट और लागू करना आसान है, जिससे यह मात्रात्मक ट्रेडिंग में शुरुआती लोगों के लिए सीखने के लिए उपयुक्त है। हालांकि, रणनीति उतार-चढ़ाव वाले बाजारों में अधिक झूठे संकेत उत्पन्न कर सकती है, और लाभ लेने और स्टॉप लॉस प्रतिशत को बाजार की विशेषताओं के अनुसार समायोजित करने की आवश्यकता है। इसके अलावा, यह कारोबार की गई संपत्ति की विशिष्टताओं पर विचार नहीं करता है। भविष्य में, रणनीति को अन्य तकनीकी संकेतकों को पेश करके, गतिशील रूप से लाभ लेने और स्टॉप लॉस प्रतिशत को समायोजित करके, और रणनीति की स्थिरता और लाभप्रदता में सुधार के लिए कारोबार की गई संपत्ति की विशेषताओं के आधार पर जोखिम नियंत्रण मॉड्यूल जोड़कर अनुकूलित किया जा सकता है।
//@version=5 // Full credit to AlexGrover: https://www.tradingview.com/script/fIvlS64B-G-Channels-Efficient-Calculation-Of-Upper-Lower-Extremities/ strategy("G-Channel Trend Detection Strategy", shorttitle="G-Trend", overlay=true) // Input parameters length = input.int(100, title="Length") src = input(close, title="Source") take_profit_percent = input.float(5.0, title="Take Profit (%)") stop_loss_percent = input.float(2.0, title="Stop Loss (%)") showcross = input.bool(true, title="Show Cross") // Initialize variables var float a = na var float b = na // Calculate a and b a := math.max(src, nz(a[1])) - (nz(a[1]) - nz(b[1])) / length b := math.min(src, nz(b[1])) + (nz(a[1]) - nz(b[1])) / length // Calculate average avg = (a + b) / 2 // Determine trend and color crossup = ta.crossunder(b, close) crossdn = ta.crossunder(a, close) bullish = ta.barssince(crossdn) <= ta.barssince(crossup) c = bullish ? color.lime : color.red // Plotting p1 = plot(avg, "Average", color=c, linewidth=1) p2 = plot(close, "Close price", color=c, linewidth=1) fill(p1, p2, c) // Generate buy and sell signals buy_signal = showcross and bullish and not bullish[1] sell_signal = showcross and not bullish and bullish[1] // Plot buy and sell signals on chart plotshape(buy_signal ? avg : na, location=location.belowbar, style=shape.labeldown, color=color.new(color.lime, 0), size=size.tiny, text="Buy", textcolor=color.white, offset=-1) plotshape(sell_signal ? avg : na, location=location.abovebar, style=shape.labelup, color=color.new(color.red, 0), size=size.tiny, text="Sell", textcolor=color.white, offset=-1) // Alerts alertcondition(buy_signal, title="Buy Signal", message="Buy Signal Detected") alertcondition(sell_signal, title="Sell Signal", message="Sell Signal Detected") // Calculate take profit and stop loss levels take_profit_level = close * (1 + take_profit_percent / 100) stop_loss_level = close * (1 - stop_loss_percent / 100) // Strategy Entry and Exit if (buy_signal) strategy.entry("Buy", strategy.long) if (sell_signal) strategy.entry("Sell", strategy.short) // Define the take profit and stop loss conditions for long positions strategy.exit("Take Profit/Stop Loss", "Buy", limit=take_profit_level, stop=stop_loss_level) // Define the take profit and stop loss conditions for short positions strategy.exit("Take Profit/Stop Loss", "Sell", limit=close * (1 - take_profit_percent / 100), stop=close * (1 + stop_loss_percent / 100))