یہ حکمت عملی دوہری ای ایم اے گولڈن کراسز ، معمول کے مطابق اے ٹی آر شور فلٹر ، اور اے ڈی ایکس ٹرینڈ اشارے کو یکجا کرتی ہے تاکہ تاجروں کے لئے زیادہ قابل اعتماد خرید سگنل فراہم کی جاسکے۔ یہ جھوٹے سگنل کو فلٹر کرنے اور زیادہ قابل اعتماد تجارتی مواقع کی نشاندہی کرنے کے لئے متعدد اشارے کو مربوط کرتی ہے۔
یہ حکمت عملی ایک دوہری ای ایم اے گولڈن کراس سسٹم بنانے کے لئے 8 مدت اور 20 مدت کے ای ایم اے کا استعمال کرتی ہے۔ یہ خرید سگنل تیار کرتی ہے جب مختصر مدت ای ایم اے طویل مدت ای ایم اے سے تجاوز کرتی ہے۔
اس کے علاوہ اسٹریٹیجی میں فلٹرنگ کے لئے کئی معاون اشارے قائم کیے گئے ہیں:
14 پیریڈ اے ٹی آر، مارکیٹ میں معمولی قیمتوں میں اتار چڑھاؤ کو فلٹر کرنے کے لئے معمول پر.
رجحانات کی طاقت کی نشاندہی کرنے کے لئے 14 پیریڈ ADX۔ تجارت صرف مضبوط رجحانات میں ہی سمجھا جاتا ہے۔
حجم کے 14 پیریڈ ایس ایم اے کو چھوٹے تجارتی حجم کے ساتھ وقت کے نقطہ نظر کو فلٹر کرنے کے لئے.
4/14 پیریڈ کا سپر ٹرینڈ اشارے مارکیٹ کی تیزی یا کمی کی سمت کا فیصلہ کرنے کے لئے۔
صرف اس وقت جب رجحان کی سمت ، معمول کی ATR قیمت ، ADX سطح اور حجم کی شرائط پوری ہوجائیں تو ، EMA گولڈن کراس بالآخر خرید سگنل کو متحرک کرے گا۔
متعدد اشارے کے امتزاج سے قابل اعتماد
ای ایم اے، اے ٹی آر، اے ڈی ایکس اور سپر ٹرینڈ جیسے اشارے کو مربوط کرنے سے سگنل فلٹرنگ کا ایک مضبوط نظام بنتا ہے، جس میں زیادہ قابل اعتماد ہوتا ہے۔
پیرامیٹر ٹیوننگ میں زیادہ لچک
معیاری ATR، ADX، برقرار رکھنے کی مدت وغیرہ کی حد کے اقدار کو بہتر بنایا جا سکتا ہے، زیادہ لچکدار.
بیل اور ریچھ مارکیٹوں میں فرق کرنا
سپر رجحان کا استعمال کرتے ہوئے بیل اور ریچھ مارکیٹوں کی نشاندہی کریں، کھوئے ہوئے مواقع سے بچیں.
پیرامیٹر کی اصلاح میں دشواری
بہت سے پیرامیٹرز، زیادہ سے زیادہ مجموعہ تلاش کرنے میں مشکل.
اشارے کی ناکامی کا خطرہ
اشارے کی پسماندہ نوعیت کی وجہ سے ابھی بھی غلط سگنل کا خطرہ ہے۔ اسٹاپ نقصان کا مناسب نظریہ غور کرنے کی ضرورت ہے۔
کم تجارتی تعدد
متعدد فلٹرز کی وجہ سے تعدد کم ہوتا ہے ، طویل غیر تجارتی مدت ممکن ہے۔
پیرامیٹر مجموعہ کو بہتر بنائیں
زیادہ سے زیادہ مجموعہ تلاش کرنے کے لئے بیک ٹسٹنگ ڈیٹا کی ایک بڑی مقدار کی ضرورت ہوتی ہے.
مشین لرننگ کو شامل کریں
وقت کے ساتھ ساتھ پیرامیٹرز کو خود بخود بہتر بنانے کے لئے ML الگورتھم کا استعمال کریں. موافقت کو بہتر بنائیں.
مزید مارکیٹ عوامل پر غور کریں
مارکیٹ کی ساخت ، جذبات وغیرہ کے اشارے کو یکجا کرنے سے تنوع میں اضافہ ہوتا ہے۔
اس حکمت عملی میں رجحان ، اتار چڑھاؤ اور حجم کی قیمت کے عوامل پر جامع طور پر غور کیا گیا ہے۔ کثیر اشارے فلٹرنگ اور پیرامیٹر ٹوننگ کے ذریعے ، یہ ایک قابل اعتماد تجارتی نظام تشکیل دیتا ہے۔ وشوسنییتا زیادہ ہے اور اصلاح کے ذریعے مزید بہتر بنایا جاسکتا ہے۔
/*backtest start: 2023-11-29 00:00:00 end: 2023-12-06 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Description: //This strategy is a refactored version of an EMA cross strategy with a normalized ATR filter and ADX control. //It aims to provide traders with signals for long positions based on market conditions defined by various indicators. //How it Works: //1. EMA: Uses short (8 periods) and long (20 periods) EMAs to identify crossovers. //2. ATR: Uses a 14-period ATR, normalized to its 20-period historical range, to filter out noise. //3. ADX: Uses a 14-period RMA to identify strong trends. //4. Volume: Filters trades based on a 14-period SMA of volume. //5. Super Trend: Uses a Super Trend indicator to identify the market direction. //How to Use: //- Buy Signal: Generated when EMA short crosses above EMA long, and other conditions like ATR and market direction are met. //- Sell Signal: Generated based on EMA crossunder and high ADX value. //Originality and Usefulness: //This script combines EMA, ATR, ADX, and Super Trend indicators to filter out false signals and identify more reliable trading opportunities. //USD Strength is not working, just simulated it as PSEUDO CODE: [close>EMA(50)] //Strategy Results: //- Account Size: $1000 //- Commission: Not considered //- Slippage: Not considered //- Risk: Less than 5% per trade //- Dataset: Aim for more than 100 trades for sufficient sample size //Note: This script should be used for educational purposes and should not be considered as financial advice. //Chart: //- The script's output is plotted as Buy and Sell signals on the chart. //- No other scripts are included for clarity. //- Have tested with 30mins period //- You are encouraged to play with parameters, let me know if you //@version=5 strategy("Advanced EMA Cross with Normalized ATR Filter, Controlling ADX", shorttitle="ALP V5", overlay=true ) // Initialize variables var bool hasBought = false var int barCountSinceBuy = 0 // Define EMA periods emaShort = ta.ema(close, 8) emaLong = ta.ema(close, 20) // Define ATR parameters atrLength = 14 atrValue = ta.atr(atrLength) maxHistoricalATR = ta.highest(atrValue, 20) minHistoricalATR = ta.lowest(atrValue, 20) normalizedATR = (atrValue - minHistoricalATR) / (maxHistoricalATR - minHistoricalATR) // Define ADX parameters adxValue = ta.rma(close, 14) adxHighLevel = 30 isADXHigh = adxValue > adxHighLevel // Initialize risk management variables var float stopLossPercent = na var float takeProfitPercent = na // Calculate USD strength // That's not working as usd strenght, since I couldn't manage to get usd strength //I've just simulated it as if the current close price is above 50 days average (it's likely a bullish trend), usd is strong (usd_strenth variable is positive) usd_strength = close / ta.ema(close, 50) - 1 // Adjust risk parameters based on USD strength if (usd_strength > 0) stopLossPercent := 3 takeProfitPercent := 6 else stopLossPercent := 4 takeProfitPercent := 8 // Initialize position variable var float positionPrice = na // Volume filter minVolume = ta.sma(volume, 14) * 1.5 isVolumeHigh = volume > minVolume // Market direction using Super Trend indicator [supertrendValue, supertrendDirection] = ta.supertrend(4, 14) bool isBullMarket = supertrendDirection < 0 bool isBearMarket = supertrendDirection > 0 // Buy conditions for Bull and Bear markets buyConditionBull = isBullMarket and ta.crossover(emaShort, emaLong) and normalizedATR > 0.2 buyConditionBear = isBearMarket and ta.crossover(emaShort, emaLong) and normalizedATR > 0.5 buyCondition = buyConditionBull or buyConditionBear // Sell conditions for Bull and Bear markets sellConditionBull = isBullMarket and (ta.crossunder(emaShort, emaLong) or isADXHigh) sellConditionBear = isBearMarket and (ta.crossunder(emaShort, emaLong) or isADXHigh) sellCondition = sellConditionBull or sellConditionBear // Final Buy and Sell conditions if (buyCondition) strategy.entry("Buy", strategy.long) positionPrice := close hasBought := true barCountSinceBuy := 0 if (hasBought) barCountSinceBuy := barCountSinceBuy + 1 // Stop-loss and take-profit levels longStopLoss = positionPrice * (1 - stopLossPercent / 100) longTakeProfit = positionPrice * (1 + takeProfitPercent / 100) // Final Sell condition finalSellCondition = sellCondition and hasBought and barCountSinceBuy >= 3 and isVolumeHigh if (finalSellCondition) strategy.close("Buy") positionPrice := na hasBought := false barCountSinceBuy := 0 // Implement stop-loss and take-profit strategy.exit("Stop Loss", "Buy", stop=longStopLoss) strategy.exit("Take Profit", "Buy", limit=longTakeProfit) // Plot signals plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy") plotshape(series=finalSellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")