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