یہ حکمت عملی روزانہ موم بتیوں کی بنیاد پر رجحان کی سمت کا تعین کرتی ہے ، اور 15 منٹ کی موم بتیوں کے ذریعہ تشکیل شدہ نئے اعلی یا کم نکات کو اسٹاپ نقصان کی قیمت یا ٹریلنگ اسٹاپ نقصان کی قیمت کے طور پر استعمال کرتی ہے ، تاکہ اسٹاپ نقصان کو متحرک طور پر ایڈجسٹ کیا جاسکے اور زیادہ منافع میں مقفل کیا جاسکے۔
رجحان کی سمت کا تعین کرنے کے لئے روزانہ موم بتیوں کی بندش کی قیمت کو پچھلے روزانہ موم بتی کی سب سے زیادہ اور کم قیمت سے موازنہ کریں۔ اگر بندش کی قیمت پچھلے دن کی سب سے زیادہ قیمت سے زیادہ ہے تو ، اسے اپ ٹرینڈ کے طور پر بیان کیا جاتا ہے۔ اگر بندش کی قیمت پچھلے دن کی سب سے کم قیمت سے کم ہے تو ، اسے ڈاؤن ٹرینڈ کے طور پر بیان کیا جاتا ہے۔
جب اپ ٹرینڈ میں ہو تو ، جب 15 منٹ کی موم بتی کی بندش کی قیمت پچھلی 15 منٹ کی موم بتی کی سب سے زیادہ قیمت سے زیادہ ہو تو طویل ہوجائیں۔ جب ڈاؤن ٹرینڈ میں ہو تو ، جب 15 منٹ کی موم بتی کی بندش کی قیمت پچھلی 15 منٹ کی موم بتی کی سب سے کم قیمت سے کم ہو تو مختصر ہوجائیں۔
پچھلے 15 منٹ کے موم بتی کی سب سے کم قیمت کو طویل عرصے سے جانے کے بعد اسٹاپ نقصان کی قیمت کے طور پر مقرر کریں۔ مختصر ہونے کے بعد پچھلے 15 منٹ کے موم بتی کی سب سے زیادہ قیمت کو اسٹاپ نقصان کی قیمت کے طور پر مقرر کریں۔
جب 15 منٹ کی موم بتی دوبارہ ایک نئی اونچائی یا نچلی سطح پر پہنچ جاتی ہے تو ، اس کے مطابق اسٹاپ نقصان کی قیمت کو ایڈجسٹ کریں۔ طویل عرصے سے جانے کے بعد نئی نچلی سطح پر ایڈجسٹ کریں۔ مختصر ہونے کے بعد نئی اونچائی پر ایڈجسٹ کریں۔ اس سے متحرک ٹریلنگ اسٹاپ نقصان کا احساس ہوتا ہے۔
اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ یہ اسٹاپ نقصان کی قیمت کو متحرک طور پر ایڈجسٹ کرسکتی ہے۔ خطرے کے کنٹرول کو یقینی بناتے ہوئے ، یہ منافع حاصل کرنے کو زیادہ سے زیادہ کرتا ہے اور اسٹاپ نقصان کو مارنے کے امکان کو کم کرتا ہے۔
خاص طور پر فوائد میں شامل ہیں:
رجحان آپریشن پر مبنی فیصلے بروقت مارکیٹ کے رجحانات کا تعین کرسکتے ہیں اور صحیح تجارتی سمت کا انتخاب کرسکتے ہیں۔
15 منٹ کے ٹائم فریم ٹریڈنگ سے زیادہ مواقع حاصل کرنے کے لئے کثرت سے اندراج اور باہر نکلنے کی اجازت ملتی ہے۔
نئی اونچائیوں یا اونچائیوں کی بنیاد پر سٹاپ نقصان کی متحرک ایڈجسٹمنٹ اسٹاپ نقصان کو مارنے کے خطرات کو کم کرتی ہے۔
معقول سٹاپ نقصان کی پوزیشننگ بڑی حد تک غیر ضروری نقصانات سے بچتی ہے۔
اس حکمت عملی کا بنیادی خطرہ رجحانات کے فیصلوں میں غلطیوں سے آتا ہے۔ مخصوص خطرات میں شامل ہیں:
غلط روزانہ رجحان کا فیصلہ غلط تجارتی سمت کا باعث بن سکتا ہے۔
قیمتیں مختصر مدت میں شدت سے اتار چڑھاؤ کر سکتی ہیں، جس سے 15 منٹ کے سٹاپ نقصان کا امکان بڑھ جاتا ہے۔
رجحان کی تبدیلی کے مقامات کی غلط شناخت نقصانات کا باعث بن سکتی ہے۔
متعلقہ حل:
جامع فیصلوں کے لئے دیگر ٹائم فریم سے اشارے شامل کریں تاکہ صرف ایک ٹائم فریم پر انحصار کرنے سے بچیں۔
مارکیٹ کی اتار چڑھاؤ کا اندازہ کریں اور ہائی اتار چڑھاؤ کے دوران سٹاپ نقصان کی حد کو مناسب طریقے سے کم کریں۔
رجحان کی تبدیلی کے نقطہ کی نشاندہی کا طریقہ کار شامل کریں تاکہ پوزیشنوں کو تبدیلی سے قبل بروقت بند کیا جاسکے۔
مزید اصلاحات کے لئے ابھی بھی گنجائش ہے:
رجحان کی گرفتاری کو بہتر بنانے کے لئے دیگر ٹائم فریم اشارے شامل کریں.
بہترین پیرامیٹرز تلاش کرنے کے لئے مختلف سٹاپ نقصان تناسب کی ترتیبات کی جانچ کریں.
حجم کے فرق سے غلطیوں سے بچنے کے لئے حجم کے اشارے شامل کریں.
آؤٹ پوائنٹس کو بہتر بنانے کے لئے رجحان کی تبدیلی کے طریقہ کار کو شامل کریں.
ٹریلنگ اسٹاپ قیمت کے وقفوں کو بڑھانے کا جائزہ لیں تاکہ اسٹاپ نقصان کے خطرات کو مزید کم کیا جاسکے۔
اس حکمت عملی کی مجموعی کارکردگی اچھی ہے۔ منطق واضح اور سمجھنے میں آسان ہے۔ اس کے فوائد ہیں جیسے متحرک اسٹاپ نقصان کی ایڈجسٹمنٹ ، کثرت سے تجارت ، اور رجحانات کے ساتھ تجارت۔ یہ خطرات کو مؤثر طریقے سے کنٹرول کرسکتا ہے اور منافع میں تالا لگا سکتا ہے ، اور مزید جانچ اور اصلاح کے قابل ہے۔ لیکن ابھی بھی بہتری کی گنجائش ہے۔ حکمت عملی کے استحکام اور منافع کو مزید مستحکم کرنے کے لئے متعدد زاویوں سے جامع فیصلے ، پیرامیٹر کی اصلاح ، رجحان الٹ کی نشاندہی کے طریقہ کار وغیرہ کو شامل کرنے جیسے پہلوؤں سے بہتری کی سفارش کی جاتی ہے۔
/*backtest start: 2023-12-13 00:00:00 end: 2023-12-15 02:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Anand's Strategy", overlay=true) // Get the high and low of the previous day's candle prev_high = request.security(syminfo.tickerid, "D", high[2]) prev_low = request.security(syminfo.tickerid, "D", low[2]) // var float prev_high = na // var float prev_low = na prev_close = request.security(syminfo.tickerid, "D", close[1]) getDayIndexedHighLow(_bar) => _indexed_high = request.security(syminfo.tickerid, "D", high[_bar]) _indexed_low = request.security(syminfo.tickerid, "D", low[_bar]) [_indexed_high, _indexed_low] var index = 2 while index >= 0 [indexed_high_D, indexed_low_D] = getDayIndexedHighLow(index) if prev_close > indexed_high_D or prev_close < indexed_low_D prev_high := indexed_high_D prev_low := indexed_low_D break // Decrease the index to move to the previous 15-minute candle index := index - 1 // Determine the trade direction based on the candle criterion trade_direction = prev_close > prev_high ? 1 : (prev_close < prev_low ? -1 : 0) // Get the current close from 15-minute timeframe current_close = request.security(syminfo.tickerid, "15", close[1]) prev_high_15m = request.security(syminfo.tickerid, "15", high[2]) prev_low_15m = request.security(syminfo.tickerid, "15", low[2]) // var float prev_high_15m = na // var float prev_low_15m = na getIndexedHighLow(_bar) => _indexed_high = request.security(syminfo.tickerid, "15", high[_bar]) _indexed_low = request.security(syminfo.tickerid, "15", low[_bar]) [_indexed_high, _indexed_low] // Loop through previous 15-minute candles until the condition is met var i = 2 while i >= 2 [indexed_high_15m, indexed_low_15m] = getIndexedHighLow(i) if current_close > indexed_high_15m or current_close < indexed_low_15m prev_high_15m := indexed_high_15m prev_low_15m := indexed_low_15m break // Decrease the index to move to the previous 15-minute candle i := i - 1 buy_condition = trade_direction == 1 and current_close > prev_high_15m stop_loss_buy = prev_low_15m // Sell Trade Criteria in Negative Trend sell_condition = trade_direction == -1 and current_close < prev_low_15m stop_loss_sell = prev_high_15m // Trailing Stop Loss for Buy Trade // Custom Trailing Stop Function for Buy Trade var float trail_stop_buy = na trailing_buy_condition = buy_condition and current_close > trail_stop_buy if trailing_buy_condition trail_stop_buy := current_close // Custom Trailing Stop Function for Sell Trade var float trail_stop_sell = na trailing_sell_condition = sell_condition and current_close < trail_stop_sell if trailing_sell_condition trail_stop_sell := current_close // Take Buy Trade with Stop Loss if (buy_condition) strategy.entry("Buy", strategy.long) strategy.exit("Buy Stop Loss", "Buy", stop=stop_loss_buy) // Take Sell Trade with Stop Loss if (sell_condition) strategy.entry("Sell", strategy.short) strategy.exit("Sell Stop Loss", "Sell", stop=stop_loss_sell) // Set the background color based on the trade direction bgcolor(trade_direction == 1 ? color.new(color.green, 90) : trade_direction == -1 ? color.new(color.red, 90) : na)