
ڈبل مساوی لائن کراسنگ حکمت عملی ایک کلاسیکی رجحان سے باخبر رہنے والی تجارتی حکمت عملی ہے۔ اس حکمت عملی میں دو چلتی اوسط کا استعمال کیا جاتا ہے ، ایک تیز رفتار حرکت پذیر اوسط اور دوسری آہستہ آہستہ حرکت پذیر اوسط۔ جب تیز رفتار حرکت پذیر اوسط اوپر سے نیچے کی طرف سے آہستہ آہستہ حرکت پذیر اوسط کو عبور کرتی ہے تو ، اسے “گولڈن کراسنگ” کہا جاتا ہے ، جس سے یہ ظاہر ہوتا ہے کہ بڑھتی ہوئی رجحانات کی تشکیل ہوسکتی ہے ، اور اس وقت زیادہ پوزیشنیں کھولی جاتی ہیں۔ جب تیز رفتار حرکت پذیر اوسط اوپر سے نیچے کی طرف سے آہستہ آہستہ حرکت پذیر اوسط کو عبور کرتی ہے تو ، اسے “ڈیتھ کراسنگ” کہا جاتا ہے ، جس سے یہ ظاہر ہوتا ہے کہ نیچے کی طرف رجحانات کی تشکیل ہوسکتی ہے ، اور اس وقت خالی پوزیشنیں کھولی جاتی ہیں۔ اس حکمت عملی کوڈ میں سادہ حرکت پذیر اوسط (ایس ایم اے) اور ڈیجیٹل حرکت پذیر اوسط (ای ایم اے) کی حمایت کی جاتی ہے ، اور اس سے روکنے کے نقصانات کا تعین کیا جاسکتا ہے۔
اس حکمت عملی کا بنیادی مقصد یہ ہے کہ رجحانات کی سمت اور پوزیشن کھولنے کے وقت کا فیصلہ کرنے کے لئے رجحانات کی خصوصیات اور حرکت پذیر اوسط کے کراس سگنل کا استعمال کیا جائے۔ پہلے پیرامیٹرز کے ذریعہ تیز رفتار حرکت پذیر اوسط (ڈیفالٹ 50) اور سست رفتار حرکت پذیر اوسط (ڈیفالٹ 200) کا دورانیہ طے کیا جائے ، اور ایس ایم اے یا ای ایم اے کا استعمال کرنے کا انتخاب کیا جائے۔ اس کے بعد دو حرکت پذیر اوسطوں کا حساب لگائیں اور ان کی کراسنگ کا فیصلہ کریں:
ڈبل مساوی لائن کراسنگ حکمت عملی ایک سادہ کلاسیکی رجحان کی پیروی کرنے والی حکمت عملی ہے ، جس میں دو مختلف دورانیہ کی متحرک اوسط کی کراسنگ کے ذریعہ رجحان کی سمت کا تعین کیا جاتا ہے اور پوزیشن کھولنے کا وقت ، درمیانی اور طویل مدتی رجحانات کو سمجھنے کے لئے موزوں ہے۔ تاہم ، مستحکم پیرامیٹرز بدلتے ہوئے مارکیٹ کے ماحول میں غیر مستحکم کارکردگی کا مظاہرہ کرسکتے ہیں ، اور اس میں مزید اصلاحات کی ضرورت ہوتی ہے ، جیسے اصلاحی پیرامیٹرز ، اسٹاپ نقصان کو بہتر بنانا ، سگنل لانا وغیرہ۔ یہ ایک نسبتا robust ٹھوس تجارتی حکمت عملی بن سکتی ہے۔ یہ حکمت عملی رجحان کی حکمت عملی کی بنیاد کے طور پر کام کرسکتی ہے ، اور اس کی بنیاد پر مستقل طور پر بہتری اور توسیع کی جاسکتی ہے۔
/*backtest
start: 2023-05-11 00:00:00
end: 2024-05-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
//==============================================================================
// A baseline strategy with a well known concept, golden cross & death cross.
// Support for both Simple & Exponential moving averages.
// Support for long & short stop losses as a percentage.:well
//==============================================================================
strategy("Basic Moving Average Crosses", overlay=true)
//------------------------------------------------------------------------------
// configuration
//------------------------------------------------------------------------------
maQuickLength = input(50, title="Quick MA Length")
maSlowLength = input(200, title="Quick MA Length")
useSma = input(true, title="Use SMA? If false, EMA is used.")
maQuick = useSma ? ta.sma(close, maQuickLength) : ta.ema(close, maQuickLength)
maSlow = useSma ? ta.sma(close, maSlowLength) : ta.ema(close, maSlowLength)
stop_loss_percentage = input(2.0, title="Stop Loss (%)")
var float longStopLevel = na
var float shortStopLevel = na
bool isGoldenCross = ta.crossover(maQuick, maSlow)
bool isDeathCross = ta.crossunder(maQuick, maSlow)
//------------------------------------------------------------------------------
// position opening logic
//------------------------------------------------------------------------------
if(strategy.position_size == 0)
// Golden cross, enter a long position
if(isGoldenCross)
strategy.entry("Buy", strategy.long)
longStopLevel := close - close * stop_loss_percentage/100.0
strategy.exit("StopLossLong", "Buy", stop=longStopLevel)
// Death cross, enter short position
else if(isDeathCross)
strategy.entry("Sell", strategy.short)
shortStopLevel := close + close * stop_loss_percentage/100.0
strategy.exit("StopLossShort", "Sell", stop=shortStopLevel)
//------------------------------------------------------------------------------
// position closing logic
//------------------------------------------------------------------------------
else
// Close long position on death cross
if(strategy.position_size > 0 and isDeathCross)
strategy.close("Buy")
// Close short position on golden cross
else if(strategy.position_size < 0 and isGoldenCross)
strategy.close("Sell")
//------------------------------------------------------------------------------
// ploting
//------------------------------------------------------------------------------
plot(maQuick, color=color.yellow)
plot(maSlow, color=color.blue)