اس حکمت عملی کا بنیادی خیال ایک ایسا فریم ورک لاگو کرنا ہے جو صارفین کی مختلف ضروریات کو پورا کرنے کے لئے بیک ٹسٹ کی تاریخ کی حد کو لچکدار طریقے سے منتخب کرسکتا ہے ، تاکہ وہ بیک ٹسٹ کے آغاز اور اختتام کے اوقات کو خود بخود یا دستی طور پر ترتیب دے سکیں۔
حکمت عملی ان پٹ پیرامیٹرز کے ذریعہ تاریخ کی حد کے انتخاب کے لئے چار اختیارات فراہم کرتی ہے: تمام تاریخ کے اعداد و شمار ، حالیہ مخصوص دنوں ، حالیہ مخصوص ہفتوں کا استعمال کرتے ہوئے یا تاریخ کی حد کی دستی طور پر وضاحت کرنا۔ حکمت عملی منتخب کردہ تاریخ کی حد کی بنیاد پر بیک ٹسٹ ونڈو کو متحرک طور پر ترتیب دے گی ، جبکہ تجارتی منطق کو برقرار رکھے گی ، تاکہ مختلف وقت کی کھڑکیوں کے تحت کارکردگی کے فرق کا موازنہ کیا جاسکے۔
حکمت عملی میں دو ماڈیولز شامل ہیں: بیک ٹسٹ کی تاریخ کی حد کا انتخاب اور ڈبل ایم اے ٹریڈنگ کی حکمت عملی۔
تاریخ کی حد کے انتخاب کے ل 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