دوہری MACD پرائس ایکشن بریک آؤٹ حکمت عملی کے بعد

MACD ATR
تخلیق کی تاریخ: 2024-11-25 11:15:50 آخر میں ترمیم کریں: 2024-11-25 11:15:50
کاپی: 1 کلکس کی تعداد: 532
1
پر توجہ دیں
1617
پیروکار

دوہری MACD پرائس ایکشن بریک آؤٹ حکمت عملی کے بعد

جائزہ

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

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

حکمت عملی مارکیٹ کے رجحان کی تصدیق کے لئے MACD اشارے کے دو سیٹوں کا استعمال کرتی ہے ((34/144/9 اور 100/200/50) ۔ جب دونوں MACD لکیری چارٹ ایک ہی رنگ کے رجحان کی نمائش کرتے ہیں تو ، نظام 5 منٹ کے چارٹ پر مضبوط کراس شکل کی تلاش کرتا ہے ، جس کی خصوصیت یہ ہے کہ یہ شبیہہ سے 1.5 گنا بڑا ہے۔ ایک بار جب مضبوط کراس پایا جاتا ہے تو ، نظام 1 منٹ کے چارٹ پر نگرانی کرتا ہے کہ آیا اس میں کوئی خرابی پیدا ہوئی ہے۔ جب یہ عروج پر ہے تو اس کی اونچائی کو توڑ دیتا ہے یا گرنے والے رجحان میں اس کی کم حد کو توڑ دیتا ہے ، تو یہ نظام کھل جاتا ہے۔

اسٹریٹجک فوائد

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

اسٹریٹجک رسک

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

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-01-01 00:00:00
end: 2024-11-24 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// @version=5
strategy("Price Action + Double MACD Strategy with ATR Trailing", overlay=true)

// Inputs for MACD
fastLength1 = input.int(34, title="First MACD Fast Length")
slowLength1 = input.int(144, title="First MACD Slow Length")
signalLength1 = input.int(9, title="First MACD Signal Length")

fastLength2 = input.int(100, title="Second MACD Fast Length")
slowLength2 = input.int(200, title="Second MACD Slow Length")
signalLength2 = input.int(50, title="Second MACD Signal Length")

// Input for ATR Trailing
atrMultiplier = input.float(1.5, title="ATR Multiplier for Trailing")

// Inputs for Stop Loss
atrStopMultiplier = input.float(1.0, title="ATR Multiplier for Stop Loss")

// MACD Calculations
[macdLine1, signalLine1, macdHist1] = ta.macd(close, fastLength1, slowLength1, signalLength1)
[macdLine2, signalLine2, macdHist2] = ta.macd(close, fastLength2, slowLength2, signalLength2)

// Get 15M MACD histogram colors
macdHist1Color = request.security(syminfo.tickerid, "15", (macdHist1 >= 0 ? (macdHist1[1] < macdHist1 ? #26A69A : #B2DFDB) : (macdHist1[1] < macdHist1 ? #FFCDD2 : #FF5252)))
macdHist2Color = request.security(syminfo.tickerid, "15", (macdHist2 >= 0 ? (macdHist2[1] < macdHist2 ? #26A69A : #B2DFDB) : (macdHist2[1] < macdHist2 ? #FFCDD2 : #FF5252)))

// Check MACD color conditions
isMacdUptrend = macdHist1Color == #26A69A and macdHist2Color == #26A69A
isMacdDowntrend = macdHist1Color == #FF5252 and macdHist2Color == #FF5252

// Function to detect strong 5M candles
isStrongCandle(open, close, high, low) =>
    body = math.abs(close - open)
    tail = math.abs(high - low) - body
    body > tail * 1.5  // Ensure body is larger than the tail

// Variables to track state
var float fiveMinuteHigh = na
var float fiveMinuteLow = na
var bool tradeExecuted = false
var bool breakoutDetected = false
var float entryPrice = na
var float stopLossPrice = na
var float longTakeProfit = na
var float shortTakeProfit = na

// Check for new 15M candle and reset flags
if ta.change(time("15"))
    tradeExecuted := false      // Reset trade execution flag
    breakoutDetected := false  // Reset breakout detection
    if isStrongCandle(open[1], close[1], high[1], low[1])
        fiveMinuteHigh := high[1]
        fiveMinuteLow := low[1]
    else
        fiveMinuteHigh := na
        fiveMinuteLow := na

// Get 1-minute close prices
close1m = request.security(syminfo.tickerid, "5", close)

// Ensure valid breakout direction and avoid double breakouts
if not na(fiveMinuteHigh) and not breakoutDetected
    for i = 1 to 3
        if close1m[i] > fiveMinuteHigh and not tradeExecuted  // 1M breakout check with close
            breakoutDetected := true
            if isMacdUptrend 
                // Open Long trade
                entryPrice := close
                stopLossPrice := close - (atrStopMultiplier * ta.atr(14))  // ATR-based stop loss
                longTakeProfit := close + (atrMultiplier * ta.atr(14)) // Initialize take profit

                strategy.entry("Long", strategy.long)
                tradeExecuted := true
            break // Exit the loop after detecting a breakout

        else if close1m[i] < fiveMinuteLow and not tradeExecuted  // 1M breakout check with close
            breakoutDetected := true
            if isMacdDowntrend
                // Open Short trade
                entryPrice := close
                stopLossPrice := close + (atrStopMultiplier * ta.atr(14))  // ATR-based stop loss
                shortTakeProfit := close - (atrMultiplier * ta.atr(14)) // Initialize take profit

                strategy.entry("Short", strategy.short)
                tradeExecuted := true
            break // Exit the loop after detecting a breakout

// Update trailing take-profit dynamically
if tradeExecuted and strategy.position_size > 0  // Long trade
    longTakeProfit := math.max(longTakeProfit, close + (atrMultiplier * ta.atr(14)))
    strategy.exit("Long TP/SL", "Long", stop=stopLossPrice, limit=longTakeProfit)

else if tradeExecuted and strategy.position_size < 0  // Short trade
    shortTakeProfit := math.min(shortTakeProfit, close - (atrMultiplier * ta.atr(14)))
    strategy.exit("Short TP/SL", "Short", stop=stopLossPrice, limit=shortTakeProfit)

// Reset trade state when position is closed
if strategy.position_size == 0
    tradeExecuted := false
    entryPrice := na
    longTakeProfit := na
    shortTakeProfit := na