
حکمت عملی تجارتی نظام کے بعد ایک رجحان ہے جو اے ٹی آر رسک مینجمنٹ کے ساتھ متحرک اوسط کراس اوور سگنلز کو جوڑتا ہے۔ یہ حکمت عملی تیز رفتار اور سست حرکت اوسط کے کراس اوور کے ذریعے مارکیٹ کے رجحانات کو پکڑتی ہے، اور تجارتی خطرات کے عین مطابق کنٹرول حاصل کرنے کے لیے اسٹاپ نقصان اور منافع کی سطح کو متحرک طور پر ایڈجسٹ کرنے کے لیے ATR اشارے کا استعمال کرتی ہے۔ حکمت عملی میں منی منیجمنٹ ماڈیول بھی شامل ہے جو اکاؤنٹ ایکویٹی اور پہلے سے طے شدہ رسک پیرامیٹرز کی بنیاد پر پوزیشن کے سائز کو خود بخود ایڈجسٹ کرتا ہے۔
حکمت عملی کی بنیادی منطق درج ذیل کلیدی اجزاء پر مبنی ہے:
یہ حکمت عملی موونگ ایوریج کراس اوور کے ذریعے رجحانات کو پکڑتی ہے اور اسے ATR ڈائنامک رسک کنٹرول کے ساتھ جوڑتی ہے تاکہ ایک مکمل ٹرینڈ ٹریکنگ ٹریڈنگ سسٹم حاصل کیا جا سکے۔ حکمت عملی کی طاقت اس کی موافقت اور خطرے پر قابو پانے کی صلاحیتوں میں پنہاں ہے، لیکن یہ غیر مستحکم مارکیٹوں میں خراب کارکردگی کا مظاہرہ کر سکتی ہے۔ ٹرینڈ فلٹرز کو شامل کرکے اور منی مینجمنٹ سسٹم کو بہتر بنا کر حکمت عملی کی مجموعی کارکردگی کو بہتر بنایا جا سکتا ہے۔
/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-04 08:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © davisash666
//@version=5
strategy("Trend-Following Strategy", overlay=true)
// Inputs for strategy parameters
timeframe = input.timeframe("D", "Timeframe")
risk_tolerance = input.float(2.0, "Risk Tolerance (%)", step=0.1) / 100
capital_allocation = input.float(200, "Capital Allocation (%)", step=1) / 100
// Technical indicators (used to emulate machine learning)
ma_length_fast = input.int(10, "Fast MA Length")
ma_length_slow = input.int(50, "Slow MA Length")
atr_length = input.int(14, "ATR Length")
atr_multiplier = input.float(1.5, "ATR Multiplier")
// Calculations
fast_ma = ta.sma(close, ma_length_fast)
slow_ma = ta.sma(close, ma_length_slow)
atr = ta.atr(atr_length)
// Entry and exit conditions
long_condition = ta.crossover(fast_ma, slow_ma)
short_condition = ta.crossunder(fast_ma, slow_ma)
// Risk management
stop_loss_long = close - (atr * atr_multiplier)
stop_loss_short = close + (atr * atr_multiplier)
take_profit_long = close + (atr * atr_multiplier)
take_profit_short = close - (atr * atr_multiplier)
// Capital allocation
position_size = strategy.equity * capital_allocation
// Execute trades
if long_condition
strategy.entry("Long", strategy.long, qty=position_size / close)
strategy.exit("Take Profit/Stop Loss", "Long", stop=stop_loss_long, limit=take_profit_long)
if short_condition
strategy.entry("Short", strategy.short, qty=position_size / close)
strategy.exit("Take Profit/Stop Loss", "Short", stop=stop_loss_short, limit=take_profit_short)
// Plotting for visualization
plot(fast_ma, color=color.green, title="Fast MA")
plot(slow_ma, color=color.red, title="Slow MA")
plot(stop_loss_long, color=color.blue, title="Stop Loss (Long)", linewidth=1, style=plot.style_cross)
plot(take_profit_long, color=color.purple, title="Take Profit (Long)", linewidth=1, style=plot.style_cross)