
یہ ایک ملٹی ٹرینڈ ٹریڈنگ حکمت عملی ہے جس میں دوہری اوسط سے تجاوز اور حجم تجزیہ شامل ہے۔ حکمت عملی مختصر اور طویل مدتی منتقل اوسط کے کراس سگنل کا موازنہ کرکے اور حجم اشارے کو جوڑ کر تجارتی فیصلے کرتی ہے۔ جب قلیل مدتی اوسط طویل مدتی اوسط سے اوپر کی طرف جاتا ہے اور حجم نمایاں طور پر بڑھ جاتا ہے تو ، سسٹم ایک ملٹی سگنل جاری کرتا ہے۔ اس کے علاوہ ، حکمت عملی میں خطرے کو کنٹرول کرنے کے لئے نقصان کا طریقہ کار بھی موجود ہے۔
حکمت عملی کی بنیادی منطق درج ذیل کلیدی عناصر پر مبنی ہے:
زلزلے کی مارکیٹ کا خطرہ: زلزلے کی مارکیٹس میں ، بار بار اوسط لائن کراسنگ سے متعدد جھوٹے بریک ہوسکتے ہیں۔ حل: رجحان کی تصدیق کے اشارے جیسے ADX یا رجحان کی طاقت کے اشارے کو شامل کیا جاسکتا ہے۔
سلائڈ پوائنٹ کا خطرہ: جب حجم میں اضافہ ہوتا ہے تو ، سلائڈ پوائنٹ کا زیادہ نقصان ہوسکتا ہے۔ حل: یہ مشورہ دیا جاتا ہے کہ آپ مناسب سلائڈ ٹالرنس مقرر کریں اور جب آپ پوزیشن کھولیں تو ایک محدود قیمت کی فہرست استعمال کریں۔
اسٹاپ نقصان کا خطرہ: جب مارکیٹ میں اتار چڑھاؤ بڑھ جاتا ہے تو مقررہ فیصد اسٹاپ نقصان بہت زیادہ حساس ہوسکتا ہے۔ حل: اے ٹی آر متحرک اسٹاپ یا اتار چڑھاؤ کی شرح کو ایڈجسٹ کرنے کے لئے اسٹاپ کا استعمال کرنے پر غور کیا جاسکتا ہے۔
اس حکمت عملی نے قیمت کے رجحانات اور حجم میں تبدیلی کے ساتھ مل کر ایک نسبتا complete مکمل تجارتی نظام تشکیل دیا ہے۔ اس حکمت عملی کے فوائد متعدد تصدیق کے میکانزم اور بہتر خطرے پر قابو پانے میں ہیں ، لیکن اس میں ہلچل مچانے والے بازاروں میں جعلی بریک کا خطرہ ہوسکتا ہے۔ متحرک پیرامیٹرز کو بہتر بنانے اور سگنل کو بہتر بنانے کے ذریعہ ، اس حکمت عملی میں بہتری کی گنجائش ہے۔ مجموعی طور پر ، یہ ایک مضبوط ، منطقی طور پر واضح رجحانات کی پیروی کرنے والی حکمت عملی ہے جو واضح رجحانات والی مارکیٹوں میں استعمال کے لئے موزوں ہے۔
/*backtest
start: 2024-02-18 00:00:00
end: 2025-02-17 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MA Crossover with Volume (Long Only) + Stop Loss", overlay=true)
// Input settings for Moving Averages
shortMaLength = input.int(9, title="Short MA Length", minval=1)
longMaLength = input.int(21, title="Long MA Length", minval=1)
// Input settings for Volume
volumeMaLength = input.int(20, title="Volume MA Length", minval=1)
volumeThresholdMultiplier = input.float(1.5, title="Volume Multiplier (x times the average)", step=0.1)
// Input settings for Stop Loss
stopLossPercent = input.float(2.0, title="Stop Loss (%)", minval=0.1, step=0.1) / 100 // Stop loss in percentage
// Calculating Moving Averages
shortMa = ta.sma(close, shortMaLength)
longMa = ta.sma(close, longMaLength)
// Calculating Volume Metrics
volumeMa = ta.sma(volume, volumeMaLength) // Average volume
isVolumeAboveAverage = volume > (volumeMa * volumeThresholdMultiplier) // Volume above threshold
isVolumeIncreasing = volume > volume[1] // Volume increasing compared to the previous bar
// Plotting Moving Averages
plot(shortMa, color=color.blue, title="Short MA")
plot(longMa, color=color.orange, title="Long MA")
// Buy Condition with Volume
longCondition = ta.crossover(shortMa, longMa) and isVolumeAboveAverage and isVolumeIncreasing
exitCondition = ta.crossunder(shortMa, longMa) // Exit when the MAs cross downward
// Calculate Stop Loss Level
var float entryPrice = na // Variable to store entry price
if (strategy.position_size > 0 and na(entryPrice)) // Update entry price only when entering a new trade
entryPrice := strategy.position_avg_price
stopLossLevel = entryPrice * (1 - stopLossPercent) // Stop-loss level based on entry price
// Strategy Entry (Long Only)
if (longCondition)
strategy.entry("Long", strategy.long)
// Close position on Stop Loss or Exit Condition
if (strategy.position_size > 0)
if (low < stopLossLevel) // If the price drops below the stop-loss level
strategy.close("Long", comment="Stop Loss Hit")
if (exitCondition)
strategy.close("Long", comment="Exit Signal Hit")
// Debugging Plots
plot(volumeMa, color=color.purple, title="Volume MA", style=plot.style_area, transp=80)
hline(0, "Zero Line", color=color.gray)