یہ حکمت عملی ایک رجحان کے بعد ٹریڈنگ سسٹم ہے جو حرکت پذیر اوسط کراس اوور سگنلز کو اے ٹی آر پر مبنی رسک مینجمنٹ کے ساتھ جوڑتا ہے۔ یہ اے ٹی آر اشارے کا استعمال کرتے ہوئے تیز اور سست حرکت پذیر اوسط کے کراس اوور کے ذریعے مارکیٹ کے رجحانات کو پکڑتا ہے تاکہ اسٹاپ نقصان اور منافع حاصل کرنے کی سطح کو متحرک طور پر ایڈجسٹ کیا جاسکے ، جس سے تجارتی خطرات کا عین مطابق کنٹرول حاصل کیا جاسکے۔ اس حکمت عملی میں منی مینجمنٹ ماڈیول بھی شامل ہے جو اکاؤنٹ کی ایکویٹی اور پیش سیٹ رسک پیرامیٹرز کی بنیاد پر پوزیشن کے سائز کو خود بخود ایڈجسٹ کرتا ہے۔
حکمت عملی کا بنیادی منطق مندرجہ ذیل اہم اجزاء پر مبنی ہے:
یہ حکمت عملی ایم اے کراس اوورز کے ذریعہ رجحانات کو حاصل کرتی ہے اور ٹریڈنگ سسٹم کے بعد ایک مکمل رجحان پیدا کرنے کے لئے اے ٹی آر متحرک رسک کنٹرول کو جوڑتی ہے۔ اس حکمت عملی کی طاقت اس کی موافقت اور رسک کنٹرول کی صلاحیتوں میں ہے ، حالانکہ یہ ہلکی مارکیٹوں میں ناقص کارکردگی کا مظاہرہ کرسکتی ہے۔ رجحان فلٹرز کے اضافے اور منی مینجمنٹ سسٹم کی اصلاح کے ذریعے ، حکمت عملی کی مجموعی کارکردگی میں بہتری کی گنجائش ہے۔
/*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)