اس حکمت عملی کا نام ہےرفتار دوہری حرکت پذیر ونڈو TSI اشارے کی حکمت عملیاس حکمت عملی کا بنیادی خیال قیمتوں میں اتار چڑھاؤ کو ہموار کرنے کے لئے دوہری ای ایم اے سلائیڈنگ ونڈوز کا استعمال کرنا ہے ، اور پھر رجحان کی سمت میں ہونے والی تبدیلیوں کو ایک رفتار اشارے کی تعمیر کے لئے جو مارکیٹ میں خرید و فروخت کی طاقت کو ظاہر کرتا ہے ، یعنی ایس ٹی آئی اشارے ، اور اسے خرید و فروخت کے فیصلے کرنے کے لئے تجارتی سگنل کے طور پر استعمال کرنا ہے۔
یہ حکمت عملی قیمتوں میں تبدیلیوں کا حساب لگانے کے لئے ڈبل سلائیڈنگ ونڈو ڈبل ایکسپونینشل چلتی اوسط کا استعمال کرتی ہے۔ بیرونی ونڈو کی مدت لمبی ہے اور اندرونی ونڈو کی مدت مختصر ہے۔ ڈبل ہموار کرنے سے ، قیمت کے اعداد و شمار میں تصادفی کا کچھ حصہ ختم ہوجاتا ہے۔
پہلے قیمت میں یونٹ تبدیلی کا حساب لگائیں:
pc = change(price)
پھر دوہری سلائیڈنگ ونڈوز کا استعمال کریں قیمتوں میں تبدیلیوں کو دوگنا ہموار کرنے کے لئے:
double_smoothed_pc = double_smooth(pc, long, short)
اس کے بعد قیمت میں تبدیلی کی مطلق قیمت کا حساب لگائیں، جو دوہری سلائیڈنگ ونڈوز کا استعمال کرتے ہوئے دو بار ہموار ہے:
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
آخر میں، خرید و فروخت کی طاقت کی عکاسی کرنے والے ایس ٹی آئی اشارے کو حاصل کرنے کے لئے ہموار قیمت کی تبدیلی کو ہموار مطلق قیمت کی تبدیلی سے تقسیم کریں:
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
طویل اور مختصر ونڈو کی مدت کی مختلف لمبائیوں کا تعین کرکے ، قلیل مدتی میں مارکیٹ کے شور کو کسی حد تک فلٹر کیا جاسکتا ہے ، تاکہ ایس ٹی آئی اشارے درمیانی اور طویل مدتی رجحانات میں خریداری اور فروخت کی طاقت کو بہتر طور پر ظاہر کرسکے۔ جب ایس ٹی آئی اشارے اپنے چلتے ہوئے اوسط سے تجاوز کرتے ہیں تو ، خرید کا اشارہ پیدا ہوتا ہے۔ جب ایس ٹی آئی اشارے اپنے چلتے ہوئے اوسط سے نیچے آجاتا ہے تو ، فروخت کا اشارہ پیدا ہوتا ہے۔
یہ ونڈو مدت کے پیرامیٹرز کو ایڈجسٹ کرکے اور مناسب طریقے سے سگنل کی چلتی اوسط لمبائی کو مختصر کرکے بہتر بنایا جاسکتا ہے۔ جب مارکیٹ میں اتار چڑھاؤ ہوتا ہے تو ، خطرات پر قابو پانے کے لئے تجارت کو عارضی طور پر روک دیا جاسکتا ہے۔
یہ حکمت عملی قیمتوں میں ہونے والی تبدیلیوں کی دوہری ہموار کاری کی بنیاد پر خرید و فروخت کی طاقت کی عکاسی کرنے والے TSI رفتار اشارے کا حساب لگاتی ہے۔ دوہری سلائیڈنگ ونڈوز شور کو فلٹر کرتی ہیں۔ قیمتوں میں ہونے والی تبدیلیوں کی دوہری ہموار کاری اشارے کو زیادہ مستحکم اور قابل اعتماد بھی بناتی ہے۔ معیاری تناسب اس کا موازنہ کرتا ہے۔ اشارے میں اعلی معیار کے سگنل ماخذ کے طور پر قیمتوں میں ہونے والی تبدیلیوں کی سمت اور شدت کو یکجا کیا گیا ہے۔ پیرامیٹر ایڈجسٹمنٹ کے ذریعے اشارے کی حساسیت کو آزادانہ طور پر کنٹرول کیا جاسکتا ہے۔ پیرامیٹر کی اصلاح اور رسک کنٹرول کے ساتھ ، یہ ایک بہت ہی عملی مقداری تجارتی حکمت عملی کا انتخاب ہے۔
/*backtest start: 2023-01-01 00:00:00 end: 2024-01-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("True Strength Indicator BTCUSD 2H", shorttitle="TSI BTCUSD 2H",initial_capital=1000, commission_value=0.2, commission_type =strategy.commission.percent, default_qty_value=100 , overlay = false, pyramiding=10, default_qty_type=strategy.percent_of_equity) //BASED ON True Strength Indicator MTF resCustom = input(title="Timeframe", defval="120" ) long = input(title="Long Length", defval=25) short = input(title="Short Length", defval=13) signal = input(title="Signal Length", defval=13) length = input(title="Период", defval=300) FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2017, title = "From Year", minval = 2017) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2017) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => true // create function "within window of time" price = request.security(syminfo.tickerid,resCustom,close) double_smooth(src, long, short) => fist_smooth = ema(src, long) ema(fist_smooth, short) pc = change(price) double_smoothed_pc = double_smooth(pc, long, short) double_smoothed_abs_pc = double_smooth(abs(pc), long, short) tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc) tsi2=ema(tsi_value, signal) plot(tsi_value, color=lime,linewidth=2) plot(tsi2, color=red,linewidth=2) hline(30, title="Zero") hline(50, title="Zero",linewidth=2) hline(70, title="Zero") buy = crossover(tsi_value, tsi2) sell = crossunder(tsi_value, tsi2) if(buy) strategy.entry("BUY", strategy.long, when = window()) if(sell) strategy.entry("SELL", strategy.short, when = window()) //greentsi =tsi_value //redtsi = tsi2 //bgcolor( greentsi>redtsi and rsiserie > 50 ? lime : na, transp=90) //bgcolor( greentsi<redtsi and rsiserie < 50 ? red : na, transp=90) //yellow1= redtsi > greentsi and rsiserie > 50 //yellow2 = redtsi < greentsi and rsiserie < 50 //bgcolor( yellow1 ? yellow : na, transp=80) //bgcolor( yellow2 ? yellow : na, transp=50) //bgcolor( yellow1 and yellow1[1] ? yellow : na, transp=70) //bgcolor( yellow2 and yellow2[2] ? yellow : na, transp=70) //bgcolor( rsiserie > 70 ? lime : na, transp=60) //bgcolor( rsiserie < 30 ? red : na, transp=60)