ایڈپٹیو موونگ اسٹاپ موونگ اوسط ٹریڈنگ کی حکمت عملی


تخلیق کی تاریخ: 2024-02-21 16:07:20 آخر میں ترمیم کریں: 2024-02-21 16:07:20
کاپی: 1 کلکس کی تعداد: 687
1
پر توجہ دیں
1617
پیروکار

ایڈپٹیو موونگ اسٹاپ موونگ اوسط ٹریڈنگ کی حکمت عملی

جائزہ

اس حکمت عملی کا بنیادی خیال یہ ہے کہ T3 میڈین لائن اور اے ٹی آر کو ٹریڈ ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹولز ٹریڈنگ ٹ

حکمت عملی کا اصول

اس حکمت عملی میں بنیادی طور پر T3 اوسط اشارے ، اے ٹی آر اشارے اور اے ٹی آر موبائل اسٹاپ نقصان کا طریقہ کار شامل ہے۔

T3 اوسط ایک حرکت پذیر اوسط ہے جس میں ہموار ہے ، جس سے منحنی خطوط کی تاخیر کو کم کیا جاسکتا ہے ، جس سے قیمت میں ہونے والی تبدیلیوں پر زیادہ تیزی سے رد عمل ظاہر ہوتا ہے۔ جب قیمت اوسط سے نیچے کی طرف سے ٹوٹ جاتی ہے تو ، خریدنے کا اشارہ پیدا ہوتا ہے۔ جب قیمت اوسط سے اوپر کی طرف سے ٹوٹ جاتی ہے تو ، فروخت کا اشارہ پیدا ہوتا ہے۔

اے ٹی آر اشارے کا استعمال مارکیٹ میں اتار چڑھاؤ کی مقدار کا حساب لگانے اور اسٹاپ نقصان کی حد طے کرنے کے لئے کیا جاتا ہے۔ اے ٹی آر قدر جتنی بڑی ہے ، اس کا مطلب ہے کہ مارکیٹ میں اتار چڑھاؤ اتنا ہی بڑا ہے ، اس وقت وسیع تر اسٹاپ لگانے کی ضرورت ہے۔ اے ٹی آر قدر جتنی چھوٹی ہے ، اس کا مطلب ہے کہ مارکیٹ میں اتار چڑھاؤ اتنا ہی چھوٹا ہے ، اس سے تنگ تر اسٹاپ لگانے کی ضرورت ہے۔

اے ٹی آر موبائل اسٹاپ میکانیزم ، اے ٹی آر قدر کے مطابق اسٹاپ لائن کی پوزیشن کو ریئل ٹائم میں ایڈجسٹ کرنا ہے ، تاکہ اسٹاپ لائن قیمت کے ساتھ چل سکے اور معقول حد تک رہ سکے۔ اس طرح نہ صرف اسٹاپ فاصلہ کو زیادہ قریب سے ہلا دیا جائے گا ، بلکہ اسٹاپ فاصلہ کو زیادہ وسیع کرنے سے بھی خطرہ کو مؤثر طریقے سے کنٹرول نہیں کیا جاسکتا ہے۔

T3 اشارے کی سمت کا تعین کرنے ، اے ٹی آر اشارے کے حساب سے اتار چڑھاؤ اور اے ٹی آر موبائل اسٹاپ میکانیزم کا استعمال کرتے ہوئے ، اس حکمت عملی سے اعلی کارکردگی کا رجحان پکڑنے اور خطرے پر قابو پانے کا امکان ہے۔

فوائد

یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:

  1. T3 اوسط لائن کے استعمال سے رجحانات کی گرفتاری کی درستگی میں اضافہ ہوا ہے۔

  2. اے ٹی آر اشارے متحرک طور پر مارکیٹ میں اتار چڑھاؤ کی شرح ، اسٹاپ نقصان اور اسٹاپ پوزیشن کا حساب لگانا زیادہ معقول ہے۔

  3. اے ٹی آر موبائل اسٹاپ نقصان کا طریقہ کار ہے ، جس سے اسٹاپ لائن کو قیمتوں کے ساتھ حقیقی وقت میں چلانے کی اجازت ملتی ہے ، جو خطرے کو مؤثر طریقے سے کنٹرول کرتی ہے۔

  4. اشارے کے فیصلے اور روکنے کے طریقہ کار کو مربوط کریں ، اور رجحانات کی ٹریڈنگ کو خودکار بنائیں۔

  5. ویب ہاک کے ذریعے بیرونی ٹریڈنگ پلیٹ فارم سے منسلک ہو کر خودکار آرڈرنگ ممکن ہے۔

خطرات اور حل

اس حکمت عملی کے کچھ خطرات بھی ہیں:

  1. T3 اوسط لکیری پیرامیٹرز کو غلط ترتیب دیا گیا ہے ، اور اس سے بہتر رجحان کے مواقع ضائع ہوسکتے ہیں۔ آپ مختلف ادوار کے پیرامیٹرز کی جانچ کر سکتے ہیں تاکہ بہترین پیرامیٹرز تلاش کریں۔

  2. اے ٹی آر کی قیمت کا حساب کتاب غلط ہے ، روکنے کا فاصلہ بہت بڑا یا بہت چھوٹا ہے ، جو خطرے کو مؤثر طریقے سے کنٹرول نہیں کرسکتا ہے۔ اے ٹی آر سائیکل پیرامیٹرز کو مارکیٹ میں اتار چڑھاؤ کی خصوصیات کے ساتھ جوڑ کر ایڈجسٹ کیا جاسکتا ہے۔

  3. شدید اتار چڑھاو کے دوران ، اسٹاپ نقصان کی لائن کو توڑ دیا جاسکتا ہے جس کی وجہ سے ضرورت سے زیادہ نقصان ہوتا ہے۔ ایک معقول مجموعی نقصان کی لائن ترتیب دی جاسکتی ہے ، تاکہ انفرادی نقصانات کو زیادہ سے زیادہ سے بچایا جاسکے۔

  4. دو طرفہ بار بار چلنے والی صورتحال میں ، اس صورت میں ہوسکتا ہے کہ اسٹاپ نقصانات کو کثرت سے متحرک کیا جائے۔ اے ٹی آر کو موزوں طور پر اسٹاپ نقصانات کے فاصلے کو چھوڑنے کی اجازت دی جاسکتی ہے۔

اصلاح کی سمت

اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:

  1. T3 میڈین لائن پیرامیٹرز کو بہتر بنانے کے لئے ، مناسب ترین ہموار دوروں کو تلاش کریں۔

  2. مختلف اے ٹی آر سائیکل پیرامیٹرز کی جانچ کریں اور اے ٹی آر کی قیمت کا حساب لگائیں جو مارکیٹ میں اتار چڑھاؤ کی بہترین عکاسی کرتی ہے۔

  3. اے ٹی آر کے متحرک اسٹاپ نقصان کے فاصلے کے لچکدار فاصلے کو بہتر بنائیں ، تاکہ اسٹاپ نقصان کو زیادہ حساس نہ بنایا جاسکے۔

  4. مناسب فلٹرنگ کے حالات کو شامل کریں تاکہ مارکیٹ میں بار بار تجارت سے بچنے کے لئے.

  5. رجحانات کی پیمائش کرنے والے اشارے کے ساتھ مل کر ، منافع بخش سمت کی پیمائش کی درستگی کو بہتر بنائیں۔

  6. مشین سیکھنے کے طریقوں کا استعمال کرتے ہوئے پیرامیٹرز کو خود کار طریقے سے بہتر بنائیں۔

خلاصہ کریں۔

اس حکمت عملی میں 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')