ایم اے سی ڈی کنٹرولڈ رسک ٹریڈنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-10-26 15:51:34
ٹیگز:

img

جائزہ

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

اصول

حکمت عملی سب سے پہلے ایم اے سی ڈی اشارے کی ایم اے سی ڈی لائن اور سگنل لائن کا حساب لگاتی ہے۔ جب ایم اے سی ڈی لائن سگنل لائن سے اوپر عبور کرتی ہے تو ، اسے خرید سگنل کے طور پر طے کیا جاتا ہے۔ جھوٹے بریک آؤٹس کو فلٹر کرنے کے لئے ، حکمت عملی کے لئے بارس کی ضرورت ہوتی ہے کیونکہ ((crossover ((macd_line ، signal_line)) <= 5 ، جس کا مطلب ہے کہ بریک آؤٹ حالیہ 5 سلاخوں کے اندر ہوا۔ اس کے علاوہ ، ایم اے سی ڈی اور سگنل لائنوں دونوں کو 0 سے نیچے ہونے کی ضرورت ہوتی ہے ، جس سے زیادہ فروخت کی حالت ظاہر ہوتی ہے ، اور بند ہونے سے ڈبلیو ایم اے لائن سے اوپر ہونے کی ضرورت ہوتی ہے ، جس سے بڑھتی ہوئی رجحان ظاہر ہوتا ہے۔ جب مذکورہ بالا شرائط پوری ہوجاتی ہیں تو ، ایک لمبی پوزیشن کھولی جاتی ہے۔

ہر تجارت کے لئے ، حکمت عملی معقول اسٹاپ نقصان اور منافع کی سطح کا حساب لگاتی ہے۔ اسٹاپ نقصان کو حالیہ 3 سلاخوں میں سے سب سے کم کم پر مقرر کیا جاتا ہے۔ منافع حاصل کرنا انٹری قیمت کے علاوہ اسٹاپ نقصان اور انٹری قیمت کے درمیان فاصلے کے 4 گنا پر مقرر کیا جاتا ہے۔

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

ہر تجارت کے خطرے کو کل سرمایہ کے 1٪ کے اندر کنٹرول کیا جاتا ہے ، جو مؤثر طریقے سے ڈراؤونگ کو کنٹرول کرسکتا ہے۔ ایک ہی وقت میں ، اعلی منافع کا ہدف اعلی منافع کی اجازت دیتا ہے۔

فوائد

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

خطرات اور بہتری

  • ایم اے سی ڈی میں تاخیر ہے، تیز رفتار رجحان کی تبدیلیوں کو یاد کر سکتا ہے
  • غلط سٹاپ نقصان یا منافع لینے کی ترتیبات منافع کو کم یا خطرے میں اضافہ کر سکتے ہیں
  • اعلی تجارتی تعدد سے لین دین کی لاگت میں اضافہ ہوسکتا ہے

ممکنہ بہتری:

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

خلاصہ

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


/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy( "McDonalds ", shorttitle="Ur Lovin' It", initial_capital=10000, default_qty_type=strategy.cash, currency=currency.USD )

capital_risk    = input( 1.0, "% capital risk per trade" ) / 100
r_exit          = input( 4.0, "Take Profit in 'R'" )
wma_length      = input( 150, 'WMA Bias Length' )

[macd_line, signal_line, hist ] = macd(close, 12, 26, 9)

w_line = wma( close, wma_length )

golong = barssince(crossover(macd_line, signal_line)) <= 5 and ( macd_line < 0 and signal_line < 0 ) and ( close > w_line ) and strategy.opentrades == 0

float stop = na
float tp = na

// For a stop, use a recent low 
stop := golong ? lowest(low, 3)[1] : stop[1]
range = abs(close - stop)
tp := golong ? close + (r_exit * range) : tp[1]


// This is the bit that calculates how much size to use so we only lose 1% of the `strategy.equity`
how_much_willing_to_lose = strategy.equity * capital_risk
// Spread the risk across the stop range 
position_size_in_usd = how_much_willing_to_lose / (range / close)
// Sized specified in base contract
position_size_in_contracts = position_size_in_usd / close

// Enter the position
if golong
    strategy.entry("long", strategy.long, qty=position_size_in_contracts)
    strategy.exit("long exit","long", stop=stop, limit=tp)

// experimental exit strategy
// hist_strength = hist >= 0 ? ( hist[1] < hist ? 'strong' : 'weak') : ( hist[1] < hist ? 'weak' : 'strong' )
// if hist < 0 and hist_strength == 'strong' and falling( hist, 8 )
//     strategy.close("long")


plot( strategy.equity,  color=strategy.equity > 10000 ? color.green : color.red, linewidth=2 )

مزید