
یہ حکمت عملی ایک خودکار تجارتی نظام ہے جس کی بنیاد اوسط کراس اوور سگنلز پر ہے، جو ایک مقررہ رسک ریٹرن ریشو سیٹ کرکے ٹریڈنگ کی کارکردگی کو بہتر بناتی ہے۔ حکمت عملی مارکیٹ کے رجحان کی سمت کا تعین کرنے کے لیے فاسٹ موونگ ایوریج (فاسٹ ایم اے) اور سلو موونگ ایوریج (سلو ایم اے) کے کراس اوور کا استعمال کرتی ہے، اور پوزیشن کے خطرے کو منظم کرنے کے لیے پیش سیٹ سٹاپ نقصان پوائنٹ اور منافع کے ہدف کو یکجا کرتی ہے۔
حکمت عملی کی بنیادی منطق مختلف ادوار کے دو متحرک اوسط (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")