یہ حکمت عملی ایک متحرک اوسط کراس اوور سگنلز پر مبنی ایک خودکار تجارتی نظام ہے ، جو ایک مقررہ رسک - انعام تناسب کے ذریعے بہتر ہے۔ یہ حکمت عملی پوزیشن رسک مینجمنٹ کے لئے پہلے سے طے شدہ اسٹاپ نقصان اور منافع حاصل کرنے کی سطحوں کو جوڑ کر ، مارکیٹ کے رجحان کی سمت کا تعین کرنے کے لئے فاسٹ ایم اے اور سست ایم اے کے کراس اوور کا استعمال کرتی ہے۔
بنیادی منطق دو حرکت پذیر اوسط (10 مدت اور 30 مدت) کے ذریعہ تیار کردہ کراس اوور سگنلز پر انحصار کرتی ہے۔ جب تیز ایم اے سست ایم اے کے اوپر عبور کرتا ہے تو یہ نظام لمبے سگنل تیار کرتا ہے ، اور جب تیز ایم اے نیچے عبور کرتا ہے تو مختصر سگنل تیار کرتا ہے۔ ہر اندراج کے بعد ، سسٹم خود بخود 2٪ نقصان کے فیصد کی بنیاد پر اسٹاپ نقصان کی سطح کا حساب لگاتا ہے اور 2.5 کے تناسب کے مطابق منافع حاصل کرنے کے اہداف طے کرتا ہے۔ یہ نقطہ نظر اس بات کو یقینی بناتا ہے کہ ہر تجارت میں مستقل خطرہ انعام کی خصوصیات ہوں۔
یہ حکمت عملی کلاسیکی تکنیکی تجزیہ کے طریقوں کو جدید رسک مینجمنٹ تصورات کے ساتھ مل کر ایک مکمل تجارتی نظام کی تعمیر کرتی ہے۔ اگرچہ اس کی کچھ حدود ہیں ، لیکن مسلسل اصلاح اور بہتری سے حکمت عملی کو مختلف مارکیٹ کے حالات میں مستحکم کارکردگی برقرار رکھنے کی اجازت ملتی ہے۔ اصل مارکیٹنگ کے نتائج کی بنیاد پر پیرامیٹر کی ترتیبات کو مستقل طور پر ایڈجسٹ کرنے کی کلید موجود ہے تاکہ موجودہ مارکیٹ کے ماحول کے لئے موزوں ترین ترتیب مل سکے۔
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-25 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SOL 15m 2.5 R:R Strategy", overlay=true, margin_long=100, margin_short=100, initial_capital=10000, commission_type=strategy.commission.percent, commission_value=0.1) //--------------------------------------------------- // User Inputs //--------------------------------------------------- // sym = input.symbol("swap", "Symbol") timeframe = input.timeframe("15", "Timeframe") fastLength = input.int(10, "Fast MA Length") slowLength = input.int(30, "Slow MA Length") stopLossPerc = input.float(2.0, "Stop Loss %", step=0.1) // This is an example; adjust to achieve ~45% win rate RR = input.float(2.5, "Risk to Reward Ratio", step=0.1) //--------------------------------------------------- // Data Sources //--------------------------------------------------- price = request.security("swap", timeframe, close) // Compute moving averages fastMA = ta.sma(price, fastLength) slowMA = ta.sma(price, slowLength) // Entry Conditions longCondition = ta.crossover(fastMA, slowMA) shortCondition = ta.crossunder(fastMA, slowMA) //--------------------------------------------------- // Stop Loss and Take Profit Calculation //--------------------------------------------------- var entryPrice = 0.0 if (strategy.position_size == 0) // not in a position if longCondition // Long entry entryPrice := price strategy.entry("Long", strategy.long) if shortCondition // Short entry entryPrice := price strategy.entry("Short", strategy.short) if strategy.position_size > 0 // We are in a long position if strategy.position_avg_price > 0 and strategy.position_size > 0 longStop = strategy.position_avg_price * (1 - stopLossPerc/100) longTarget = strategy.position_avg_price * (1 + (stopLossPerc/100)*RR) strategy.exit("Long Exit", "Long", stop=longStop, limit=longTarget) if strategy.position_size < 0 // We are in a short position if strategy.position_avg_price > 0 and strategy.position_size < 0 shortStop = strategy.position_avg_price * (1 + stopLossPerc/100) shortTarget = strategy.position_avg_price * (1 - (stopLossPerc/100)*RR) strategy.exit("Short Exit", "Short", stop=shortStop, limit=shortTarget) //--------------------------------------------------- // Plotting //--------------------------------------------------- plot(fastMA, color=color.new(color.teal, 0), title="Fast MA") plot(slowMA, color=color.new(color.orange, 0), title="Slow MA")