اس حکمت عملی میں متحرک اشارے کو نسبتا strong مضبوط اشارے ((آر ایس آئی) کے ساتھ جوڑا جاتا ہے ، جس میں ٹریلنگ اسٹاپ نقصان کے طریقہ کار کی مدد کی جاتی ہے ، جس کا مقصد رجحان کی سمت کو پکڑنا ہے ، جبکہ خطرے پر قابو رکھنا ہے۔ جب قیمت میں مضبوط رفتار ہوتی ہے تو ، زیادہ خریدیں؛ جب قیمت میں کمزوری ہوتی ہے تو ، بیچ دیں۔ اس حکمت عملی میں ایک اسٹاپ نقصان کی شرط بھی رکھی گئی ہے ، جس میں ٹریلنگ اسٹاپ نقصان کو زیادہ سے زیادہ منافع کی سطح کی پیروی کرنے کے لئے استعمال کیا جاتا ہے ، جس سے منافع کو لاک کرنے اور نقصان کو کم کرنے کے قابل ہوتا ہے۔
متحرک اشارے ADX کا استعمال کرتے ہوئے قیمت کے رجحان کی سمت کا تعین کرنا
ADX 20 سے زیادہ رجحان کا اشارہ کرتا ہے
جب +DI لائن پر DI لائن کو پار کرتے وقت اشارے کے لئے دیکھو
جب -DI لائن کے نیچے +DI لائن سے گزرے تو اس کے لئے نیچے جانے کا اشارہ
RSI اشارے نے اوور بیو اور اوور سیلنگ کا فیصلہ کیا
RSI 70 سے اوپر خریدنے کے لئے زیادہ ہے، نیچے جانے کا اشارہ
RSI 30 سے نیچے oversold علاقے کے لئے ایک اشارہ ہے
جب ADX کا فیصلہ ہوتا ہے کہ رجحان موجود ہے ، اور RSI اشارے نے تصدیق کا اشارہ دیا ہے تو ، اسی طرح کے فاریکس آپریشنز کیے جاتے ہیں۔
حکمت عملی میں متحرک طور پر ایڈجسٹ کرنے کے لئے ایک تعاقب روکنے کا طریقہ کار شامل ہے جس میں دو پیرامیٹرز شامل ہیں:
ایکٹیویشن تناسب: پوزیشن کھولنے کے بعد قیمت مقررہ تناسب تک پہنچنے پر ایکٹیویشن کے بعد اسٹاپ نقصان
ٹریلنگ تناسب: ٹریلنگ اسٹاپ نقصان کا تناسب حالیہ اعلی ترین منافع سے فاصلہ
جب قیمت ایکٹیویشن کی شرائط تک پہنچ جاتی ہے تو ، اسٹاپ نقصان کی لائن کو ٹریک کیا جاتا ہے۔ جب قیمت پیچھے ہٹتی ہے تو ، اسٹاپ نقصان کی لائن اس کے نیچے منتقل ہوجاتی ہے۔ اگر پیچھے ہٹنے کی پیمائش سیٹ ٹریکنگ تناسب سے زیادہ ہے تو ، اسٹاپ نقصان کی لائن کو متحرک کیا جاتا ہے اور تمام پوزیشنوں کو بند کردیا جاتا ہے۔
ڈرائیونگ انڈیکس رجحانات کی سمت کا تعین کرتے ہیں تاکہ کاروباری اداروں کی کوششوں کو روکنے کے لۓ
RSI اشارے اس بات کو یقینی بناتے ہیں کہ واپسی کے مواقع سے محروم نہ ہوں
منافع کو لاک کرنے اور نقصان کو کم کرنے کے لئے روکنے کے نقصانات کو ٹریک کرنے کے قابل
حکمت عملی واضح، جامع اور آسانی سے سمجھنے کے قابل ہے
مختلف مارکیٹوں اور وقت کے دوروں کے لئے وسیع پیمانے پر قابل اطلاق
ADX نے غلط سگنل کے نتیجے میں جعلی توڑ کا فیصلہ کیا
RSI کئی بار غلط سگنل پیدا
ایڈجسٹ نقصان کی پیرامیٹرز کی غلط ترتیب
بڑے پیمانے پر ہوائی اڈے کو روکنے کے لئے مشکل
مختلف ADX اور RSI پیرامیٹرز کے مجموعے کو بہتر بنانے کے لئے داخلہ کی جانچ
بہترین پیرامیٹرز کے لئے مختلف سٹاپ نقصان کی سرگرمی کے پوائنٹس اور ٹریکنگ کی شدت کا پتہ لگانا
سگنل کے معیار کو بہتر بنانے کے لئے فلٹرنگ پر غور کریں
عام پیرامیٹرز کی ترتیبات کا تعین کرنے کے لئے مختلف مارکیٹوں کی جانچ
اس حکمت عملی میں متحرک تجزیہ ، آر ایس آئی اشارے اور تعقیبی اسٹاپ نقصان کا طریقہ کار شامل ہے ، جو رجحان کی سمت کو مؤثر طریقے سے فیصلہ کرنے ، الٹ پوائنٹس کی شناخت اور تجارتی خطرات کو کنٹرول کرنے کے قابل ہے۔ حکمت عملی کا نظریہ واضح ہے ، اس پر عمل درآمد آسان ہے ، اور اسٹاک ، غیر ملکی کرنسی ، ڈیجیٹل کرنسی اور دیگر مارکیٹوں میں رجحان کی تجارت کے لئے وسیع پیمانے پر استعمال کیا جاسکتا ہے۔ پیرامیٹرز کو بہتر بنانے اور اشارے کو فلٹر کرنے کے ذریعے حکمت عملی کی کارکردگی کو مزید بہتر بنایا جاسکتا ہے۔ یہ حکمت عملی تاجروں کو ایک سادہ اور قابل اعتماد مقداری تجارتی پروگرام فراہم کرتی ہے۔
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-03 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Trailing Stop with RSI", overlay=true)
length = input.int(12, "Momentum Length")
price = close
momentum(seria, length) =>
mom = seria - seria[length]
mom
mom0 = momentum(price, length)
mom1 = momentum(mom0, 1)
rsiLength = input.int(14, "RSI Length")
rsiOverbought = input(70, "RSI Overbought Level")
rsiOversold = input(30, "RSI Oversold Level")
rsiValue = ta.rsi(close, rsiLength)
tsact = input.float(0.0, "Trailing Stop Activation (%)", group="strategy", tooltip="Activates the Trailing Stop once this PnL is reached.") / 100
tsact := tsact ? tsact : na
ts = input.float(0.0, "Position Trailing Stop (%)", group="strategy", tooltip="Trails your position with a stop loss at this distance from the highest PnL") / 100
ts := ts ? ts : na
in_long = strategy.position_size > 0
in_short = strategy.position_size < 0
var ts_ = array.new_float()
ts_size = array.size(ts_)
ts_get = ts_size > 0 ? array.get(ts_, ts_size - 1) : 0
if in_long
if tsact and high > strategy.position_avg_price + strategy.position_avg_price * tsact
if ts_size > 0 and ts_get < high
array.push(ts_, high)
if ts_size < 1
array.push(ts_, high)
if not tsact
if ts_size > 0 and ts_get < high
array.push(ts_, high)
if ts_size < 1
array.push(ts_, high)
if in_short
if tsact and low < strategy.position_avg_price - strategy.position_avg_price * tsact
if ts_size > 0 and ts_get > low
array.push(ts_, low)
if ts_size < 1
array.push(ts_, low)
if not tsact
if ts_size > 0 and ts_get > low
array.push(ts_, low)
if ts_size < 1
array.push(ts_, low)
trail = in_long and ts_size > 0 ? low < ts_get - ts_get * ts : in_short and ts_size > 0 ? high > ts_get + ts_get * ts : na
if (mom0 > 0 and mom1 > 0)
strategy.entry("MomLE", strategy.long, stop=high+syminfo.mintick, comment="MomLE")
else
strategy.cancel("MomLE")
if (mom0 < 0 and mom1 < 0)
strategy.entry("MomSE", strategy.short, stop=low-syminfo.mintick, comment="MomSE")
else
strategy.cancel("MomSE")
tsClose = in_long ? ts_get - ts_get * ts : in_short ? ts_get + ts_get * ts : na
if trail
strategy.close_all()
if not strategy.opentrades
array.clear(ts_)
rsiOverboughtCondition = rsiValue >= rsiOverbought
rsiOversoldCondition = rsiValue <= rsiOversold
if rsiOverboughtCondition
strategy.close("SHORT", "SX")
strategy.entry("LONG", strategy.long)
if rsiOversoldCondition
strategy.close("LONG", "LX")
strategy.entry("SHORT", strategy.short)
plotchar(ts_get, "GET", "")
plot(strategy.position_avg_price > 0 ? strategy.position_avg_price : na, "Average", color.rgb(251, 139, 64), 2, plot.style_cross)
plot(tsClose > 0 ? tsClose : na, "Trailing", color.rgb(251, 64, 64), 2, plot.style_cross)
plot(strategy.position_avg_price - strategy.position_avg_price * tsact > 0 ? strategy.position_avg_price - strategy.position_avg_price * tsact : na, "TS Activation", color.fuchsia, 2, plot.style_cross)