حجم ایم اے پر مبنی انکولی پرامڈائزنگ متحرک سٹاپ نقصان اور منافع لے ٹریڈنگ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-04-12 16:19:20
ٹیگز:ایچ ایم اےایم اے سی ڈیاے ٹی آرآر ایس آئیاو بی ویوی ایم اے

img

جائزہ

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

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

  1. HMA، MACD، ATR، RSI، OBV، اور Volume Moving Average جیسے اشارے کا حساب لگائیں
  2. MACD لائنوں کے کراس اوور ، OBV اور اس کے چلتے ہوئے اوسط کے درمیان تعلقات ، RSI کی سطح اور حجم اور اس کے چلتے ہوئے اوسط کے مقابلے پر مبنی طویل اور مختصر حالات کا تعین کریں
  3. ہر اضافی پوزیشن کی زیادہ سے زیادہ تعداد اور تناسب مقرر کریں، آہستہ آہستہ رجحان جاری ہے کے طور پر پوزیشنوں میں اضافہ
  4. اے ٹی آر کی بنیاد پر اسٹاپ نقصان کو متحرک طور پر ایڈجسٹ کریں اور منافع کو بچانے کے لئے ٹریلنگ اسٹاپ نقصان کی حکمت عملی اپنائیں
  5. ہر اندراج کے لئے پوزیشن سائز کا حساب اکاؤنٹ کے ایکویٹی، رسک فی صد اور اے ٹی آر کی بنیاد پر کریں، جس سے متحرک پوزیشن مینجمنٹ حاصل ہو
  6. خط پر سٹاپ نقصان اور منافع کی سطح کی لائنیں بنائیں تاکہ خطرے کے کنٹرول کو بصری طور پر ظاہر کیا جاسکے

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

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

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

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

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

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

خلاصہ

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


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

//@version=4
strategy("Enhanced Trading Strategy v5 with Visible SL/TP", overlay=true)

// Input settings
hma_length = input(9, title="HMA Length")
fast_length = input(12, title="MACD Fast Length")
slow_length = input(26, title="MACD Slow Length")
siglen = input(9, title="Signal Smoothing")
atr_length = input(14, title="ATR Length")
rsi_length = input(14, title="RSI Length")
obv_length = input(10, title="OBV Length")
volume_ma_length = input(10, title="Volume MA Length")

// Pyramiding inputs
max_pyramid_positions = input(3, title="Max Pyramid Positions")
pyramid_factor = input(0.5, title="Pyramid Factor")

// Risk and Reward Management Inputs
risk_per_trade = input(1.0, title="Risk per Trade (%)")
atr_multiplier_for_sl = input(1.5, title="ATR Multiplier for Stop Loss")
atr_multiplier_for_tp = input(3.0, title="ATR Multiplier for Take Profit")
trailing_atr_multiplier = input(2.0, title="ATR Multiplier for Trailing Stop")

// Position sizing functions
calc_position_size(equity, risk_pct, atr) =>
    pos_size = (equity * risk_pct / 100) / (atr_multiplier_for_sl * atr)
    pos_size

calc_pyramid_size(current_size, max_positions) =>
    pyramid_size = current_size * (max_positions - strategy.opentrades) / max_positions
    pyramid_size

// Pre-calculate lengths for HMA
half_length = ceil(hma_length / 2)
sqrt_length = round(sqrt(hma_length))

// Calculate indicators
hma = wma(2 * wma(close, half_length) - wma(close, hma_length), sqrt_length)
my_obv = cum(close > close[1] ? volume : close < close[1] ? -volume : 0)
obv_sma = sma(my_obv, obv_length)
[macd_line, signal_line, _] = macd(close, fast_length, slow_length, siglen)
atr = atr(atr_length)
rsi = rsi(close, rsi_length)
vol_ma = sma(volume, volume_ma_length)

// Conditions
long_condition = crossover(macd_line, signal_line) and my_obv > obv_sma and rsi > 50 and volume > vol_ma
short_condition = crossunder(macd_line, signal_line) and my_obv < obv_sma and rsi < 50 and volume > vol_ma

// Strategy Entry with improved risk-reward ratio
var float long_take_profit = na
var float long_stop_loss = na
var float short_take_profit = na
var float short_stop_loss = na

if (long_condition)
    size = calc_position_size(strategy.equity, risk_per_trade, atr)
    strategy.entry("Long", strategy.long, qty = size)
    long_stop_loss := close - atr_multiplier_for_sl * atr
    long_take_profit := close + atr_multiplier_for_tp * atr
    
if (short_condition)
    size = calc_position_size(strategy.equity, risk_per_trade, atr)
    strategy.entry("Short", strategy.short, qty = size)
    short_stop_loss := close + atr_multiplier_for_sl * atr
    short_take_profit := close - atr_multiplier_for_tp * atr

// Drawing the SL/TP lines
// if (not na(long_take_profit))
//     line.new(bar_index[1], long_take_profit, bar_index, long_take_profit, width = 2, color = color.green)
//     line.new(bar_index[1], long_stop_loss, bar_index, long_stop_loss, width = 2, color = color.red)

// if (not na(short_take_profit))
//     line.new(bar_index[1], short_take_profit, bar_index, short_take_profit, width = 2, color = color.green)
//     line.new(bar_index[1], short_stop_loss, bar_index, short_stop_loss, width = 2, color = color.red)

// Pyramiding logic
if (strategy.position_size > 0)
    if (close > strategy.position_avg_price * (1 + pyramid_factor))
        strategy.entry("Long Add", strategy.long, qty = calc_pyramid_size(strategy.position_size, max_pyramid_positions))

if (strategy.position_size < 0)
    if (close < strategy.position_avg_price * (1 - pyramid_factor))
        strategy.entry("Short Add", strategy.short, qty = calc_pyramid_size(-strategy.position_size, max_pyramid_positions))

// Trailing Stop
strategy.exit("Trailing Stop Long", "Long", trail_points = atr * trailing_atr_multiplier, trail_offset = atr * trailing_atr_multiplier)
strategy.exit("Trailing Stop Short", "Short", trail_points = atr * trailing_atr_multiplier, trail_offset = atr * trailing_atr_multiplier)

// Plots
plot(hma, title="HMA", color=color.blue)
plot(obv_sma, title="OBV SMA", color=color.orange)
hline(0, "Zero Line", color=color.gray, linestyle=hline.style_dotted)
plotshape(long_condition, title="Long Entry", location=location.belowbar, color=color.green, style=shape.labelup, text="Long")
plotshape(short_condition, title="Short Entry", location=location.abovebar, color=color.red, style=shape.labeldown, text="Short")


متعلقہ

مزید