
اس حکمت عملی کا بنیادی خیال یہ ہے کہ T3 میڈین لائن اور اے ٹی آر کو ٹریڈ ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹ
اس حکمت عملی میں بنیادی طور پر T3 اوسط اشارے ، اے ٹی آر اشارے اور اے ٹی آر موبائل اسٹاپ نقصان کا طریقہ کار شامل ہے۔
T3 اوسط ایک حرکت پذیر اوسط ہے جس میں ہموار ہے ، جس سے منحنی خطوط کی تاخیر کو کم کیا جاسکتا ہے ، جس سے قیمت میں ہونے والی تبدیلیوں پر زیادہ تیزی سے رد عمل ظاہر ہوتا ہے۔ جب قیمت اوسط سے نیچے کی طرف سے ٹوٹ جاتی ہے تو ، خریدنے کا اشارہ پیدا ہوتا ہے۔ جب قیمت اوسط سے اوپر کی طرف سے ٹوٹ جاتی ہے تو ، فروخت کا اشارہ پیدا ہوتا ہے۔
اے ٹی آر اشارے کا استعمال مارکیٹ میں اتار چڑھاؤ کی مقدار کا حساب لگانے اور اسٹاپ نقصان کی حد طے کرنے کے لئے کیا جاتا ہے۔ اے ٹی آر قدر جتنی بڑی ہے ، اس کا مطلب ہے کہ مارکیٹ میں اتار چڑھاؤ اتنا ہی بڑا ہے ، اس وقت وسیع تر اسٹاپ لگانے کی ضرورت ہے۔ اے ٹی آر قدر جتنی چھوٹی ہے ، اس کا مطلب ہے کہ مارکیٹ میں اتار چڑھاؤ اتنا ہی چھوٹا ہے ، اس سے تنگ تر اسٹاپ لگانے کی ضرورت ہے۔
اے ٹی آر موبائل اسٹاپ میکانیزم ، اے ٹی آر قدر کے مطابق اسٹاپ لائن کی پوزیشن کو ریئل ٹائم میں ایڈجسٹ کرنا ہے ، تاکہ اسٹاپ لائن قیمت کے ساتھ چل سکے اور معقول حد تک رہ سکے۔ اس طرح نہ صرف اسٹاپ فاصلہ کو زیادہ قریب سے ہلا دیا جائے گا ، بلکہ اسٹاپ فاصلہ کو زیادہ وسیع کرنے سے بھی خطرہ کو مؤثر طریقے سے کنٹرول نہیں کیا جاسکتا ہے۔
T3 اشارے کی سمت کا تعین کرنے ، اے ٹی آر اشارے کے حساب سے اتار چڑھاؤ اور اے ٹی آر موبائل اسٹاپ میکانیزم کا استعمال کرتے ہوئے ، اس حکمت عملی سے اعلی کارکردگی کا رجحان پکڑنے اور خطرے پر قابو پانے کا امکان ہے۔
یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:
T3 اوسط لائن کے استعمال سے رجحانات کی گرفتاری کی درستگی میں اضافہ ہوا ہے۔
اے ٹی آر اشارے متحرک طور پر مارکیٹ میں اتار چڑھاؤ کی شرح ، اسٹاپ نقصان اور اسٹاپ پوزیشن کا حساب لگانا زیادہ معقول ہے۔
اے ٹی آر موبائل اسٹاپ نقصان کا طریقہ کار ہے ، جس سے اسٹاپ لائن کو قیمتوں کے ساتھ حقیقی وقت میں چلانے کی اجازت ملتی ہے ، جو خطرے کو مؤثر طریقے سے کنٹرول کرتی ہے۔
اشارے کے فیصلے اور روکنے کے طریقہ کار کو مربوط کریں ، اور رجحانات کی ٹریڈنگ کو خودکار بنائیں۔
ویب ہاک کے ذریعے بیرونی ٹریڈنگ پلیٹ فارم سے منسلک ہو کر خودکار آرڈرنگ ممکن ہے۔
اس حکمت عملی کے کچھ خطرات بھی ہیں:
T3 اوسط لکیری پیرامیٹرز کو غلط ترتیب دیا گیا ہے ، اور اس سے بہتر رجحان کے مواقع ضائع ہوسکتے ہیں۔ آپ مختلف ادوار کے پیرامیٹرز کی جانچ کر سکتے ہیں تاکہ بہترین پیرامیٹرز تلاش کریں۔
اے ٹی آر کی قیمت کا حساب کتاب غلط ہے ، روکنے کا فاصلہ بہت بڑا یا بہت چھوٹا ہے ، جو خطرے کو مؤثر طریقے سے کنٹرول نہیں کرسکتا ہے۔ اے ٹی آر سائیکل پیرامیٹرز کو مارکیٹ میں اتار چڑھاؤ کی خصوصیات کے ساتھ جوڑ کر ایڈجسٹ کیا جاسکتا ہے۔
شدید اتار چڑھاو کے دوران ، اسٹاپ نقصان کی لائن کو توڑ دیا جاسکتا ہے جس کی وجہ سے ضرورت سے زیادہ نقصان ہوتا ہے۔ ایک معقول مجموعی نقصان کی لائن ترتیب دی جاسکتی ہے ، تاکہ انفرادی نقصانات کو زیادہ سے زیادہ سے بچایا جاسکے۔
دو طرفہ بار بار چلنے والی صورتحال میں ، اس صورت میں ہوسکتا ہے کہ اسٹاپ نقصانات کو کثرت سے متحرک کیا جائے۔ اے ٹی آر کو موزوں طور پر اسٹاپ نقصانات کے فاصلے کو چھوڑنے کی اجازت دی جاسکتی ہے۔
اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
T3 میڈین لائن پیرامیٹرز کو بہتر بنانے کے لئے ، مناسب ترین ہموار دوروں کو تلاش کریں۔
مختلف اے ٹی آر سائیکل پیرامیٹرز کی جانچ کریں اور اے ٹی آر کی قیمت کا حساب لگائیں جو مارکیٹ میں اتار چڑھاؤ کی بہترین عکاسی کرتی ہے۔
اے ٹی آر کے متحرک اسٹاپ نقصان کے فاصلے کے لچکدار فاصلے کو بہتر بنائیں ، تاکہ اسٹاپ نقصان کو زیادہ حساس نہ بنایا جاسکے۔
مناسب فلٹرنگ کے حالات کو شامل کریں تاکہ مارکیٹ میں بار بار تجارت سے بچنے کے لئے.
رجحانات کی پیمائش کرنے والے اشارے کے ساتھ مل کر ، منافع بخش سمت کی پیمائش کی درستگی کو بہتر بنائیں۔
مشین سیکھنے کے طریقوں کا استعمال کرتے ہوئے پیرامیٹرز کو خود کار طریقے سے بہتر بنائیں۔
اس حکمت عملی میں T3 اوسط لائن کا استعمال کرتے ہوئے رجحان کی سمت کا تعین کرنے ، اے ٹی آر اشارے کے حساب سے اسٹاپ نقصان کی روک تھام اور اے ٹی آر موبائل اسٹاپ نقصان کے طریقہ کار کو روکنے کے فاصلے کو ایڈجسٹ کرنے ، رجحانات کی خود کار طریقے سے پیروی کرنے اور موثر خطرے کے کنٹرول کے ل. ، ایک قابل اعتماد رجحان سے باخبر رہنے کی حکمت عملی ہے۔ عملی طور پر ، موجودہ مارکیٹ کے ماحول کے لئے موزوں ترین پیرامیٹرز کا مجموعہ تلاش کرنے کے لئے مسلسل جانچ اور اصلاح کی ضرورت ہے ، تاکہ حکمت عملی کا بہترین اثر حاصل کیا جاسکے۔
/*backtest
start: 2024-01-21 00:00:00
end: 2024-02-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title='UT Bot Alerts (QuantNomad) Strategy', overlay=true)
T3 = input(100)//600
// Input for Long Settings
// Input for Long Settings
xPrice3 = close
xe1 = ta.ema(xPrice3, T3)
xe2 = ta.ema(xe1, T3)
xe3 = ta.ema(xe2, T3)
xe4 = ta.ema(xe3, T3)
xe5 = ta.ema(xe4, T3)
xe6 = ta.ema(xe5, T3)
b3 = 0.7
c1 = -b3*b3*b3
c2 = 3*b3*b3+3*b3*b3*b3
c3 = -6*b3*b3-3*b3-3*b3*b3*b3
c4 = 1+3*b3+b3*b3*b3+3*b3*b3
nT3Average = c1 * xe6 + c2 * xe5 + c3 * xe4 + c4 * xe3
//plot(nT3Average, color=color.white, title="T3")
// Buy Signal - Price is below T3 Average
buySignal3 = xPrice3 < nT3Average
sellSignal3 = xPrice3 > nT3Average
// Inputs
a = input(1, title='Key Value. "This changes the sensitivity"')
c = input(50, title='ATR Period')
h = input(true, title='Signals from Heikin Ashi Candles')
riskRewardRatio = input(1, title='Risk Reward Ratio')
xATR = ta.atr(c)
nLoss = a * xATR
src = h ? request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close, lookahead=barmerge.lookahead_off) : close
xATRTrailingStop = 0.0
iff_1 = src > nz(xATRTrailingStop[1], 0) ? src - nLoss : src + nLoss
iff_2 = src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0) ? math.min(nz(xATRTrailingStop[1]), src + nLoss) : iff_1
xATRTrailingStop := src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0) ? math.max(nz(xATRTrailingStop[1]), src - nLoss) : iff_2
pos = 0
iff_3 = src[1] > nz(xATRTrailingStop[1], 0) and src < nz(xATRTrailingStop[1], 0) ? -1 : nz(pos[1], 0)
pos := src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0) ? 1 : iff_3
xcolor = pos == -1 ? color.red : pos == 1 ? color.green : color.blue
ema = ta.ema(src, 1)
above = ta.crossover(ema, xATRTrailingStop)
below = ta.crossunder(ema, xATRTrailingStop)
buy = src > xATRTrailingStop and above
sell = src < xATRTrailingStop and below
barbuy = src > xATRTrailingStop
barsell = src < xATRTrailingStop
plotshape(buy, title='Buy', text='Buy', style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), textcolor=color.new(color.white, 0), size=size.tiny)
plotshape(sell, title='Sell', text='Sell', style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), textcolor=color.new(color.white, 0), size=size.tiny)
barcolor(barbuy ? color.new(color.green, 90) : na)
barcolor(barsell ? color.new(color.red, 90) : na)
var float entryPrice = na
var float takeProfitLong = na
var float stopLossLong = na
var float takeProfitShort = na
var float stopLossShort = na
if buy and buySignal3
entryPrice := src
takeProfitLong := entryPrice + nLoss * riskRewardRatio
stopLossLong := entryPrice - nLoss
takeProfitShort := na
stopLossShort := na
if sell and sellSignal3
entryPrice := src
takeProfitShort := entryPrice - nLoss * riskRewardRatio
stopLossShort := entryPrice + nLoss
takeProfitLong := na
stopLossLong := na
// Strategy order conditions
acct = "Sim101"
ticker = "ES 12-23"
qty = 1
OCOMarketLong = '{ "alert": "OCO Market Long", "account": "' + str.tostring(acct) + '", "ticker": "' + str.tostring(ticker) + '", "qty": "' + str.tostring(qty) + '", "take_profit_price": "' + str.tostring(takeProfitLong) + '", "stop_price": "' + str.tostring(stopLossLong) + '", "tif": "DAY" }'
OCOMarketShort = '{ "alert": "OCO Market Short", "account": "' + str.tostring(acct) + '", "ticker": "' + str.tostring(ticker) + '", "qty": "' + str.tostring(qty) + '", "take_profit_price": "' + str.tostring(takeProfitShort) + '", "stop_price": "' + str.tostring(stopLossShort) + '", "tif": "DAY" }'
CloseAll = '{ "alert": "Close All", "account": "' + str.tostring(acct) + '", "ticker": "' + str.tostring(ticker) + '" }'
strategy.entry("Long", strategy.long, when=buy and buySignal3, alert_message=OCOMarketLong)
strategy.entry("Short", strategy.short, when=sell and sellSignal3, alert_message=OCOMarketShort)
// Setting the take profit and stop loss for long trades
strategy.exit("Take Profit/Stop Loss", "Long", stop=stopLossLong, limit=takeProfitLong,alert_message=CloseAll)
// Setting the take profit and stop loss for short trades
strategy.exit("Take Profit/Stop Loss", "Short", stop=stopLossShort, limit=takeProfitShort,alert_message=CloseAll)
// Plot trade setup boxes
bgcolor(buy ? color.new(color.green, 90) : na, transp=0, offset=-1)
bgcolor(sell ? color.new(color.red, 90) : na, transp=0, offset=-1)
longCondition = buy and not na(entryPrice)
shortCondition = sell and not na(entryPrice)
// var line longTakeProfitLine = na
// var line longStopLossLine = na
// var line shortTakeProfitLine = na
// var line shortStopLossLine = na
// if longCondition
// longTakeProfitLine := line.new(bar_index, takeProfitLong, bar_index + 1, takeProfitLong, color=color.green, width=2)
// longStopLossLine := line.new(bar_index, stopLossLong, bar_index + 1, stopLossLong, color=color.red, width=2)
// // label.new(bar_index + 1, takeProfitLong, str.tostring(takeProfitLong, "#.#####"), color=color.green, style=label.style_none, textcolor=color.green, size=size.tiny)
// // label.new(bar_index + 1, stopLossLong, str.tostring(stopLossLong, "#.#####"), color=color.red, style=label.style_none, textcolor=color.red, size=size.tiny)
// if shortCondition
// shortTakeProfitLine := line.new(bar_index, takeProfitShort, bar_index + 1, takeProfitShort, color=color.green, width=2)
// shortStopLossLine := line.new(bar_index, stopLossShort, bar_index + 1, stopLossShort, color=color.red, width=2)
// // label.new(bar_index + 1, takeProfitShort, str.tostring(takeProfitShort, "#.#####"), color=color.green, style=label.style_none, textcolor=color.green, size=size.tiny)
// // label.new(bar_index + 1, stopLossShort, str.tostring(stopLossShort, "#.#####"), color=color.red, style=label.style_none, textcolor=color.red, size=size.tiny)
alertcondition(buy, 'UT Long', 'UT Long')
alertcondition(sell, 'UT Short', 'UT Short')