اس حکمت عملی کا نام لیکویڈیٹی ڈرائیونگ ٹرینڈ اسٹریٹجی ہے۔ اس کا مقصد مختلف ٹائم فریموں میں قیمتوں کے رجحان کی سمت کی نشاندہی کرنا ہے اور اس کے مطابق خرید و فروخت کے فیصلے کرنا ہے۔ اس حکمت عملی میں رجحانات کا فیصلہ کرنے کے لئے ایک بائنری یکساں نظام کا استعمال کیا گیا ہے ، اور متعدد ٹائم فریموں پر قیمتوں میں فرق کی نسبتا طاقت کا اشارے (آر ایس آئی) کا استعمال کرتے ہوئے رجحانات میں تبدیلی کے وقت بروقت رد عمل کا مظاہرہ کیا گیا ہے۔
اس حکمت عملی کا بنیادی منطق CHOP اشارے پر مبنی ہے ، جس میں متحرک اوسط نظام بڑے رجحان کی سمت کا تعین کرتا ہے۔ خاص طور پر ، حکمت عملی تیز رفتار ((لمبائی = 20) اور آہستہ لائن ((لمبائی = 50)) کے RSI اقدار کو اعلی دورانیہ کے ٹائم فریم پر گنتی کرتی ہے ، اور ان کے درمیان فرق کا حساب لگاتی ہے۔ جب تیز رفتار RSI پر آہستہ لائن RSI کو عبور کرتا ہے تو اسے بائزر سمجھا جاتا ہے ، اور ایک کثیر سگنل تشکیل دیا جاتا ہے۔ اس کے برعکس ، جب تیز رفتار RSI نیچے آہستہ لائن RSI کو عبور کرتا ہے تو ، اس سے ایک خالی سگنل تشکیل دیا جاتا ہے۔
اس حکمت عملی میں متعدد ٹائم فریم کا تعین بھی متعارف کرایا گیا ہے۔ اعلی درجے کے دورانیے (جیسے سورج کی لکیر) میں آر ایس آئی کے فرق کا حساب لگانا تاکہ مجموعی رجحان کی سمت کا تعین کیا جاسکے۔ اعلی درجے کے دورانیے کے فیصلے کے نتائج کے مطابق ، کم درجے کے دورانیے (جیسے 5 منٹ کی لکیر) میں مخصوص خرید و فروخت پر عملدرآمد کریں۔ اس کثیر وقتی فریم ورک کا مجموعہ اعلی دورانیے کے رجحانات کے فیصلے کو مدنظر رکھتا ہے اور کم دورانیے کے آپریشن کی لچک کو بھی مدنظر رکھتا ہے۔
حل:
اس حکمت عملی کا استعمال RSI فرق کا استعمال کرتے ہوئے ممکنہ رجحان کی تبدیلیوں کا تعین کرنے کے لئے کیا جاتا ہے ، اور اس کے نتیجے میں ٹرن آؤٹ پوائنٹس کو حساس طور پر پکڑ لیا جاتا ہے۔ متعدد ٹائم فریموں کا استعمال نہ صرف بڑے رجحانات کے بارے میں فیصلہ کرنے کی ضمانت دیتا ہے ، بلکہ مخصوص خرید و فروخت کے آپریشن کو زیادہ لچکدار بنا دیتا ہے۔ یہ حکمت عملی دیگر رجحانات کی پیروی کرنے والی حکمت عملیوں کے مقابلے میں زیادہ آسان ، براہ راست ، پیرامیٹرز کی ترتیبات بدیہی اور آسانی سے ایڈجسٹ کرنے کے قابل ہے۔ مجموعی طور پر ، اس حکمت عملی نے ایک انتہائی موثر ، عملی رجحان ٹریڈنگ سسٹم تشکیل دیا ہے ، جس کی مزید تلاش کے قابل ہے۔
/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Flow Trend Indicator Strategy", "FlowTI", overlay=true, calc_on_every_tick=true)
isTimeFrame(timeFrame) =>
timeFrame == timeframe.period ? true : false
Htf() =>
isTimeFrame("12") ? "60" : isTimeFrame("60") ? "300" : isTimeFrame("300") ? "D" : isTimeFrame("D") ? "W" : isTimeFrame("W") ? "M" : isTimeFrame("M") ? "5M" : "D"
TrendIndication() =>
trendFastLength = 20
trendSlowLength = 50
upFastHtf = request.security(syminfo.tickerid, Htf(), rma(max(change(close), 0), trendFastLength), barmerge.gaps_off, barmerge.lookahead_on)
downFastHtf = request.security(syminfo.tickerid, Htf(), rma(-min(change(close), 0), trendFastLength), barmerge.gaps_off, barmerge.lookahead_on)
rsiFastHtf = downFastHtf == 0 ? 100 : upFastHtf == 0 ? 0 : 100 - (100 / (1 + upFastHtf / downFastHtf))
upSlowHtf = request.security(syminfo.tickerid, Htf(), rma(max(change(close), 0), trendSlowLength), barmerge.gaps_off, barmerge.lookahead_on)
downSlowHtf = request.security(syminfo.tickerid, Htf(), rma(-min(change(close), 0), trendSlowLength), barmerge.gaps_off, barmerge.lookahead_on)
rsiSlowHtf = downSlowHtf == 0 ? 100 : upSlowHtf == 0 ? 0 : 100 - (100 / (1 + upSlowHtf / downSlowHtf))
rsiDiff = rsiFastHtf - rsiSlowHtf
crossover(rsiDiff, 0) ? true : crossunder(rsiDiff, 0) ? false : na
if (TrendIndication() == true)
strategy.entry("Long", strategy.long)
if (TrendIndication() == false)
strategy.entry("Short", strategy.short)