وسائل لوڈ ہو رہے ہیں... لوڈنگ...

انکولی بولنگر بینڈ ٹرینڈ ٹریکنگ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-02-04 15:30:46
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

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

فوائد

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

خطرات

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

اصلاح کی ہدایات

  1. رجحانات کا جائزہ لینے میں بہتر حساسیت کے لئے بولنگر پیرامیٹرز کو ایڈجسٹ کریں
  2. جھوٹے بریکآؤٹس کو فلٹر کرنے کے لئے حجم یا ایم اے سی ڈی جیسے اشارے شامل کریں
  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)

مزید