طویل اور مختصر ڈبل پیش رفت کی حکمت عملی


تخلیق کی تاریخ: 2023-11-03 17:16:02 آخر میں ترمیم کریں: 2023-11-03 17:16:02
کاپی: 1 کلکس کی تعداد: 623
1
پر توجہ دیں
1617
پیروکار

طویل اور مختصر ڈبل پیش رفت کی حکمت عملی

جائزہ

اس حکمت عملی میں برن بینڈ اشارے کا استعمال کیا جاتا ہے تاکہ پلاسٹک بریک پوائنٹس کو تلاش کیا جاسکے اور اس کے ساتھ ساتھ ایڈ ایکس اشارے کے ساتھ مل کر نیچے کی اتار چڑھاؤ کو فلٹر کرنے کے لئے ، رجحانات کی پیروی کی جاسکتی ہے۔

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

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

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

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

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

طاقت کا تجزیہ

  • ٹرینڈ مواقع کو پکڑنے کے لئے برن بینڈ کے ذریعہ واضح کثیر خلائی نقطہ نظر کا استعمال کریں
  • جامع ADX اشارے کو فلٹر کریں ، جب واضح رجحان نہ ہو تو لہروں کے بہاؤ سے گریز کریں
  • نقصانات کو مؤثر طریقے سے کنٹرول کرنے کے لئے نقصانات کو روکنا
  • اوپر کی طرف ٹریکنگ سٹاپس زیادہ تر منافع کو لاک کر سکتے ہیں

خطرے کا تجزیہ

  • برن بیلٹ کی توڑ پھوڑ نے توانائی کی مقدار کو مدنظر نہیں رکھا ، جس سے جھوٹی توڑ پھوڑ ہوسکتی ہے۔
  • ADX فلٹرنگ غلط فیصلے سے رجحانات کے مواقع ضائع ہوسکتے ہیں
  • سٹاپ نقصان سٹاپ سے زیادہ قریب ہو سکتا ہے
  • غلط پیرامیٹرز کی ترتیب بھی حکمت عملی کی کارکردگی کو متاثر کرتی ہے

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

اصلاح کی سمت

  • برن بینڈ لمبائی پیرامیٹرز کو بہتر بنانے کے لئے تلاش کریں
  • ADX فلٹرنگ کے حالات کو بہتر بنانا ، رجحانات کے فیصلے اور غلطی کی شرح کو متوازن کرنا
  • دوسرے اشارے شامل کرنے سے جعلی کامیابیوں سے بچنے میں مدد ملتی ہے
  • زیادہ سے زیادہ موڑنے والے نقصان کی حد کو بہتر بنانا تاکہ زیادہ حساس ہونے سے بچایا جاسکے
  • ٹریک روکنے کی حد کو بہتر بنائیں ، مناسب فاصلے پر کھینچیں

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-10-26 00:00:00
end: 2023-11-02 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tweakerID

// This strategy uses Bollinger Bands to buy when the price 
// crosses over the lower band and sell when it crosses down
// the upper band. It only takes trades when the ADX is 
// below a certain level, and exits all trades when it's above it.

//@version=4
strategy("BB + ADX Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_value = 0.04, initial_capital=100)

//Inputs
i_reverse=input(false, title="Reverse Trades")
i_ADXClose=input(true, title="ADX Close")
i_SL=input(false, title="Use Swing Lo/Hi Stop Loss & Take Profit")
i_SwingLookback=input(20, title="Swing Lo/Hi Lookback")
i_SLExpander=input(defval=0, step=.5, title="SL Expander")
i_TPExpander=input(defval=0, step=.5, title="TP Expander")

//ADX Calculations
adxlen = input(14, title="ADX Smoothing")
dilen = input(20, title="DI Length")
dirmov(len) =>
	up = change(high)
	down = -change(low)
	plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
	minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
	truerange = rma(tr, len)
	plus = fixnan(100 * rma(plusDM, len) / truerange)
	minus = fixnan(100 * rma(minusDM, len) / truerange)
	[plus, minus]
adx(dilen, adxlen) =>
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)
adxlevel=input(30, step=5)

//BB Calculations
BBCALC=input(false, title="-----------BB Inputs-----------")

length = input(20, minval=1)
mult = input(2.0, minval=0.001, maxval=50)
MAlen=input(defval=9)
source = close
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev

//Entry Logic
BUY = crossover(source, lower) and sig < adxlevel
SELL = crossunder(source, upper) and sig < adxlevel

//SL & TP Calculations
SwingLow=lowest(i_SwingLookback)
SwingHigh=highest(i_SwingLookback)
bought=strategy.position_size != strategy.position_size[1]
LSL=valuewhen(bought, SwingLow, 0)-((valuewhen(bought, atr(14), 0))*i_SLExpander)
SSL=valuewhen(bought, SwingHigh, 0)+((valuewhen(bought, atr(14), 0))*i_SLExpander)
lTP=strategy.position_avg_price + (strategy.position_avg_price-(valuewhen(bought, SwingLow, 0))+((valuewhen(bought, atr(14), 0))*i_TPExpander))
sTP=strategy.position_avg_price - (valuewhen(bought, SwingHigh, 0)-strategy.position_avg_price)-((valuewhen(bought, atr(14), 0))*i_TPExpander)
islong=strategy.position_size > 0
isshort=strategy.position_size < 0
SL= islong ? LSL : isshort ? SSL : na
TP= islong ? lTP : isshort ? sTP : na

//Entries
strategy.entry("long", long=i_reverse?false:true, when=BUY)
strategy.entry("short", long=i_reverse?true:false, when=SELL)

//EXITS
if i_ADXClose
    strategy.close_all(when=sig > adxlevel)
if i_SL
    strategy.exit("longexit", "long", stop=SL, limit=TP)
    strategy.exit("shortexit", "short", stop=SL, limit=TP)

//Plots	
plot(i_SL ? SL : na, color=color.red, style=plot.style_cross, title="SL")
plot(i_SL ? TP : na, color=color.green, style=plot.style_cross, title="TP")
plot(upper)
plot(lower)