
یہ حکمت عملی ایک رجحان ٹریکنگ سسٹم ہے جو مساوی لائن کراسنگ اور متحرک اسٹاپ نقصانات پر مبنی ہے۔ اس کی بنیادی منطق تیزی سے اوسط ((EMA5) اور آہستہ اوسط ((EMA200) کے ساتھ سنہری فورک کے ذریعے بڑھتے ہوئے رجحان کے آغاز کو پکڑنے کے لئے ہے ، اور منافع کو بچانے کے لئے اے ٹی آر متحرک اسٹاپ نقصانات کے ساتھ مل کر ہے۔ حکمت عملی میں ایک مقررہ فیصد اسٹاپ ہدف بھی مقرر کیا گیا ہے ، جس میں خطرہ سے فائدہ اٹھانے کا توازن ہے۔
حکمت عملی مندرجہ ذیل بنیادی میکانزم کی بنیاد پر کام کرتی ہے:
یہ ایک ٹرینڈ ٹریکنگ حکمت عملی ہے جو کلاسیکی تکنیکی اشارے اور جدید رسک مینجمنٹ کو جوڑتی ہے۔ یہ رجحانات کی گرفتاری کے ذریعہ ایکویریم کراس لائن کو پکڑنے ، متحرک اسٹاپ نقصان سے بچانے کے لئے اے ٹی آر کا استعمال کرنے ، اور رجحانات کی مارکیٹ میں نمایاں کارکردگی کا مظاہرہ کرنے کے لئے ہے۔ اگرچہ کچھ غلط سگنل کا خطرہ موجود ہے ، لیکن پیرامیٹرز کو بہتر بنانے اور فلٹرز کو شامل کرنے سے حکمت عملی کی استحکام میں نمایاں اضافہ کیا جاسکتا ہے۔ حکمت عملی کا بنیادی فائدہ اس کے منظم آپریٹنگ منطق اور لچکدار رسک مینجمنٹ میکانزم میں ہے ، جو باہمی تعاون کے لئے موزوں ہے۔ درمیانی اور طویل مدتی رجحانات کی تجارت کے لئے بنیادی حکمت عملی کا فریم ورک۔
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
// -----------------------------------------------------------
// Title: EMA5 Cross-Up EMA200 with ATR Trailing Stop & Take-Profit
// Author: ChatGPT
// Version: 1.1 (Pine Script v6)
// Notes: Enter Long when EMA(5) crosses above EMA(200).
// Exit on either ATR-based trailing stop or
// specified % Take-Profit.
// -----------------------------------------------------------
//@version=6
strategy(title="EMA5 Cross-Up EMA200 ATR Stop", shorttitle="EMA5x200_ATRStop_v6", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity,default_qty_value=100)
// -- 1) Inputs
emaFastLength = input.int(5, "Fast EMA Length")
emaSlowLength = input.int(200, "Slow EMA Length")
atrPeriod = input.int(14, "ATR Period")
atrMult = input.float(2.0,"ATR Multiplier", step=0.1)
takeProfitPerc = input.float(5.0,"Take-Profit %", step=0.1)
// -- 2) Indicator Calculations
emaFast = ta.ema(close, emaFastLength)
emaSlow = ta.ema(close, emaSlowLength)
atrValue = ta.atr(atrPeriod)
// -- 3) Entry Condition: EMA5 crosses above EMA200
emaCrossUp = ta.crossover(emaFast, emaSlow)
// -- 4) Determine a dynamic ATR-based stop loss (for trailing)
longStopPrice = close - (atrValue * atrMult)
// -- 5) Take-Profit Price
// We store it in a variable so we can update it when in position.
var float takeProfitPrice = na
var float avgEntryPrice = na
if strategy.position_size > 0
// If there is an open long, get the average fill price:
avgEntryPrice := strategy.position_avg_price
takeProfitPrice := avgEntryPrice * (1 + takeProfitPerc / 100)
else
// If no open position, reset
takeProfitPrice := na
avgEntryPrice := na
// -- 6) Submit Entry Order
if emaCrossUp
strategy.entry(id="Long", direction=strategy.long)
// -- 7) Submit Exit Orders (Stop or Take-Profit)
strategy.exit(id = "Exit Long",stop = longStopPrice,limit = takeProfitPrice)
// -- 8) (Optional) Plotting for Visuals
plot(emaFast, color=color.new(color.yellow, 0), linewidth=2, title="EMA Fast")
plot(emaSlow, color=color.new(color.blue, 0), linewidth=2, title="EMA Slow")
plot(longStopPrice, color=color.red, linewidth=2, title="ATR Trailing Stop")