اس حکمت عملی کا نام
بنیادی منطق حالیہ نظرثانی کی مدت میں قریب قریب موم بتیوں (اپ کلوز کاؤنٹ) اور نیچے قریب موم بتیوں (نیچے کلوز کاؤنٹ) کی تعداد گننا ہے۔ اگر اپ کلوز کاؤنٹ بڑا ہے تو ، یہ ایک تیزی کی مارکیٹ کی نشاندہی کرتا ہے۔ اگر ڈاؤن کلوز کاؤنٹ بڑا ہے تو ، یہ ایک bearish مارکیٹ کی نشاندہی کرتا ہے۔ ای ایم اے اشارے کو فلٹر کے طور پر استعمال کیا جاتا ہے ، صرف اس وقت غور کیا جاتا ہے جب قیمت > ای ایم اے ، اور مختصر جب قیمت < ای ایم اے۔ یہ سیشن 1 اور سیشن 2 کو تجارتی سیشن کے طور پر بھی طے کرتا ہے۔
تفصیلی منطق:
لانگ سگنل اس وقت ٹرگر ہوتا ہے جب: inSession true (ٹریڈنگ سیشنز میں) اور upCloseCount > downCloseCount (زیادہ قریب موم بتیاں) اور close > ema (بند کرنے کی قیمت EMA سے زیادہ) اور currentSignal نہیں ہے
شارٹ سگنل اس وقت ٹرگر ہوتا ہے جب: inSession true اور downCloseCount > upCloseCount (زیادہ نیچے بند موم بتیاں) اور close < ema (ختم قیمت EMA سے کم) اور currentSignal
حل:
یہ حکمت عملی پہلے سے طے شدہ تجارتی سیشنوں کے اندر قریب اور نیچے قریب موم بتیوں کا موازنہ کرکے اور ای ایم اے فلٹر کا استعمال کرتے ہوئے رجحان سگنلز کی نشاندہی کرتی ہے۔ اس کا کچھ رجحان مندرجہ ذیل اثر ہے لیکن جھوٹے سگنلز کے خطرات بھی ہیں۔ پیرامیٹرز کو بہتر بنانے ، اسٹاپ نقصان شامل کرنے ، فلٹرز کو بڑھانے وغیرہ سے بہتر بنائیں۔ بیک ٹیسٹ میں مکمل طور پر اندازہ کریں۔
/*backtest start: 2023-11-26 00:00:00 end: 2023-12-26 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Up vs Down Close Candles Strategy with EMA and Session Time Frames", shorttitle="UvD Strat EMA Session", overlay=true) // User input to define the lookback period, EMA period, and session strings for time frames int lookback = input(20, title="Lookback Period") int emaPeriod = input(50, title="EMA Period") string session1 = input("0900-1200", title="Time Frame 1 Session") string session2 = input("1300-1600", title="Time Frame 2 Session") // Calculate the EMA float ema = ta.ema(close, emaPeriod) // State variable to track the current signal var string currentSignal = na // Counting up-close and down-close candles within the lookback period int upCloseCount = 0 int downCloseCount = 0 if barstate.isnew upCloseCount := 0 downCloseCount := 0 for i = 0 to lookback - 1 if close[i] > close[i + 1] upCloseCount += 1 else if close[i] < close[i + 1] downCloseCount += 1 // Define the long (buy) and short (sell) conditions with EMA filter and session time frame bool inSession = time(timeframe.period, session1) or time(timeframe.period, session2) bool longCondition = inSession and upCloseCount > downCloseCount and close > ema and currentSignal != "long" bool shortCondition = inSession and downCloseCount > upCloseCount and close < ema and currentSignal != "short" // Enter or exit the market based on conditions if longCondition currentSignal := "long" strategy.entry("Buy", strategy.long) if shortCondition currentSignal := "short" strategy.entry("Sell", strategy.short) // Exit logic for long and short positions if currentSignal == "long" and strategy.position_size <= 0 strategy.close("Sell") if currentSignal == "short" and strategy.position_size >= 0 strategy.close("Buy") plot(ema, color=color.blue, title="EMA")