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

ڈبل ایم اے سی ڈی پرائس ایکشن بریک آؤٹ ٹریلنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-11-25 11:15:50
ٹیگز:ایم اے سی ڈیاے ٹی آر

img

جائزہ

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

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

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

حکمت عملی کے فوائد

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

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

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

متعلقہ

مزید