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

متحرک منافع لینے کے ساتھ کثیر مرحلہ اے ٹی آر ٹریڈنگ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-12-05 16:49:57
ٹیگز:اے ٹی آرایس ایم اےٹی آرایم ایفٹی پیSLایم اےاے اے ٹی آر

img

جائزہ

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

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

یہ حکمت عملی کئی اہم اجزاء کے ذریعے کام کرتی ہے:

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

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

  1. اعلی موافقت: متحرک ATR حساب کتاب کے ذریعے مختلف مارکیٹ کے حالات کے مطابق ڈھالتا ہے۔
  2. جامع رسک مینجمنٹ: کثیر سطح پر منافع لینے کا طریقہ کار منظم رسک کنٹرول فراہم کرتا ہے۔
  3. اعلی لچک: طویل اور مختصر دونوں مارکیٹوں میں یکساں طور پر موثر کام کرتا ہے۔
  4. سایڈست پیرامیٹرز: مختلف تجارتی طرزوں کے مطابق متعدد حسب ضرورت پیرامیٹرز پیش کرتا ہے۔
  5. منظم عملدرآمد: داخلہ اور باہر نکلنے کے واضح قوانین جذباتی تجارت کو کم کرتے ہیں۔

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

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

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

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

خلاصہ

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


/*backtest
start: 2024-11-04 00:00:00
end: 2024-12-04 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © PresentTrading

// The SuperATR 7-Step Profit Strategy is a multi-layered trading strategy that combines adaptive ATR and momentum-based trend detection 
// with a sophisticated 7-step take-profit mechanism. This approach utilizes four ATR-based exit levels and three fixed percentage levels, 
// enabling flexible and dynamic profit-taking in both long and short market positions.

//@version=5
strategy("SuperATR 7-Step Profit - Strategy [presentTrading] ", overlay=true, precision=3, commission_value= 0.1, commission_type=strategy.commission.percent, slippage= 1, currency=currency.USD, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, initial_capital=10000)

// ————————
// User Inputs
// ————————
short_period = input.int(3, minval=1, title="Short Period")
long_period = input.int(7, minval=1, title="Long Period")
momentum_period = input.int(7, minval=1, title="Momentum Period")
atr_sma_period = input.int(7, minval=1, title="ATR SMA Period for Confirmation")
trend_strength_threshold = input.float(1.618, minval=0.0, title="Trend Strength Threshold", step=0.1)

// ————————
// Take Profit Inputs
// ————————
useMultiStepTP = input.bool(true, title="Enable Multi-Step Take Profit")

// ATR-based Take Profit Inputs
atrLengthTP = input.int(14, minval=1, title="ATR Length for Take Profit")
atrMultiplierTP1 = input.float(2.618, minval=0.1, title="ATR Multiplier for TP Level 1")
atrMultiplierTP2 = input.float(5.0, minval=0.1, title="ATR Multiplier for TP Level 2")
atrMultiplierTP3 = input.float(10.0, minval=0.1, title="ATR Multiplier for TP Level 3")
atrMultiplierTP4 = input.float(13.82, minval=0.1, title="ATR Multiplier for TP Level 4")

// Fixed Percentage Take Profit Inputs
tp_level_percent1 = input.float(3.0, minval=0.1, title="Fixed TP Level 1 (%)")
tp_level_percent2 = input.float(8.0, minval=0.1, title="Fixed TP Level 2 (%)")
tp_level_percent3 = input.float(17.0, minval=0.1, title="Fixed TP Level 3 (%)")

// Take Profit Percentages for Each Level
tp_percent_atr = input.float(10.0, minval=0.1, maxval=100, title="Percentage to Exit at Each ATR TP Level")
tp_percent_fixed = input.float(10.0, minval=0.1, maxval=100, title="Percentage to Exit at Each Fixed TP Level")


// —————————————
// Helper Functions
// —————————————

// Function to calculate True Range with enhanced volatility detection
calculate_true_range() =>
    prev_close = close[1]
    tr1 = high - low
    tr2 = math.abs(high - prev_close)
    tr3 = math.abs(low - prev_close)
    true_range = math.max(tr1, tr2, tr3)
    true_range

// ———————————————
// Indicator Calculations
// ———————————————

// Calculate True Range
true_range = calculate_true_range()

// Calculate Momentum Factor
momentum = close - close[momentum_period]
stdev_close = ta.stdev(close, momentum_period)
normalized_momentum = stdev_close != 0 ? (momentum / stdev_close) : 0
momentum_factor = math.abs(normalized_momentum)

// Calculate Short and Long ATRs
short_atr = ta.sma(true_range, short_period)
long_atr = ta.sma(true_range, long_period)

// Calculate Adaptive ATR
adaptive_atr = (short_atr * momentum_factor + long_atr) / (1 + momentum_factor)

// Calculate Trend Strength
price_change = close - close[momentum_period]
atr_multiple = adaptive_atr != 0 ? (price_change / adaptive_atr) : 0
trend_strength = ta.sma(atr_multiple, momentum_period)

// Calculate Moving Averages
short_ma = ta.sma(close, short_period)
long_ma = ta.sma(close, long_period)

// Determine Trend Signal
trend_signal = (short_ma > long_ma and trend_strength > trend_strength_threshold) ? 1 :
               (short_ma < long_ma and trend_strength < -trend_strength_threshold) ? -1 : 0

// Calculate Adaptive ATR SMA for Confirmation
adaptive_atr_sma = ta.sma(adaptive_atr, atr_sma_period)

// Determine if Trend is Confirmed with Price Action
trend_confirmed = (trend_signal == 1 and close > short_ma and adaptive_atr > adaptive_atr_sma) or (trend_signal == -1 and close < short_ma and adaptive_atr > adaptive_atr_sma)

// —————————————
// Trading Logic
// —————————————

// Entry Conditions
long_entry = trend_confirmed and trend_signal == 1
short_entry = trend_confirmed and trend_signal == -1

// Exit Conditions
long_exit = strategy.position_size > 0 and short_entry
short_exit = strategy.position_size < 0 and long_entry



// Execute Long Trades
if long_entry
    strategy.entry("Long Entry", strategy.long)
if long_exit
    strategy.close("Long Entry")

// Execute Short Trades
if short_entry
    strategy.entry("Short Entry", strategy.short)
if short_exit
    strategy.close("Short Entry")

// ————————————————
// Multi-Step Take Profit Logic
// ————————————————

if useMultiStepTP
    // Calculate ATR for Take Profit Levels
    atrValueTP = ta.atr(atrLengthTP)

    // Long Position Take Profit Levels
    if strategy.position_size > 0
        // ATR-based Take Profit Prices
        tp_priceATR1_long = strategy.position_avg_price + atrMultiplierTP1 * atrValueTP
        tp_priceATR2_long = strategy.position_avg_price + atrMultiplierTP2 * atrValueTP
        tp_priceATR3_long = strategy.position_avg_price + atrMultiplierTP3 * atrValueTP
        tp_priceATR4_long = strategy.position_avg_price + atrMultiplierTP4 * atrValueTP

        // Fixed Percentage Take Profit Prices
        tp_pricePercent1_long = strategy.position_avg_price * (1 + tp_level_percent1 / 100)
        tp_pricePercent2_long = strategy.position_avg_price * (1 + tp_level_percent2 / 100)
        tp_pricePercent3_long = strategy.position_avg_price * (1 + tp_level_percent3 / 100)

        // Set ATR-based Take Profit Exits
        strategy.exit("TP ATR 1 Long", from_entry="Long Entry", qty_percent=tp_percent_atr, limit=tp_priceATR1_long)
        strategy.exit("TP ATR 2 Long", from_entry="Long Entry", qty_percent=tp_percent_atr, limit=tp_priceATR2_long)
        strategy.exit("TP ATR 3 Long", from_entry="Long Entry", qty_percent=tp_percent_atr, limit=tp_priceATR3_long)
        strategy.exit("TP ATR 4 Long", from_entry="Long Entry", qty_percent=tp_percent_atr, limit=tp_priceATR4_long)

        // Set Fixed Percentage Take Profit Exits
        strategy.exit("TP Percent 1 Long", from_entry="Long Entry", qty_percent=tp_percent_fixed, limit=tp_pricePercent1_long)
        strategy.exit("TP Percent 2 Long", from_entry="Long Entry", qty_percent=tp_percent_fixed, limit=tp_pricePercent2_long)
        strategy.exit("TP Percent 3 Long", from_entry="Long Entry", qty_percent=tp_percent_fixed, limit=tp_pricePercent3_long)

    // Short Position Take Profit Levels
    if strategy.position_size < 0
        // ATR-based Take Profit Prices
        tp_priceATR1_short = strategy.position_avg_price - atrMultiplierTP1 * atrValueTP
        tp_priceATR2_short = strategy.position_avg_price - atrMultiplierTP2 * atrValueTP
        tp_priceATR3_short = strategy.position_avg_price - atrMultiplierTP3 * atrValueTP
        tp_priceATR4_short = strategy.position_avg_price - atrMultiplierTP4 * atrValueTP

        // Fixed Percentage Take Profit Prices
        tp_pricePercent1_short = strategy.position_avg_price * (1 - tp_level_percent1 / 100)
        tp_pricePercent2_short = strategy.position_avg_price * (1 - tp_level_percent2 / 100)
        tp_pricePercent3_short = strategy.position_avg_price * (1 - tp_level_percent3 / 100)

        // Set ATR-based Take Profit Exits
        strategy.exit("TP ATR 1 Short", from_entry="Short Entry", qty_percent=tp_percent_atr, limit=tp_priceATR1_short)
        strategy.exit("TP ATR 2 Short", from_entry="Short Entry", qty_percent=tp_percent_atr, limit=tp_priceATR2_short)
        strategy.exit("TP ATR 3 Short", from_entry="Short Entry", qty_percent=tp_percent_atr, limit=tp_priceATR3_short)
        strategy.exit("TP ATR 4 Short", from_entry="Short Entry", qty_percent=tp_percent_atr, limit=tp_priceATR4_short)

        // Set Fixed Percentage Take Profit Exits
        strategy.exit("TP Percent 1 Short", from_entry="Short Entry", qty_percent=tp_percent_fixed, limit=tp_pricePercent1_short)
        strategy.exit("TP Percent 2 Short", from_entry="Short Entry", qty_percent=tp_percent_fixed, limit=tp_pricePercent2_short)
        strategy.exit("TP Percent 3 Short", from_entry="Short Entry", qty_percent=tp_percent_fixed, limit=tp_pricePercent3_short)


// ——————————
// Plotting
// ——————————

plot(short_ma, color=color.blue, title="Short MA")
plot(long_ma, color=color.orange, title="Long MA")

// Plot Buy and Sell Signals
//plotshape(long_entry, title="Long Entry", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, text="Buy")
//plotshape(short_entry, title="Short Entry", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, text="Sell")

// Optional: Plot Trend Strength for analysis
// Uncomment the lines below to display Trend Strength on a separate chart pane
// plot(trend_strength, title="Trend Strength", color=color.gray)
// hline(trend_strength_threshold, title="Trend Strength Threshold", color=color.gray, linestyle=hline.style_dashed)
// hline(-trend_strength_threshold, title="Trend Strength Threshold", color=color.gray, linestyle=hline.style_dashed)



متعلقہ

مزید