
یہ حکمت عملی ایک ٹریڈنگ سسٹم ہے جس میں رجحانات کی پیروی کی جاتی ہے جس میں ایک بائنری اوسط کی کراسنگ ہوتی ہے ، جس میں ایک رسک مینجمنٹ میکانزم ہوتا ہے۔ حکمت عملی مارکیٹ کے رجحانات کو پکڑنے کے لئے 9 دوروں اور 21 دوروں کی ایک سادہ حرکت پذیری اوسط ((SMA) کا استعمال کرتی ہے ، جبکہ خطرے کو کنٹرول کرنے کے لئے 1٪ اسٹاپ اور اسٹاپ سیٹ کرتی ہے۔ نظام مختصر مدت کے اوسط پر طویل مدتی اوسط پر داخل ہوتا ہے اور طویل مدتی اوسط پر طویل مدتی اوسط سے باہر نکلتا ہے۔
اس حکمت عملی کی بنیادی منطق مارکیٹ کے رجحانات کی تسلسل کی خصوصیات پر مبنی ہے۔ رجحانات میں تبدیلی کا فیصلہ کرنے کے لئے ، قلیل مدتی (دورہ 9) اور طویل مدتی (دورہ 21) منتقل اوسط کی کراسنگ کا مشاہدہ کیا جاتا ہے۔ جب قلیل مدتی اوسط پر طویل مدتی اوسط کی کراسنگ ہوتی ہے تو ، “گولڈ فورک” تشکیل پاتا ہے ، جس سے یہ ظاہر ہوتا ہے کہ اوپر کی سمت کا رجحان شروع ہوچکا ہے ، تو نظام ایک سے زیادہ سگنل جاری کرتا ہے۔ جب قلیل مدتی اوسط کے نیچے طویل مدتی اوسط کی کراسنگ ہوتی ہے تو ، “ڈڈڈ فورک” تشکیل پاتا ہے ، جس سے یہ ظاہر ہوتا ہے کہ اوپر کی سمت کا رجحان ختم ہوسکتا ہے ، اور نظام کھل جاتا ہے۔
یہ حکمت عملی ایک مکمل رجحان ٹریڈنگ ٹریڈنگ سسٹم ہے جو رجحان کو پکڑنے کے لئے ایک ڈبل مساوی لائن کراس کا استعمال کرتا ہے اور اس کے ساتھ ساتھ اسٹاپ نقصان کو روکنے کا طریقہ کار بھی شامل ہے۔ اگرچہ یہ ہلچل والی مارکیٹوں میں غلط سگنل پیدا کرسکتا ہے ، لیکن معقول پیرامیٹرز کو بہتر بنانے اور معاون اشارے شامل کرنے سے حکمت عملی کی استحکام اور منافع کو مزید بہتر بنایا جاسکتا ہے۔ حکمت عملی کا بنیادی فائدہ اعلی درجے کی آٹومیشن ہے ، خطرے پر قابو پانے میں بہتری ہے ، جو درمیانے اور طویل مدتی رجحانات کی پیروی کے لئے ایک بنیادی حکمت عملی فریم ورک کے طور پر کام کرتی ہے۔
/*backtest
start: 2024-02-21 00:00:00
end: 2024-12-13 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("Moving Average Crossover with Stop Loss and Take Profit", overlay=true)
// Parameters for moving averages
short_length = input.int(9, title="Short Moving Average Length") // Optimized for 15-minute time frame
long_length = input.int(21, title="Long Moving Average Length") // Optimized for 15-minute time frame
// Parameters for risk management
stop_loss_percent = input.float(1.0, title="Stop Loss (%)") / 100 // 1% stop loss
take_profit_percent = input.float(1.0, title="Take Profit (%)") / 100 // 1% take profit
// Calculate moving averages
short_ma = ta.sma(close, short_length)
long_ma = ta.sma(close, long_length)
// Plot moving averages
plot(short_ma, color=color.blue, title="Short MA")
plot(long_ma, color=color.orange, title="Long MA")
// Entry and exit conditions
long_condition = ta.crossover(short_ma, long_ma) // Golden Cross
short_condition = ta.crossunder(short_ma, long_ma) // Death Cross
// Execute strategy with stop loss and take profit
if (long_condition)
strategy.entry("Long", strategy.long)
strategy.exit("Take Profit/Stop Loss", "Long", stop=strategy.position_avg_price * (1 - stop_loss_percent), limit=strategy.position_avg_price * (1 + take_profit_percent) )
if (short_condition)
strategy.close("Long") // Close long position on Death Cross
// Plot Buy/Sell Signals
plotshape(series=long_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=short_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Draw 1% stop loss level as a transparent red rectangle
var float stop_loss_level = na
var float entry_price = na
if (strategy.position_size > 0) // Only update when in a trade
stop_loss_level := strategy.position_avg_price * (1 - stop_loss_percent)
entry_price := strategy.position_avg_price
// Create transparent colors
transparent_red = color.new(color.black, 90) // 90% transparency
transparent_green = color.new(color.green, 90) // 90% transparency
// Plot stop loss and entry levels conditionally
plot(strategy.position_size > 0 ? stop_loss_level : na, color=transparent_red, title="Stop Loss Level", linewidth=1)
plot(strategy.position_size > 0 ? entry_price : na, color=transparent_green, title="Entry Price", linewidth=1)
// Fill the area between stop loss and entry price conditionally
fill( plot(strategy.position_size > 0 ? stop_loss_level : na), plot(strategy.position_size > 0 ? entry_price : na), color=transparent_red)