بولنگر بینڈز اور MACD پر مبنی مقداری تجارتی حکمت عملی


تخلیق کی تاریخ: 2023-12-20 15:55:18 آخر میں ترمیم کریں: 2023-12-20 15:55:18
کاپی: 0 کلکس کی تعداد: 943
1
پر توجہ دیں
1621
پیروکار

بولنگر بینڈز اور MACD پر مبنی مقداری تجارتی حکمت عملی

جائزہ

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

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

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

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

حکمت عملی کا تجزیہ

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

اس کے علاوہ، یہ بھی ممکن ہے کہ آپ کے پاس کچھ چیزیں ہیں جو آپ کو پسند نہیں ہیں:

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

حکمت عملی کے خطرے کا تجزیہ

اس حکمت عملی میں کچھ خطرات بھی ہیں، جن میں سے کچھ یہ ہیں:

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

مندرجہ بالا خطرات سے بچنے کے لئے مندرجہ ذیل اقدامات کیے جاسکتے ہیں:

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

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

اس حکمت عملی میں مزید اصلاحات کی گنجائش موجود ہے، جس میں شامل ہیں:

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 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/
// © DojiEmoji

//@version=4
strategy("[KL] BOLL + MACD Strategy v2 (published)",overlay=true)

// BOLL bands {
BOLL_length = 20
BOLL_src = close
BOLL_mult = 2.0
BOLL_basis = sma(BOLL_src, BOLL_length)
BOLL_dev = BOLL_mult * stdev(BOLL_src, BOLL_length)
BOLL_upper = BOLL_basis + BOLL_dev
BOLL_lower = BOLL_basis - BOLL_dev
BOLL_offset = 0
plot(BOLL_basis, "Basis", color=#872323, offset = BOLL_offset)
BOLL_p1 = plot(BOLL_upper, "Upper", color=color.navy, offset = BOLL_offset, transp=50)
BOLL_p2 = plot(BOLL_lower, "Lower", color=color.navy, offset = BOLL_offset, transp=50)
fill(BOLL_p1, BOLL_p2, title = "Background", color=#198787, transp=85)
// }
// MACD signals {
MACD_fastLen = 12
MACD_slowLen = 26
MACD_Len = 9
MACD = ema(close, MACD_fastLen) - ema(close, MACD_slowLen)
aMACD = ema(MACD, MACD_Len)
MACD_delta = MACD - aMACD
// }
backtest_timeframe_start = input(defval = timestamp("01 Nov 2010 13:30 +0000"), title = "Backtest Start Time", type = input.time)
//backtest_timeframe_end = input(defval = timestamp("05 Mar 2021 19:30 +0000"), title = "Backtest End Time", type = input.time)
TARGET_PROFIT_MODE = input(false,title="Exit when Risk:Reward met")
REWARD_RATIO = input(3,title="Risk:[Reward] (i.e. 3) for exit")
// Trailing stop loss {
var entry_price = float(0)
ATR_multi_len = 26
ATR_multi = input(2, "ATR multiplier for stop loss")
ATR_buffer = atr(ATR_multi_len) * ATR_multi
risk_reward_buffer = (atr(ATR_multi_len) * ATR_multi) * REWARD_RATIO
take_profit_long = low > entry_price + risk_reward_buffer
take_profit_short = low < entry_price - risk_reward_buffer
var bar_count = 0 //number of bars since entry 
var trailing_SL_buffer = float(0)
var stop_loss_price = float(0)
stop_loss_price := max(stop_loss_price, close - trailing_SL_buffer)
// plot TSL line
trail_profit_line_color = color.green
if strategy.position_size == 0
    trail_profit_line_color := color.blue
    stop_loss_price := low
plot(stop_loss_price,color=trail_profit_line_color)
// } 

var touched_lower_bb = false

if true// and time <= backtest_timeframe_end
    if low <= BOLL_lower
        touched_lower_bb := true
    else if strategy.position_size > 0
        touched_lower_bb := false//reset state
    expected_rebound = MACD > MACD[1] and abs(MACD - aMACD) < abs(MACD[1] - aMACD[1])
    buy_condition = touched_lower_bb and MACD > aMACD or expected_rebound

    //ENTRY:
    if strategy.position_size == 0 and buy_condition
        entry_price := close
        trailing_SL_buffer := ATR_buffer
        stop_loss_price := close - ATR_buffer
        strategy.entry("Long",strategy.long, comment="buy")
        bar_count := 0
    else if strategy.position_size > 0
        bar_count := bar_count + 1

    //EXIT: 
    // Case (A) hits trailing stop
    if strategy.position_size > 0 and close <= stop_loss_price
        if close > entry_price
            strategy.close("Long", comment="take profit [trailing]")
            stop_loss_price := 0
        else if close <= entry_price and bar_count
            strategy.close("Long", comment="stop loss")
            stop_loss_price := 0
        bar_count := 0
    // Case (B) take targeted profit relative to risk 
    if strategy.position_size > 0 and TARGET_PROFIT_MODE
        if take_profit_long
            strategy.close("Long", comment="take profits [risk:reward]")
            stop_loss_price := 0
        bar_count := 0