دو طرفہ اڈاپٹیو بولنگر بینڈ ٹرینڈ کی پیروی کرنے والی حکمت عملی


تخلیق کی تاریخ: 2024-02-04 15:30:46 آخر میں ترمیم کریں: 2024-02-04 15:30:46
کاپی: 4 کلکس کی تعداد: 607
1
پر توجہ دیں
1617
پیروکار

دو طرفہ اڈاپٹیو بولنگر بینڈ ٹرینڈ کی پیروی کرنے والی حکمت عملی

جائزہ

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

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

  1. ایک خاص دورانیے کے حساب سے برن کے وسط ، اوپری اور نچلے ریل
  2. قیمتوں کا تعین کرنے کے لئے ایک ٹریک اپ ٹریک کرنے کے لئے ایک ٹریک اپ ٹریک کریں
  3. مارکیٹ کی قیمتوں پر فوری اندراج
  4. سٹاپ نقصان کی پوزیشن کو ترتیب دیں اور اسٹاپ بند پوزیشن کو پوزیشن مینجمنٹ کے لئے ترتیب دیں

طاقت کا تجزیہ

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

خطرے کا تجزیہ

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

اصلاح کی سمت

  1. رجحانات کے فیصلے کے لئے حساسیت کو بہتر بنانے کے لئے برن کی پٹی کے پیرامیٹرز کو ایڈجسٹ کریں
  2. ٹرانزیکشن حجم یا MACD جیسے اشارے شامل کریں جعلی توڑ فلٹر کریں
  3. سٹاپ نقصان اور سٹاپ پوزیشن کی ترتیبات کو بہتر بنائیں

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 1h
basePeriod: 15m
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/
// © CryptoRox

//@version=4
//Paste the line below in your alerts to run the built-in commands.
//{{strategy.order.alert_message}}
strategy("Automated - Fibs with Market orders", "Strategy", true)

//Settings 
testing = input(false, "Live")
//Use epochconverter or something similar to get the current timestamp.
starttime = input(1600976975, "Start Timestamp") * 1000
//Wait XX seconds from that timestamp before the strategy starts looking for an entry.
seconds = input(60, "Start Delay") * 1000
testPeriod = true


leverage = input(1, "Leverage")
tp = input(1.0, "Take Profit %") / leverage
dca = input(-1.0, "DCA when < %") / leverage *-1
fibEntry = input("1", "Entry Level", options=["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"])

//Strategy Calls
equity = strategy.equity
avg = strategy.position_avg_price
symbol = syminfo.tickerid
openTrades = strategy.opentrades
closedTrades = strategy.closedtrades
size = strategy.position_size

//Fibs
lentt = input(60, "Pivot Length")
h = highest(lentt)
h1 = dev(h, lentt) ? na : h
hpivot = fixnan(h1)
l = lowest(lentt)
l1 = dev(l, lentt) ? na : l
lpivot = fixnan(l1)
z = 400
p_offset= 2
transp = 60
a=(lowest(z)+highest(z))/2
b=lowest(z)
c=highest(z)

fib0 = (((hpivot - lpivot)) + lpivot)
fib1 = (((hpivot - lpivot)*.21) + lpivot)
fib2 = (((hpivot - lpivot)*.3) + lpivot)
fib3 = (((hpivot - lpivot)*.5) + lpivot)
fib4 = (((hpivot - lpivot)*.62) + lpivot)
fib5 = (((hpivot - lpivot)*.7) + lpivot)
fib6 = (((hpivot - lpivot)* 1.00) + lpivot)
fib7 = (((hpivot - lpivot)* 1.27) + lpivot)
fib8 = (((hpivot - lpivot)* 2) + lpivot)
fib9 = (((hpivot - lpivot)* -.27) + lpivot)
fib10 = (((hpivot - lpivot)* -1) + lpivot)

notna = nz(fib10[60])
entry = 0.0
if fibEntry == "1"
    entry := fib10
if fibEntry == "2"
    entry := fib9
if fibEntry == "3"
    entry := fib0
if fibEntry == "4"
    entry := fib1
if fibEntry == "5"
    entry := fib2
if fibEntry == "6"
    entry := fib3
if fibEntry == "7"
    entry := fib4
if fibEntry == "8"
    entry := fib5
if fibEntry == "9"
    entry := fib6
if fibEntry == "10"
    entry := fib7
profit = avg+avg*(tp/100)
pause = 0
pause := nz(pause[1])
paused = time < pause

fill = 0.0
fill := nz(fill[1])
count = 0.0
count := nz(fill[1])

filled = count > 0 ? entry > fill-fill/100*dca : 0
signal = testPeriod and notna and not paused and not filled ? 1 : 0

neworder = crossover(signal, signal[1])
moveorder = entry != entry[1] and signal and not neworder ? true : false
cancelorder = crossunder(signal, signal[1]) and not paused
filledorder = crossunder(low[1], entry[1]) and signal[1]

last_profit = 0.0
last_profit := nz(last_profit[1])

// if neworder and signal
//     strategy.order("New", 1, 0.0001, alert_message='New Order|e=binancefuturestestnet s=btcusdt b=long q=0.0011 fp=' + tostring(entry)) 
// if moveorder
//     strategy.order("Move", 1, 0.0001, alert_message='Move Order|e=binancefuturestestnet s=btcusdt b=long c=order|e=binancefuturestestnet s=btcusdt b=long q=0.0011 fp=' + tostring(entry))
if filledorder and size < 1
    fill := entry
    count := count+1 
    pause := time + 60000
    p = close+close*(tp/100)
    strategy.entry("Buy", 1, 1,  alert_message='Long|e=binancefuturestestnet s=btcusdt b=long q=0.0011 t=market')
if filledorder and size >= 1
    fill := entry
    count := count+1 
    pause := time + 60000
    strategy.entry("Buy", 1, 1,  alert_message='Long|e=binancefuturestestnet s=btcusdt b=long q=0.0011 t=market')

// if cancelorder and not filledorder
//     pause := time + 60000
//     strategy.order("Cancel", 1, 0.0001,  alert_message='Cancel Order|e=binancefuturestestnet s=btcusdt b=long c=order')

if filledorder
    last_profit := profit

closeit = crossover(high, profit) and size >= 1
if closeit
    strategy.entry("Close ALL", 0, 0, alert_message='Close Long|e=binancefuturestestnet s=btcusdt b=long c=position t=market')
    count := 0
    fill := 0.0
    last_profit := 0.0
    
//Plots
// bottom = signal ? color.green : filled ? color.red : color.white
// plot(entry, "Entry", bottom)