
سپر ٹرینڈ متحرک اسٹاپ اور ٹائم فلٹر حکمت عملی ایک متحرک ٹریڈنگ سسٹم ہے جو اتار چڑھاؤ کی خودکشی پر مبنی ہے ، اس کے مرکز میں سپر ٹرینڈ اشارے کو متحرک ٹریکنگ اسٹاپ ٹول کے طور پر استعمال کیا جاتا ہے۔ حکمت عملی مارکیٹ کے رجحانات کو اس وقت کی نشاندہی کرکے پکڑتی ہے جب قیمت سپر ٹرینڈ اشارے کی لائن کو عبور کرتی ہے۔ اس میں متعدد فلٹرنگ میکانزم شامل ہیں ، بشمول ماسکو ٹائم (ایم ایس کے) فلٹر ، قیمت کی سطح کی فلٹرنگ اور مقررہ فیصد اسٹاپ فنکشن۔ نظام کو ایک کثیر مقصدی موڈ کے طور پر ڈیزائن کیا گیا ہے ، جس میں ایک ہی تجارت کی جاسکتی ہے ، چاہے وہ ایک ہی ہو یا ایک ہی ہو۔
اس حکمت عملی کا بنیادی کام مندرجہ ذیل اہم میکانزم پر مبنی ہے:
سپر ٹرینڈ اشارے کا حساب کتابحکمت عملی: سپر ٹرینڈ لائن کا حساب لگانے کے لئے اے ٹی آر اشارے ((ڈیفالٹ سائیکل 23) اور ضرب عنصر ((ڈیفالٹ 1.8) کا استعمال کرتے ہوئے ، یہ لائن مارکیٹ میں اتار چڑھاؤ کے مطابق خود بخود اپنی پوزیشن کو ایڈجسٹ کرتی ہے ، جس سے متحرک حمایت اور مزاحمت پیدا ہوتی ہے۔
ٹریڈنگ سگنل کی تخلیق:
ٹریڈنگ موڈ کا انتخابیہ حکمت عملی تین قسم کے لین دین کی پیش کش کرتی ہے:
ملٹی فلٹریشن سسٹم:
متحرک روکنے کا طریقہ کار: حکمت عملی میں داخلے کی قیمت پر مبنی مقررہ فیصد اسٹاپ () (پہلے سے طے شدہ 1.5٪) کا احساس ہوتا ہے ، اور جب قیمت اسٹاپ کی سطح تک پہنچ جاتی ہے تو حکمت عملی خود بخود صفائی کردی جاتی ہے ، منافع کو لاک کردیتی ہے۔ اسٹاپ کی سطح کو چارٹ پر بصری طور پر دکھایا جاسکتا ہے ، صارف اس بصری خصوصیت کو ضرورت کے مطابق آن یا آف کرسکتا ہے۔
میں نے اس کوڈ کا گہرائی سے تجزیہ کیا ہے اور اس میں مندرجہ ذیل نمایاں فوائد پائے ہیں:
اتار چڑھاؤ کی شرح کی خودکشی: سپر ٹرینڈ اشارے اے ٹی آر پر مبنی حساب کتاب پر مبنی ہے ، مارکیٹ میں اتار چڑھاؤ کی صورتحال کے مطابق ٹریکنگ فاصلے کو خود بخود ایڈجسٹ کرنے کی صلاحیت رکھتا ہے ، اعلی اتار چڑھاؤ والی مارکیٹ میں حفاظتی فاصلے میں اضافہ کرتا ہے ، کم اتار چڑھاؤ والی مارکیٹ میں قیمتوں کو زیادہ قریب سے ٹریک کرتا ہے ، حکمت عملی کو مختلف مارکیٹ کے حالات کے مطابق ڈھالنے کی صلاحیت میں اضافہ کرتا ہے۔
ایک سے زیادہ خطرے کا کنٹرولاس حکمت عملی میں خطرے کے انتظام کی تین پرتیں شامل ہیں: ٹائم فلٹرنگ ، قیمت فلٹرنگ اور اسٹاپ سیٹنگ۔ اس کثیر جہتی خطرے کے کنٹرول کے طریقہ کار سے تجارت کی حفاظت میں نمایاں اضافہ ہوا ہے۔
لچکدار تجارت کی سمت: صرف ایک ہیڈ ، صرف خالی ہیڈ یا دو طرفہ تجارت کا انتخاب کریں ، تاکہ حکمت عملی مختلف مارکیٹ کی ترجیحات اور تجارت کی پابندیوں کے مطابق ہو۔
ٹائم انٹیلیجنس کی اصلاحماسکو ٹائم: ماسکو ٹائم کا منفرد فلٹر مخصوص ٹائم فریم میں ٹریڈنگ کی اجازت دیتا ہے ، جو مارکیٹ کی ناکامی کے اوقات سے بچنے میں مدد کرتا ہے اور خاص طور پر بین الاقوامی ٹریڈنگ کے اوقات کو مدنظر رکھنے والے تاجروں کے لئے موزوں ہے۔
بصری فوائد: پس منظر کے رنگ میں تبدیلی ، سپر ٹرینڈ لائن رنگ اور اسٹاپس کی سطح کی نشاندہی کے ذریعہ بصری تجارتی حوالہ فراہم کرتا ہے ، تجزیہ کی پیچیدگی کو کم کرتا ہے۔
کمیشن کی اصلاح ڈیزائناس کے علاوہ ، اس میں یہ بھی کہا گیا ہے کہ اس کی حکمت عملی میں شامل کمیشن کو مدنظر رکھا گیا ہے ، جس سے اس کی جانچ پڑتال کے نتائج کو حقیقی تجارت کے ماحول سے قریب تر بنایا گیا ہے۔
اختتامی قیمت پر عمل درآمد کا طریقہ کاراسٹریٹجک: احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد کے احکامات پر عملدرآمد
اس حکمت عملی کے عمدہ ڈیزائن کے باوجود ، مندرجہ ذیل ممکنہ خطرات موجود ہیں:
رجحان میں تبدیلی: سپر ٹرینڈ اشارے بنیادی طور پر پیچھے رہ جانے والے اشارے ہیں ، مارکیٹ میں تیزی سے الٹ جانے پر تاخیر کا اشارہ ہوسکتا ہے ، جس کی وجہ سے دیر سے داخلے یا باہر نکلنے سے واپسی کا خطرہ بڑھ جاتا ہے۔ اس کا حل یہ ہے کہ اے ٹی آر کے دورانیے اور ضرب عنصر کو حساسیت اور استحکام کو متوازن کرنے کے لئے ایڈجسٹ کیا جائے۔
فکسڈ روک تھام کی محدودیت: فکسڈ فیصد اسٹاپ کو اپنانے سے منافع کو جلد سے جلد لاک کیا جاسکتا ہے اور مضبوط رجحانات میں زیادہ منافع ضائع ہوسکتا ہے۔ اسٹاپ فیصد کو مارکیٹ میں اتار چڑھاؤ کی متحرکات کے مطابق ایڈجسٹ کرنے یا دیگر تکنیکی اشارے کے ساتھ مل کر اسٹاپ حکمت عملی کو بہتر بنانے کی تجویز ہے۔
پیرامیٹر کی حساسیت: حکمت عملی کی کارکردگی پیرامیٹرز کی ترتیب پر بہت زیادہ انحصار کرتی ہے ((اے ٹی آر سائیکل ، ضرب عنصر ، اسٹاپ فی صد وغیرہ) ، غلط پیرامیٹرز زیادہ تجارت یا سگنل کی غلطی کا سبب بن سکتے ہیں۔ آپ کو تاریخ کے اعداد و شمار کی بازیافت کے ذریعے بہترین پیرامیٹرز کا مجموعہ تلاش کرنا چاہئے۔
فلٹرز کی حد سے زیادہ پابندی: وقت اور قیمت پر بہت سخت فلٹرنگ کے نتیجے میں موثر تجارت کے مواقع ضائع ہوسکتے ہیں۔ فلٹرنگ کی شرائط کو اصل تجارت کی اقسام اور مارکیٹ کی خصوصیات کے مطابق ایڈجسٹ کرنے کی تجویز ہے۔
مارکیٹ کے حالات پر انحصار: یہ حکمت عملی واضح رجحان والے بازاروں میں عمدہ کارکردگی کا مظاہرہ کرتی ہے ، لیکن ہلچل والے بازاروں میں اکثر غلط سگنل پیدا ہوسکتے ہیں۔ مارکیٹ کی حالت کی شناخت کے طریقہ کار کو شامل کرنے پر غور کیا جاسکتا ہے ، حکمت عملی کو صرف رجحان والے بازاروں میں چالو کیا جاسکتا ہے۔
نقصان کی روک تھام کا فقدان: اگرچہ سپر ٹرینڈ متحرک اسٹاپ ریفرنس کے طور پر کام کرتا ہے ، لیکن اس کوڈ میں واضح طور پر اسٹاپ ضابطے متعین نہیں کیے گئے ہیں ، اور مارکیٹ کے انتہائی حالات میں زیادہ نقصان کا سامنا کرنا پڑ سکتا ہے۔ سخت اسٹاپ میکانیزم کو شامل کرنے کی تجویز ہے۔
کوڈ تجزیہ کی بنیاد پر، میں مندرجہ ذیل اصلاحات کی تجویز کرتا ہوں:
متحرک پیرامیٹرز خود کو اپنانے: ایک فنکشن لکھ سکتے ہیں جو سپر ٹرینڈ کے اے ٹی آر کی مدت اور ضرب کو خود بخود مارکیٹ کی حالت کے مطابق ایڈجسٹ کرتا ہے (مثال کے طور پر اتار چڑھاؤ ، تجارت کی مقدار وغیرہ) ، حکمت عملی کی موافقت کو بہتر بناتا ہے۔ ایسا کرنے کا فائدہ یہ ہے کہ مارکیٹ کے مختلف مراحل میں خود بخود بہترین پیرامیٹرز کا مجموعہ تلاش کیا جاسکے۔
کثیر وقت کی مدت کی تصدیق: ایک ملٹی ٹائم سائیکل کی توثیق کا طریقہ کار متعارف کرایا گیا ہے ، جس میں صرف اس وقت تجارت کی جاتی ہے جب بڑے ٹائم سائیکل اور موجودہ ٹائم سائیکل سپر ٹرینڈ کی سمت میں مماثلت ہو ، جعلی سگنل کو کم کریں۔ اس سے سگنل کی معیار میں نمایاں اضافہ ہوتا ہے۔
انٹیلجنٹ روک تھام کا نظام: فکسڈ فی صد اسٹاپ کو اے ٹی آر پر مبنی متحرک اسٹاپ یا وقفے وقفے سے اسٹاپ میں تبدیل کریں ((کچھ پوزیشنیں کم ہدف پر منافع بخش ہیں ، کچھ پوزیشنیں زیادہ منافع کی تلاش میں ہیں)) ، فنڈ مینجمنٹ کی حکمت عملی کو بہتر بنائیں۔
مارکیٹ کی حیثیت کی شناخت: رجحان کی طاقت کے اشارے (جیسے ADX) یا اتار چڑھاؤ کے اشارے میں اضافہ کریں ، صرف اس وقت تجارت کریں جب مارکیٹ مخصوص شرائط پر پورا اترے ، اور غیر موثر مارکیٹ کے ماحول میں تجارت سے گریز کریں۔
خطرے کے انتظام میں بہتری: ہر ٹرانزیکشن کے خطرے کی حد اور اکاؤنٹ کے خطرے کے انتظام کے منطق کو شامل کریں ، تاکہ انفرادی اور مجموعی خطرے کو قابو میں رکھا جاسکے۔
ملٹی میڈیکل انضمام: دیگر تکنیکی اشارے (جیسے MACD، RSI یا برلن بینڈ) کے ساتھ مل کر معاون تصدیق کے طور پر ، سگنل کی وشوسنییتا کو بہتر بنانے کے لئے صرف کثیر اشارے کی گونج کے ساتھ ہی تجارت کی جاتی ہے۔
ٹرانزیکشن حجم کو اپنانے کی منطق: مارکیٹ کی لیکویڈیٹی اور اتار چڑھاؤ کی رفتار کے مطابق تجارت کے پیمانے کو ایڈجسٹ کریں ، بڑے اتار چڑھاؤ کے دوران پوزیشنوں کو کم کریں ، مستحکم رجحانات میں پوزیشنوں میں اضافہ کریں۔
پیمائش کا دورانیہ توسیع: مارکیٹ کے مختلف ادوار اور حالات کے تحت وسیع پیمانے پر ریٹرننگ کی جاتی ہے تاکہ اس بات کو یقینی بنایا جا سکے کہ حکمت عملی مختلف مارکیٹ کے ماحول میں مستحکم ہے۔
سپر ٹرینڈ متحرک اسٹاپ اور ٹائم فلٹر حکمت عملی ایک جامع مقداری تجارتی نظام ہے جو تکنیکی تجزیہ اور خطرے کے انتظام کو جوڑتا ہے۔ یہ سپر ٹرینڈ اشارے کے ذریعہ رجحانات کو پکڑتا ہے اور متعدد فلٹرنگ میکانزم کا استعمال کرتے ہوئے سگنل کے معیار کو بہتر بناتا ہے۔ حکمت عملی کے بنیادی فوائد اس کی اتار چڑھاؤ کی شرح کی خودکشی اور کثیر پرتوں کے خطرے پر قابو پانے میں ہیں ، جبکہ ممکنہ خطرہ بنیادی طور پر اشارے کی تاخیر اور پیرامیٹر کی حساسیت سے آتا ہے۔
اس حکمت عملی کو اس کی موافقت اور منافع بخش صلاحیت کو مزید بڑھانے کے لئے تجویز کردہ اصلاحاتی اقدامات جیسے متحرک پیرامیٹر ایڈجسٹمنٹ ، ملٹی ٹائم سائیکل کی توثیق اور ذہین اسٹاپ سسٹم کو لاگو کیا جاسکتا ہے۔ سب سے اہم بات یہ ہے کہ ، تاجر کو اس حکمت عملی کے ڈیزائن اصولوں اور حدود کو سمجھنا چاہئے ، اپنی خطرے کی ترجیحات اور مارکیٹ کی سمجھ کے ساتھ مل کر ، پیرامیٹرز کو ذاتی نوعیت کا ایڈجسٹمنٹ کرنا چاہئے تاکہ بہترین تجارتی اثر حاصل کیا جاسکے۔
مجموعی طور پر، یہ ایک واضح ساختہ، منطقی ٹریڈنگ کی حکمت عملی ہے، جس میں اعلی استعمال کی قیمت اور اپنی مرضی کے مطابق صلاحیت ہے، جس میں ٹریڈنگ کے تجربے کے ساتھ مقداری سرمایہ کاروں کے لئے مناسب ہے.
/*backtest
start: 2024-03-26 00:00:00
end: 2024-07-11 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("Supertrend Fixed TP Unified with Time Filter (MSK)", overlay=true,
default_qty_value=0.01,
commission_type=strategy.commission.percent,
commission_value=0.06,
pyramiding=0,
process_orders_on_close=true)
// Настройки индикатора
atrPeriod = input(23, "ATR Length")
factor = input.float(1.8, "Factor", step=0.1, minval=0.1)
tradeMode = input.string("Both", "Trade Mode", options=["Long Only", "Short Only", "Both"])
// Общий параметр тейк-профита
takeProfitPercent = input.float(1.5, "Take Profit (%)", minval=0.01)
showTP = input.bool(true, "▲▼ Показывать ТП") // Добавлен переключатель
// Фильтр цены
price_param = input.float(10000.0, "Цена фильтра", step=1.0)
use_price_filter = input.bool(false, "Использовать фильтр цены")
// Фильтр по времени (Московское время)
useTimeFilter = input.bool(true, "▲▼ Использовать фильтр по времени") // Переключатель фильтра времени
timeFrom = input.int(0, "Время С (часы MSK)", minval=0, maxval=23, step=1)
timeTo = input.int(23, "Время ДО (часы MSK)", minval=0, maxval=23, step=1)
// Функция проверки времени (с учетом Московского времени UTC+3)
isTimeInRange() =>
if not useTimeFilter
true // Фильтр отключен
else
// Переводим время сервера (UTC) в Московское время (UTC+3)
mskHour = (hour(time) + 3) % 24 // Добавляем 3 часа для MSK
if timeFrom <= timeTo
mskHour >= timeFrom and mskHour < timeTo // До timeTo (не включая timeTo)
else
mskHour >= timeFrom or mskHour < timeTo // До timeTo (не включая timeTo)
// Расчет Supertrend
[supertrend, dir] = ta.supertrend(factor, atrPeriod)
// Визуализация Supertrend
plot(supertrend, "Supertrend",
color = dir < 0 ? color.green : color.red,
linewidth = 2,
style = plot.style_linebr)
bgcolor(dir < 0 ? color.new(color.green, 90) : color.new(color.red, 90))
// Сигналы входа с фильтром по времени
longEntry = (dir < 0 and dir[1] > 0) and (use_price_filter ? close > price_param : true) and isTimeInRange()
shortEntry = (dir > 0 and dir[1] < 0) and (use_price_filter ? close < price_param : true) and isTimeInRange()
// Логика стратегии
if tradeMode == "Both"
if longEntry
strategy.close("Short", comment="Close Short")
strategy.entry("Long", strategy.long)
if shortEntry
strategy.close("Long", comment="Close Long")
strategy.entry("Short", strategy.short)
else if tradeMode == "Long Only"
if longEntry
strategy.entry("Long", strategy.long)
if shortEntry
strategy.close("Long", comment="Close Long")
else if tradeMode == "Short Only"
if shortEntry
strategy.entry("Short", strategy.short)
if longEntry
strategy.close("Short", comment="Close Short")
// Управление тейк-профитом
var color tpColor = na
var float tpLevel = na
var label tpLabel = na
// Сброс при закрытии позиции
if strategy.position_size == 0 and strategy.position_size[1] != 0
tpLevel := na
tpColor := na
label.delete(tpLabel)
tpLabel := na
// Обновление ТП при открытии позиции
if strategy.position_size > 0
entryPrice = strategy.opentrades.entry_price(0)
tpLevel := entryPrice * (1 + takeProfitPercent/100)
tpColor := color.green
// Закрытие лонга по TP на закрытии бара
if close >= tpLevel
strategy.close("Long", comment="TP Long")
// Обновление метки
if showTP
label.delete(tpLabel)
tpLabel := label.new(
bar_index, tpLevel,
text = str.tostring(tpLevel, "#.##"),
color = color.green,
textcolor = color.white,
style = label.style_label_down,
yloc = yloc.price)
if strategy.position_size < 0
entryPrice = strategy.opentrades.entry_price(0)
tpLevel := entryPrice * (1 - takeProfitPercent/100)
tpColor := color.red
// Закрытие шорта по TP на закрытии бара
if close <= tpLevel
strategy.close("Short", comment="TP Short")
// Обновление метки
if showTP
label.delete(tpLabel)
tpLabel := label.new(
bar_index, tpLevel,
text = str.tostring(tpLevel, "#.##"),
color = color.red,
textcolor = color.white,
style = label.style_label_up,
yloc = yloc.price)
// Визуализация ТП
plot(showTP ? tpLevel : na, "Take Profit",
color = tpColor,
linewidth = 1,
style = plot.style_circles)
// Обновление позиции метки
if showTP and not na(tpLevel)
label.set_xy(tpLabel, bar_index, tpLevel)