
یہ حکمت عملی ایک ڈبل میڈین لائن کراسنگ پر مبنی ٹرینڈ ٹریکنگ سسٹم ہے جو مختصر اور طویل مدتی دونوں سادہ حرکت پذیر اوسط ((SMA) کے کراسنگ کا استعمال کرتے ہوئے واضح کثیر فاریکس ٹریڈنگ سگنل پیدا کرتی ہے۔ اس حکمت عملی کو سادہ ، آسان سمجھنے اور لاگو کرنے کے لئے ڈیزائن کیا گیا ہے ، خاص طور پر ان تاجروں کے لئے جو منتقل اوسط کراسنگ کے بنیادی اصولوں کو جاننا چاہتے ہیں۔ حکمت عملی کا بنیادی خیال یہ ہے کہ جب قلیل مدتی میڈین لائن نیچے سے اوپر کی طرف سے طویل مدتی میڈین لائن کو عبور کرتی ہے تو ، نظام ایک کثیر سگنل پیدا کرتا ہے۔ جب قلیل مدتی میڈین لائن اوپر سے نیچے کی طرف سے طویل مدتی میڈین لائن کو عبور کرتی ہے تو ، نظام ایک خالی سگنل پیدا کرتا ہے۔ یہ تجارتی طریقہ خود بخود سگنل کے اختتام پر قیمت کی پوزیشن پر قبضہ کرتا ہے ، اس بات کو یقینی بناتا ہے کہ تاجر مارکیٹ کی سمت کو بروقت تبدیل کرسکے۔
اس حکمت عملی کا مرکز دو سادہ منتقل اوسط (ایس ایم اے) کے تعامل پر مبنی ہے:
ٹریڈنگ سگنل جنریشن منطق:
ٹرانزیکشن عملدرآمد:
حکمت عملی صارفین کو مختلف مارکیٹ کے حالات یا ٹریڈنگ سٹائل کو اپنانے کے لئے قیمت کا ذریعہ (ڈیفالٹ اوپننگ قیمت) اور اوسط مدت کی لمبائی کو اپنی مرضی کے مطابق کرنے کی بھی اجازت دیتی ہے۔
پالیسی کوڈ کا گہرائی سے تجزیہ کرنے کے بعد ، ہم مندرجہ ذیل واضح فوائد کا خلاصہ کرسکتے ہیں:
اس حکمت عملی کے سادہ اور موثر ہونے کے باوجود ، اس میں مندرجہ ذیل ممکنہ خطرات ہیں:
ہلچل والی مارکیٹ میں بار بار تجارت: ہلچل والی مارکیٹ میں ، قلیل مدتی اور طویل مدتی میڈین لائنیں بار بار آپس میں ٹکرا سکتی ہیں ، جس کی وجہ سے بہت زیادہ تجارتی سگنل اور غیر ضروری تجارتی لاگت آتی ہے
تاخیر کا مسئلہ: حرکت پذیری اوسط بنیادی طور پر ایک تاخیر کا اشارہ ہے ، اور سگنل صرف اس وقت پیدا ہوسکتا ہے جب رجحان تیار ہوچکا ہو یا اس کے اختتام کے قریب ہو
جھوٹے بریک کا خطرہ: قیمتیں مختصر مدت کے لئے اوسط لائن کو عبور کرسکتی ہیں اور پھر غلط سگنل کے نتیجے میں اصل رجحان میں واپس آسکتی ہیں
اسٹاپ نقصان کا فقدان: موجودہ حکمت عملی میں واضح اسٹاپ نقصان کی ترتیب نہیں ہے ، جس سے مضبوط الٹ کے حالات میں زیادہ نقصان ہوسکتا ہے۔
پیرامیٹر حساسیت: حکمت عملی کی کارکردگی اوسط لکیری دورانیہ کی لمبائی کے انتخاب کے لئے زیادہ حساس ہے ، غلط پیرامیٹرز حکمت عملی کے اثر میں بڑے پیمانے پر تبدیلی کا سبب بن سکتے ہیں
میں نے اس کوڈ کا گہرائی سے تجزیہ کیا ہے اور اس میں اصلاحات کی چند تجاویز پیش کی ہیں:
رجحان فلٹر شامل کریں: ADX ، رجحان کی طاقت کے اشارے یا قیمتوں اور اوسط سے متعلق پوزیشن کا تعین کرنے کے لئے ، صرف تصدیق شدہ رجحانات کے ماحول میں سگنل تیار کریں ، اور مارکیٹ میں ہلچل کی کثرت سے تجارت سے گریز کریں
متحرک رکاوٹ کا طریقہ کار: اے ٹی آر یا دیگر اتار چڑھاؤ کے اشارے پر مبنی متحرک رکاوٹ کی سطح کا تعین ، منافع کی حفاظت اور ایک ہی تجارت کے زیادہ سے زیادہ خطرے کو محدود کرنا
انٹری ٹائمنگ کو بہتر بنائیں: سگنل کی پیداوار کے بعد چھوٹے دورے کی تصدیق کا استعمال کرنے یا بہتر عملدرآمد کی قیمت حاصل کرنے کے لئے دوبارہ انٹری کے لئے کال بیک کا انتظار کرنے پر غور کریں
حجم میں اضافے کی فلٹرنگ: کراس سگنل کی بنیاد پر حجم میں اضافے کی تصدیق ، صرف تب ہی تجارت کی جاتی ہے جب حجم بھی سمت میں تبدیلی کی حمایت کرتا ہے
خود کار طریقے سے اپنانے والی اوسط سائیکل: مارکیٹ میں اتار چڑھاؤ کے مطابق اوسط سائیکل کی لمبائی کو خود بخود ایڈجسٹ کریں ، اعلی اتار چڑھاؤ والے ماحول میں طویل عرصے تک استعمال کریں ، کم اتار چڑھاؤ والے ماحول میں مختصر دور استعمال کریں
بیچوں میں اسٹور کھولنے اور اسٹور کی بحالی کا طریقہ کار شامل کرنا: ایک بار میں تمام اسٹورز کی تعمیر کے بجائے ، اسٹور اور اسٹور کی بحالی کے مراحل میں اضافہ کریں ، تاکہ وقت کے انتخاب کے خطرات کو کم کیا جاسکے
ڈبل مساوی لائن کراس رجحان ٹریکنگ حکمت عملی ایک سادہ اور طاقتور مقداری تجارتی نظام ہے جو مختصر اور طویل مدتی منتقل اوسط کی کراسنگ کے ذریعے واضح تجارتی سگنل پیدا کرتی ہے۔ اس کا بنیادی فائدہ یہ ہے کہ اس کا استعمال آسان ، بصری طور پر بدیہی اور خود کار طریقے سے الٹ پلٹ ہے ، جس سے تاجر مارکیٹ کے رجحانات کو معروضی طور پر پیروی کرسکتا ہے۔ تاہم ، اس حکمت عملی میں ہلچل کی مارکیٹ میں بار بار تجارت اور سگنل کی تاخیر جیسے خطرات بھی شامل ہیں۔
اس بنیادی حکمت عملی کو نمایاں طور پر بڑھایا جاسکتا ہے ، جیسے رجحان فلٹرز کو شامل کرنا ، متحرک اسٹاپ نقصان کا طریقہ کار نافذ کرنا ، داخلے کے وقت کو بہتر بنانا اور تجارت کی تصدیق میں اضافہ کرنا۔ خاص طور پر دوسرے تکنیکی اشارے کے ساتھ مل کر سگنل فلٹرنگ اور خطرے کے انتظام کو بہتر بنانا ، مختلف مارکیٹ کے حالات میں حکمت عملی کی کارکردگی کو بہتر بنانے میں معاون ثابت ہوگا۔
یہ ایک مثالی نقطہ آغاز ہے نئے تاجروں کے لئے جو تجارت کی مقدار کو شروع کرنا چاہتے ہیں۔ تجربہ کار تاجروں کے لئے ، یہ ایک مضبوط بنیاد فراہم کرتا ہے جس کو مزید تخصیص اور اصلاح کی جاسکتی ہے۔
/*backtest
start: 2025-01-01 00:00:00
end: 2025-03-24 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//@version=6
//
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// @author = Da_mENIZ
// © denis_zvegelj
// last change 20.Mar.2025
//
// Simple MA Crossover strategy that shows on the chart with Long/Short indicators. Feel free to use it to suit
// your needs
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
strategy("DZ Simple MA Crossover Strategy", shorttitle="DZ_MACross", overlay=true, calc_on_every_tick=true)
// Define the moving average lengths
i_src_price = input.source (open, "Price source", group="Main Settings")
i_shMA_len = input.int (9, "Short MA Length", minval=1, group="Main Settings")
i_loMA_len = input.int (21, "Long MA Length", minval=6, group="Main Settings")
// Calculate the moving averages
short_MA = ta.sma(i_src_price, i_shMA_len)
long_MA = ta.sma(i_src_price, i_loMA_len)
// Plot the moving averages on the chart
plot(short_MA, color=color.red, linewidth=2, title="Short MA")
plot(long_MA, color=color.blue, linewidth=2, title="Long MA")
// Generate the buy and sell signals
long_Cond = ta.crossover(short_MA, long_MA)
short_Cond = ta.crossunder(short_MA, long_MA)
// Place the orders based on conditions
if (long_Cond)
strategy.close("Short", immediately = true, comment = "Close")
strategy.entry("Long", strategy.long, comment = "Enter")
label.new(bar_index+1, open, "Long\n" + str.tostring(open), style=label.style_label_down, color=color.blue, textcolor=color.white, yloc=yloc.abovebar)
if (short_Cond)
strategy.close("Long", immediately = true, comment = "Close")
// strategy.entry("Short", strategy.short, comment = "Short\n" + str.tostring(open))
strategy.entry("Short", strategy.short, comment = "Enter")
label.new(bar_index+1, open, "Short\n" + str.tostring(open), style=label.style_label_up, color=color.red, textcolor=color.white, yloc=yloc.belowbar)