یہ حکمت عملی مارکیٹ کی رجحان کی سمت کی نشاندہی کرنے کے لئے جی چینل اشارے کا استعمال کرتی ہے ، جبکہ داخلے اور باہر نکلنے کے نکات کو بہتر بنانے کے لئے ای ایم اے اور اے ٹی آر اشارے شامل کرتی ہے۔ بنیادی خیال یہ ہے کہ: جب قیمت جی چینل کے اوپری بینڈ سے اوپر ٹوٹ جاتی ہے اور ای ایم اے سے نیچے ہوتی ہے تو طویل عرصے تک جائیں۔ جب قیمت نچلی بینڈ سے نیچے ٹوٹ جاتی ہے اور ای ایم اے سے اوپر ہوتی ہے تو مختصر ہوجائیں۔ دریں اثنا ، اے ٹی آر کا استعمال متحرک اسٹاپ نقصان اور منافع لینے کی سطحوں کو طے کرنے کے لئے کیا جاتا ہے ، جس میں اسٹاپ نقصان 2 گنا اے ٹی آر اور منافع لینے کے 4 گنا اے ٹی آر ہوتا ہے۔ یہ نقطہ نظر خطرات کو سختی سے کنٹرول کرتے ہوئے رجحان سازی کی منڈیوں میں زیادہ منافع حاصل کرسکتا ہے۔
اس حکمت عملی میں جی چینل ، ای ایم اے ، اور اے ٹی آر جیسے اشارے کا استعمال کرتے ہوئے ایک آسان اور موثر رجحان کے بعد ٹریڈنگ سسٹم بنایا گیا ہے۔ یہ رجحان سازی کی منڈیوں میں اچھے نتائج حاصل کرسکتا ہے ، لیکن رینج مارکیٹوں میں اوسط کارکردگی کا مظاہرہ کرتا ہے۔ آگے بڑھتے ہوئے ، حکمت عملی کو رجحان فلٹرنگ ، پیرامیٹر کی اصلاح ، پوزیشن مینجمنٹ ، حکمت عملی کے امتزاج وغیرہ کے لحاظ سے بہتر بنایا جاسکتا ہے ، تاکہ حکمت عملی کی استحکام اور منافع کو مزید بڑھا سکے۔
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // Full credit to AlexGrover: https://www.tradingview.com/script/fIvlS64B-G-Channels-Efficient-Calculation-Of-Upper-Lower-Extremities/ strategy ("G-Channel Trend Detection with EMA Strategy and ATR", shorttitle="G-Trend EMA ATR Strategy", overlay=true) // Inputs for G-Channel length = input(100, title="G-Channel Length") src = input(close, title="Source") // G-Channel Calculation var float a = na var float b = na a := max(src, nz(a[1])) - (nz(a[1] - b[1]) / length) b := min(src, nz(b[1])) + (nz(a[1] - b[1]) / length) avg = (a + b) / 2 // G-Channel Signals crossup = b[1] < close[1] and b > close crossdn = a[1] < close[1] and a > close bullish = barssince(crossdn) <= barssince(crossup) c = bullish ? color.lime : color.red // Plot G-Channel Average p1 = plot(avg, "Average", color=c, linewidth=1, transp=90) p2 = plot(close, "Close price", color=c, linewidth=1, transp=100) fill(p1, p2, color=c, transp=90) // Show Buy/Sell Labels showcross = input(true, title="Show Buy/Sell Labels") plotshape(showcross and not bullish and bullish[1] ? avg : na, location=location.absolute, style=shape.labeldown, color=color.red, size=size.tiny, text="Sell", textcolor=color.white, transp=0, offset=-1) plotshape(showcross and bullish and not bullish[1] ? avg : na, location=location.absolute, style=shape.labelup, color=color.lime, size=size.tiny, text="Buy", textcolor=color.white, transp=0, offset=-1) // Inputs for EMA emaLength = input(50, title="EMA Length") emaValue = ema(close, emaLength) // Plot EMA plot(emaValue, title="EMA", color=color.blue, linewidth=1) // ATR Calculation atrLength = input(14, title="ATR Length") atrValue = atr(atrLength) // Strategy Conditions buyCondition = bullish and close < emaValue sellCondition = not bullish and close > emaValue // Stop Loss and Take Profit Levels longStopLoss = close - 2 * atrValue longTakeProfit = close + 4 * atrValue shortStopLoss = close + 2 * atrValue shortTakeProfit = close - 4 * atrValue // Execute Strategy with ATR-based stop loss and take profit if (buyCondition) strategy.entry("Buy", strategy.long) strategy.exit("Sell", "Buy", stop=longStopLoss, limit=longTakeProfit) if (sellCondition) strategy.entry("Sell", strategy.short) strategy.exit("Cover", "Sell", stop=shortStopLoss, limit=shortTakeProfit) // Plot Buy/Sell Signals on the chart plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", offset=-1) plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", offset=-1)