اس حکمت عملی میں اوسط حقیقی رینج (اے ٹی آر) ، رشتہ دار طاقت انڈیکس (آر ایس آئی) اور ٹریلنگ اسٹاپ نقصان کو ملا کر موافقت پذیر رجحان کی پیروی حاصل کی جاتی ہے۔ متحرک اسٹاپ نقصان کا حساب اے ٹی آر کے ذریعہ مارکیٹ میں اتار چڑھاؤ کی عکاسی کرنے کے لئے کیا جاتا ہے ، آر ایس آئی رجحان کی سمت کی نشاندہی کرتا ہے ، اور ٹریلنگ اسٹاپ نقصان منافع کو زیادہ سے زیادہ کرنے کے لئے قیمت میں اتار چڑھاؤ کو ٹریک کرتا ہے۔ یہ ایک بہت ہی عام رجحان کی پیروی کرنے والی حکمت عملی ہے۔
اے ٹی آر کا حساب لگائیں۔ اے ٹی آر مارکیٹ میں اتار چڑھاؤ اور خطرے کی سطح کو ظاہر کرتا ہے۔ یہ حکمت عملی موافقت پذیر رسک کنٹرول کے لئے متحرک اسٹاپ نقصان کا حساب لگانے کے لئے اے ٹی آر کا استعمال کرتی ہے۔
RSI کا حساب لگائیں۔ RSI overbought / oversold کی حیثیت کا فیصلہ کرتا ہے۔ جب RSI 50 سے اوپر ہوتا ہے تو یہ تیزی کی پیش گوئی کا اشارہ کرتا ہے ، جب 50 سے نیچے ہوتا ہے تو bearish کا اشارہ کرتا ہے۔ یہ حکمت عملی رجحان کی سمت کا تعین کرنے کے لئے RSI کا استعمال کرتی ہے۔
ٹریلنگ اسٹاپ نقصان سے باخبر رہنا۔ اے ٹی آر کے ذریعہ شمار کردہ اسٹاپ نقصان کی سطح اور آر ایس آئی کے ذریعہ رجحان کی سمت کے مطابق ، یہ حکمت عملی مؤثر اسٹاپ نقصان کو یقینی بناتے ہوئے منافع کو زیادہ سے زیادہ کرنے کے لئے ، قیمت میں اتار چڑھاؤ کو ٹریک کرنے کے لئے اسٹاپ نقصان کو منتقل کرتی رہتی ہے۔
خاص طور پر، طویل جب RSI 50 سے اوپر جاتا ہے، مختصر جب 50 سے نیچے جاتا ہے. پھر رجحان کے ساتھ منافع میں مقفل کرنے کے لئے ATR پر مبنی نقصان کو روکنے کے لئے.
اے ٹی آر ایڈجسٹ سٹاپ نقصان مارکیٹ کی اتار چڑھاؤ پر غور کرتا ہے، بہت وسیع یا بہت تنگ سٹاپ نقصان سے بچتا ہے.
RSI قابل اعتماد رجحان کی نشاندہی کرتا ہے، whipsaws سے بچتا ہے.
ٹریلنگ سٹاپ نقصان منافع ہدف کو بڑھانے کے لئے رجحان کی پٹریوں.
اے ٹی آر اور آر ایس آئی پیرامیٹرز کو بیک ٹیسٹ کی اصلاح کی ضرورت ہے، ورنہ حکمت عملی کی کارکردگی پر اثر انداز ہوتا ہے.
اگرچہ اسٹاپ نقصان کے تحفظ کے ساتھ ، اسٹاپ نقصان میں داخل ہونے کے لئے قیمت میں اچانک چھلانگ کا خطرہ موجود ہے۔ خطرہ کو کنٹرول کرنے کے لئے پوزیشن سائزنگ پر غور کیا جاسکتا ہے۔
حکمت عملی کی کارکردگی مختلف مصنوعات کے لئے پیرامیٹر ٹیوننگ پر بہت زیادہ انحصار کرتی ہے۔
موافقت پذیر پیرامیٹر کی اصلاح کے لئے مشین لرننگ الگورتھم پر غور کریں۔
مارکیٹ کی حالت کی بنیاد پر متحرک ایڈجسٹمنٹ کے لئے پوزیشن سائزنگ کنٹرول شامل کریں، سٹاپ نقصان کے دخول کے امکان کو کم کرنے کے لئے.
مزید رجحان کے اشارے شامل کریں تاکہ رجحان کے اہم موڑ کے مقامات کو یاد کرنے سے بچیں۔
یہ حکمت عملی ایک عام انکولی رجحان کے بعد کے نظام کے لئے اے ٹی آر ، آر ایس آئی اور ٹریلنگ اسٹاپ نقصان کو مربوط کرتی ہے۔ پیرامیٹر ٹوننگ کے ذریعے اسے مختلف تجارتی مصنوعات کے مطابق لچکدار طریقے سے ڈھال لیا جاسکتا ہے ، ایک تجویز کردہ عالمی رجحان کے بعد کی حکمت عملی ہے۔ مزید فیصلوں اور مشین لرننگ کی اصلاح کے ساتھ یہ اور بھی بہتر کارکردگی حاصل کرسکتا ہے۔
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-19 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title="UTBot Strategy", overlay = true ) // CREDITS to @HPotter for the orginal code. // CREDITS to @Yo_adriiiiaan for recently publishing the UT Bot study based on the original code - // CREDITS to @TradersAITradingPlans for making this Strategy. // Strategy fixed with Time period by Kirk65. // I am using this UT bot with 2 hours time frame with god resultss. Alert with "Once per bar" and stoploss 1.5%. If Alerts triggered and price goes against Alert. Stoploss will catch it. Wait until next Alert. // While @Yo_adriiiiaan mentions it works best on a 4-hour timeframe or above, witch is a lot less risky, but less profitable. testStartYear = input(2019, "BACKTEST START YEAR", minval = 1980, maxval = 2222) testStartMonth = input(01, "BACKTEST START MONTH", minval = 1, maxval = 12) testStartDay = input(01, "BACKTEST START DAY", minval = 1, maxval = 31) testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testStopYear = input(2222, "BACKTEST STOP YEAR", minval=1980, maxval = 2222) testStopMonth = input(12, "BACKTEST STOP MONTH", minval=1, maxval=12) testStopDay = input(31, "BACKTEST STOP DAY", minval=1, maxval=31) testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0) testPeriod = true SOURCE = input(hlc3) RSILENGTH = input(14, title = "RSI LENGTH") RSICENTERLINE = input(52, title = "RSI CENTER LINE") MACDFASTLENGTH = input(7, title = "MACD FAST LENGTH") MACDSLOWLENGTH = input(12, title = "MACD SLOW LENGTH") MACDSIGNALSMOOTHING = input(12, title = "MACD SIGNAL SMOOTHING") a = input(10, title = "Key Vaule. 'This changes the sensitivity'") SmoothK = input(3) SmoothD = input(3) LengthRSI = input(14) LengthStoch = input(14) RSISource = input(close) c = input(10, title="ATR Period") xATR = atr(c) nLoss = a * xATR xATRTrailingStop = iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close - nLoss), iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss), iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss))) pos = iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1, iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) color = pos == -1 ? red: pos == 1 ? green : blue ema= ema(close,1) above = crossover(ema,xATRTrailingStop ) below = crossover(xATRTrailingStop,ema) buy = close > xATRTrailingStop and above sell = close < xATRTrailingStop and below barbuy = close > xATRTrailingStop barsell = close < xATRTrailingStop plotshape(buy, title = "Buy", text = 'Buy', style = shape.labelup, location = location.belowbar, color= green,textcolor = white, transp = 0, size = size.tiny) plotshape(sell, title = "Sell", text = 'Sell', style = shape.labeldown, location = location.abovebar, color= red,textcolor = white, transp = 0, size = size.tiny) barcolor(barbuy? green:na) barcolor(barsell? red:na) //alertcondition(buy, title='Buy', message='Buy') //alertcondition(sell, title='Sell', message='Sell') if (buy) strategy.entry("UTBotBuy",strategy.long, when=testPeriod) if (sell) strategy.entry("UTBotSell",strategy.short, when=testPeriod)