ڈبل ایم اے پر مبنی موافقت پذیر بیک ٹسٹ ڈیٹ رینج انتخاب کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-05 12:12:10
ٹیگز:

img

جائزہ

اس حکمت عملی کا بنیادی خیال ایک ایسا فریم ورک لاگو کرنا ہے جو صارفین کی مختلف ضروریات کو پورا کرنے کے لئے بیک ٹسٹ کی تاریخ کی حد کو لچکدار طریقے سے منتخب کرسکتا ہے ، تاکہ وہ بیک ٹسٹ کے آغاز اور اختتام کے اوقات کو خود بخود یا دستی طور پر ترتیب دے سکیں۔

حکمت عملی ان پٹ پیرامیٹرز کے ذریعہ تاریخ کی حد کے انتخاب کے لئے چار اختیارات فراہم کرتی ہے: تمام تاریخ کے اعداد و شمار ، حالیہ مخصوص دنوں ، حالیہ مخصوص ہفتوں کا استعمال کرتے ہوئے یا تاریخ کی حد کی دستی طور پر وضاحت کرنا۔ حکمت عملی منتخب کردہ تاریخ کی حد کی بنیاد پر بیک ٹسٹ ونڈو کو متحرک طور پر ترتیب دے گی ، جبکہ تجارتی منطق کو برقرار رکھے گی ، تاکہ مختلف وقت کی کھڑکیوں کے تحت کارکردگی کے فرق کا موازنہ کیا جاسکے۔

حکمت عملی کا اصول

حکمت عملی میں دو ماڈیولز شامل ہیں: بیک ٹسٹ کی تاریخ کی حد کا انتخاب اور ڈبل ایم اے ٹریڈنگ کی حکمت عملی۔

