یہ حکمت عملی ایک طویل مدتی تجارتی حکمت عملی تیار کرتی ہے جو ایم اے سی ڈی اشارے کی بنیاد پر ہر تجارت کے خطرے کو کنٹرول کرتی ہے۔ روایتی لانگ شارٹ فلپنگ حکمت عملیوں کے مقابلے میں ، یہ حکمت عملی ہر تجارت کے خطرے کو کنٹرول کرنے پر زیادہ توجہ دیتی ہے۔ معقول اسٹاپ نقصان کا حساب لگانے اور منافع حاصل کرنے کی سطح اور مناسب پوزیشن سائز کا تعین کرکے ، یہ ہر تجارت کے لئے زیادہ سے زیادہ نقصان کو محدود کرتی ہے۔ اس سے مؤثر طریقے سے ڈراؤونگ کو کنٹرول کیا جاسکتا ہے اور طویل مدتی میں مستحکم منافع حاصل کیا جاسکتا ہے۔
حکمت عملی سب سے پہلے ایم اے سی ڈی اشارے کی ایم اے سی ڈی لائن اور سگنل لائن کا حساب لگاتی ہے۔ جب ایم اے سی ڈی لائن سگنل لائن سے اوپر عبور کرتی ہے تو ، اسے خرید سگنل کے طور پر طے کیا جاتا ہے۔ جھوٹے بریک آؤٹس کو فلٹر کرنے کے لئے ، حکمت عملی کے لئے بارس کی ضرورت ہوتی ہے کیونکہ ((crossover ((macd_line ، signal_line)) <= 5 ، جس کا مطلب ہے کہ بریک آؤٹ حالیہ 5 سلاخوں کے اندر ہوا۔ اس کے علاوہ ، ایم اے سی ڈی اور سگنل لائنوں دونوں کو 0 سے نیچے ہونے کی ضرورت ہوتی ہے ، جس سے زیادہ فروخت کی حالت ظاہر ہوتی ہے ، اور بند ہونے سے ڈبلیو ایم اے لائن سے اوپر ہونے کی ضرورت ہوتی ہے ، جس سے بڑھتی ہوئی رجحان ظاہر ہوتا ہے۔ جب مذکورہ بالا شرائط پوری ہوجاتی ہیں تو ، ایک لمبی پوزیشن کھولی جاتی ہے۔
ہر تجارت کے لئے ، حکمت عملی معقول اسٹاپ نقصان اور منافع کی سطح کا حساب لگاتی ہے۔ اسٹاپ نقصان کو حالیہ 3 سلاخوں میں سے سب سے کم کم پر مقرر کیا جاتا ہے۔ منافع حاصل کرنا انٹری قیمت کے علاوہ اسٹاپ نقصان اور انٹری قیمت کے درمیان فاصلے کے 4 گنا پر مقرر کیا جاتا ہے۔
کلیدی بات یہ ہے کہ حکمت عملی زیادہ سے زیادہ سستی خطرے کی بنیاد پر مخصوص پوزیشن کے سائز کا حساب لگاتی ہے۔ پیرامیٹر کیپٹل_رسک کل سرمایہ کا فیصد طے کرتا ہے جو ہر تجارت کے لئے ضائع ہوسکتا ہے۔ اس کے بعد امریکی ڈالر میں پوزیشن کا سائز اسٹاپ نقصان کی حد کی بنیاد پر شمار کیا جاتا ہے۔ اس کے بعد اسے عمل درآمد کے لئے معاہدوں میں تبدیل کیا جاتا ہے۔
ہر تجارت کے خطرے کو کل سرمایہ کے 1٪ کے اندر کنٹرول کیا جاتا ہے ، جو مؤثر طریقے سے ڈراؤونگ کو کنٹرول کرسکتا ہے۔ ایک ہی وقت میں ، اعلی منافع کا ہدف اعلی منافع کی اجازت دیتا ہے۔
ممکنہ بہتری:
یہ حکمت عملی 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 )