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

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

مصنف:چاؤ ژانگ، تاریخ: 2024-02-05 10:53:46
ٹیگز:

img

جائزہ

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

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

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

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

فوائد

  1. درست سگنل، جھوٹے بریک آؤٹ سے بچتا ہے۔ حجم فلٹر کو یکجا کرتے ہوئے، یہ صرف حقیقی مضبوط رفتار پر خریدتا ہے، خطرے کو کم کرتا ہے۔

  2. چلتی اوسط رجحان کے تعین کے ذریعے وقت میں نقصان کو کم کرنے کے قابل، ہولڈنگ نقصان کو کم کرنا.

  3. فیصلہ سازی کے لئے متعدد اشارے کو یکجا کرنے والی نفاذ شدہ مقداری حکمت عملی۔ مختلف مصنوعات اور ٹائم فریم کے لئے لچکدار پیرامیٹرز کو ایڈجسٹ کرنا۔

  4. واضح کوڈ ڈھانچے ، پڑھنے اور برقرار رکھنے میں آسان۔ اشارے کے حساب کتاب ، سگنل کی تخلیق اور پوزیشن مینجمنٹ کا ماڈیولر ڈیزائن۔

خطرات

  1. بولنگر بینڈ انتہائی قیمتوں میں اتار چڑھاؤ، غائب سگنل یا غلط سگنل پیدا کرنے کے دوران ناکام ہوسکتے ہیں.

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

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

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

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

  1. مزید تکنیکی اشارے شامل کریں تاکہ بہتر رجحان اور معاونت / مزاحمت کا تجزیہ کیا جاسکے ، اسٹاپ نقصان کو بہتر بنایا جاسکے ، جیسے موم بتی کے نمونوں ، چینلز ، کلیدی معاونت کی سطح۔

  2. غلط سگنلز کو کم کرتے ہوئے حقیقی بریک آؤٹ امکانات کا اندازہ کرنے کے لئے مشین لرننگ ماڈل شامل کریں۔ مثال کے طور پر LSTM گہری سیکھنے کے ماڈل۔

  3. سرمایہ کے انتظام کی حکمت عملیوں کو بہتر بنائیں جیسے متحرک پوزیشن سائزنگ ، ٹریلنگ اسٹاپ نقصان تاکہ ایک ہی تجارت کے نقصان کے اثرات کو کم کیا جاسکے۔

  4. زیادہ مصنوعات اور ٹائم فریم کی جانچ کریں، پیرامیٹرز کو ایڈجسٹ کریں جیسے بولنگر بینڈ، حجم ونڈو حکمت عملی کی مضبوطی کو بہتر بنانے کے لئے.

نتیجہ

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


/*backtest
start: 2024-01-05 00:00:00
end: 2024-02-04 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/
// © KAIST291

//@version=4
initial_capital=1000
strategy("prototype", overlay=true)
length1=input(1)
length3=input(3)
length7=input(7)
length9=input(9)
length14=input(14)
length20=input(20)
length60=input(60)
length120=input(120)
ma1= sma(close,length1)
ma3= sma(close,length3)
ma7= sma(close,length7)
ma9= sma(close,length9)
ma14=sma(close,length14)
ma20=sma(close,length20)
ma60=sma(close,length60)
ma120=sma(close,length120)
rsi=rsi(close,14)
// BUYING VOLUME AND SELLING VOLUME //
BV = iff( (high==low), 0, volume*(close-low)/(high-low))
SV = iff( (high==low), 0, volume*(high-close)/(high-low))
vol = iff(volume > 0, volume, 1)
dailyLength = input(title = "Daily MA length", type = input.integer, defval = 50, minval = 1, maxval = 100)
weeklyLength = input(title = "Weekly MA length", type = input.integer, defval = 10, minval = 1, maxval = 100)
//-----------------------------------------------------------
Davgvol = sma(volume, dailyLength)
Wavgvol = sma(volume, weeklyLength)
//-----------------------------------------------------------
length = input(20, minval=1)
src = input(close, title="Source")
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
mult2= input(1.5, minval=0.001, maxval=50, title="exp")
mult3= input(1.0, minval=0.001, maxval=50, title="exp1")
mult4= input(2.5, minval=0.001, maxval=50, title="exp2")
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
dev2= mult2 * stdev(src, length)
Supper= basis + dev2
Slower= basis - dev2
dev3= mult3 * stdev(src, length)
upper1= basis + dev3
lower1= basis - dev3
dev4= mult4 * stdev(src, length)
upper2=basis + dev4
lower2=basis - dev4
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))
//----------------------------------------------------
exit=(close-strategy.position_avg_price / strategy.position_avg_price*100)
bull=( BV>SV and BV>Davgvol)
bull2=(BV>SV and BV>Davgvol)
bux =(close>Supper and close>Slower and volume<Davgvol)
bear=(SV>BV and SV>Davgvol)
con=(BV>Wavgvol and rsi>80)
imInATrade = strategy.position_size != 0
highestPriceAfterEntry = valuewhen(imInATrade, high, 0)
// STRATEGY LONG //
if (bull and close>upper1 and close>Supper and high>upper and rsi<80)
    strategy.entry("Long",strategy.long)

if (strategy.position_avg_price*1.02<close)
    strategy.close("Long")
else if (low<ma9 and strategy.position_avg_price<close)
    strategy.close("Long")
else if (ma20>close and strategy.position_avg_price<close )
    strategy.close("Long")
else if (rsi>80 and strategy.position_avg_price<close)
    strategy.close("Long")
else if (strategy.openprofit < strategy.position_avg_price*0.9-close)
    strategy.close("Long")
else if (high<upper and strategy.position_avg_price<close)
    strategy.close("Long")
//////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////
strategy.entry("Short",strategy.short,when=low<ma20 and low<lower1 and close<Slower and crossunder(ma60,ma120))

if (close<strategy.position_avg_price*0.98)
    strategy.close("Short")

else if (rsi<20)
    strategy.close("Short")



مزید