بیک ٹسٹ ڈیٹ رینج انتخاب ماڈیول

  1. تاریخ کی حد کے انتخاب کے لئے چار اختیارات فراہم کرتا ہے: تمام تاریخ کے اعداد و شمار (ALL) ، حالیہ مخصوص دنوں (DAYS) ، حالیہ مخصوص ہفتوں (WEEKS) ، دستی طور پر مخصوص تاریخ کی حد (MANUAL).
  2. متحرک طور پر منتخب کردہ رینج کے ٹائم اسٹیمپ تبادلوں کی بنیاد پر بیک ٹیسٹ شروع اور اختتام کا وقت مقرر کرتا ہے۔
  3. شمعیں فلٹر کرنے کے لئے وقت کی شرط ونڈو ((() فنکشن کا استعمال کرتا ہے اور صرف منتخب کردہ تاریخ کی حد کے اندر بیک ٹسٹ کرتا ہے۔

ڈبل ایم اے ٹریڈنگ حکمت عملی ماڈیول

  1. فاسٹ ایم اے کی مدت فاسٹ ایم اے ہے، ڈیفالٹ 14؛ سست ایم اے کی مدت سست ایم اے ہے، ڈیفالٹ 28.
  2. لمبی پوزیشن جب تیز رفتار ایم اے سست رفتار ایم اے سے عبور کرتی ہے۔ قریب پوزیشن جب تیز رفتار ایم اے سست رفتار ایم اے سے عبور کرتی ہے۔
  3. تیز رفتار اور سست MA منحنی خطوط.

فوائد کا تجزیہ

  1. مختلف تجرباتی ضروریات کو پورا کرنے کے لئے لچکدار طور پر مختلف بیک ٹیسٹ کی تاریخ کی حدوں کو بغیر کسی حد تک منتخب کرتا ہے۔
  2. نتائج کی موازنہ کے ساتھ ایک ہی وقت کے فریم کے اندر مختلف مدت پیرامیٹرز کے اثرات کی جانچ کر سکتے ہیں.
  3. دیگر حکمت عملیوں کے لئے فریم ورک کے طور پر کام کرنے کے لئے ٹریڈنگ منطق کو تبدیل کرنے کے لئے آسان.
  4. سمجھنے میں آسان ڈبل ایم اے حکمت عملی، ابتدائیوں کے لئے آسان.

خطرات کا تجزیہ اور حل

  1. ڈبل ایم اے حکمت عملی خرید / فروخت کے بار بار مسائل کے ساتھ خام ہے۔ اصلاح کے ل stop اسٹاپ نقصان وغیرہ شامل کرنے پر غور کریں۔
  2. غلطیوں سے بچنے کے لئے دستی طور پر تاریخ کی حد کو ترتیب دینے میں احتیاط کی ضرورت ہے۔ انتباہی پیغامات دکھا سکتا ہے۔
  3. طویل تاریخ کا بیک ٹیسٹ ٹیسٹ سائیکل کو بڑھاتا ہے۔ کثرت سے تجارت کو کم کرنے کے لئے سلائڈج یا فیس شامل کرنے پر غور کیا جاسکتا ہے۔

حکمت عملی کی اصلاح کے لئے ہدایات

  1. نقصان کا خطرہ کم کرنے کے لئے سٹاپ نقصان منطق شامل کریں.
  2. اعلی استحکام کے لئے مضبوط انڈیکس اہمیت کی طرف سے اسٹاک کے ساتھ فلٹر اسٹاک.
  3. غیر ضروری تجارت کو کم کرنے کے لئے مخصوص ادوار کے اندر غیر مستحکم سگنل کو دور کرنے کے لئے فلٹرز شامل کریں.
  4. بہترین اقسام کو تلاش کرنے کے لئے اسٹاک انڈیکس کی کارکردگی کا ٹیسٹ.

نتیجہ

تاریخ کی حد کے انتخاب کے ل flexible لچکدار اور مرضی کے مطابق فریم ورک کی حیثیت سے ، فوائد صارفین کی مختلف جانچ کی ضروریات کو پورا کررہے ہیں۔ سادہ لیکن موثر ڈبل ایم اے ٹریڈنگ منطق کے ساتھ مل کر ، یہ حکمت عملیوں کی فوری تصدیق اور موازنہ کرسکتا ہے۔ فلٹرز یا اسٹاپ نقصان کی منطق کو شامل کرنے جیسی فالو اپ اصلاحات حکمت عملی کو براہ راست تجارت کے لئے زیادہ عملی بنا سکتی ہیں۔ خلاصہ میں ، حکمت عملی کے فریم ورک میں اچھی اسکیل ایبلٹی اور حوالہ قیمت ہے۔


/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

strategy(title = "How To Auto Set Date Range", shorttitle = " ", overlay = true)

// Revision:        1
// Author:          @allanster 

// === INPUT MA ===
fastMA = input(defval = 14, title = "FastMA", type = input.integer, minval = 1, step = 1)
slowMA = input(defval = 28, title = "SlowMA", type = input.integer, minval = 1, step = 1)

// === INPUT BACKTEST RANGE ===
useRange     = input(defval = "WEEKS", title = "Date Range", type = input.string, confirm = false, options = ["ALL", "DAYS", "WEEKS", "MANUAL"])
nDaysOrWeeks = input(defval = 52, title = "# Days or Weeks", type = input.integer, minval = 1)
FromMonth    = input(defval = 9, title = "From Month", minval = 1, maxval = 12)
FromDay      = input(defval = 15, title = "From Day", minval = 1, maxval = 31)
FromYear     = input(defval = 2019, title = "From Year", minval = 2014)
ToMonth      = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay        = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
ToYear       = input(defval = 9999, title = "To Year", minval = 2014)

// === FUNCTION EXAMPLE ===
window() => true

// === LOGIC ===
buy  = crossover(sma(close, fastMA), sma(close, slowMA))         // buy when fastMA crosses over slowMA
sell = crossunder(sma(close, fastMA), sma(close, slowMA))        // sell when fastMA crosses under slowMA

// === EXECUTION ===
strategy.entry("L", strategy.long, when=window() and buy)        // buy long when "within window of time" AND crossover
strategy.close("L", when=window() and sell)                      // sell long when "within window of time" AND crossunder         

// === PLOTTING ===
plot(sma(close, fastMA), title = 'FastMA', color = color.aqua, linewidth = 2, style = plot.style_line)    // plot FastMA
plot(sma(close, slowMA), title = 'SlowMA', color = color.yellow, linewidth = 2, style = plot.style_line)  // plot SlowMA


مزید