یہ حکمت عملی داخلہ اور باہر نکلنے کے لئے رجحان کی سمت کا تعین کرنے کے لئے آر ایس آئی اشارے کے ساتھ مل کر، ایکسپونینشل چلتی اوسط (ای ایم اے) کراس اوور کے اصول کا استعمال کرتی ہے.
اس حکمت عملی میں مختلف ادوار کے ساتھ 3 ای ایم اے لائنیں استعمال کی جاتی ہیں - تیز ، درمیانی اور سست لائنیں۔ جب تیز ای ایم اے درمیانی ای ایم اے سے اوپر جاتا ہے تو خرید کا اشارہ پیدا ہوتا ہے ، اور جب تیز ای ایم اے درمیانی ای ایم اے سے نیچے جاتا ہے تو فروخت کا اشارہ پیدا ہوتا ہے۔
اسٹریٹجی میں اوور بکڈ اور اوور سیلڈ شرائط کا اندازہ لگانے کے لئے آر ایس آئی اشارے بھی شامل ہیں۔ آر ایس آئی کسی اثاثے کی نسبتا strength طاقت کو ظاہر کرنے کے لئے کسی مدت میں اوسط اپ دن سے اوسط ڈاؤن دن کا تناسب شمار کرتا ہے۔ اوور بکڈ حد سے اوپر کی قیمتیں اوور بکڈ شرائط کی نشاندہی کرتی ہیں ، جبکہ اوور سیلڈ حد سے نیچے کی قیمتیں اوور سیلڈ شرائط کی نشاندہی کرتی ہیں۔
حکمت عملی کے لئے خریداری کی شرائط یہ ہیں:
فروخت کی شرائط یہ ہیں:
یہ حکمت عملی رجحان کی سمت کا تعین کرنے کے لئے EMA کراس اوورز کا استعمال کرتے ہوئے RSI کے ساتھ مل کر قلیل مدتی الٹ کے مواقع کی نشاندہی کرتی ہے ، اس حکمت عملی میں رجحان کی پیروی اور اوسط الٹ کے دونوں تصورات کا استعمال ہوتا ہے۔
یہ حکمت عملی ای ایم اے کراس اوورز اور آر ایس آئی کو یکجا کرتی ہے تاکہ رجحان اور زیادہ خرید / فروخت کی سطح دونوں کا اندازہ لگایا جاسکے ، جھوٹے بریک آؤٹ اور شور مچانے والی تجارتوں کو فلٹر کیا جاسکے۔ 3 ای ایم اے لائنوں کا استعمال کرتے ہوئے واضح رجحان تعصب ملتا ہے۔
آر ایس آئی کی ترتیبات حکمت عملی کو فائدہ مند oversold / oversold علاقوں میں داخل ہونے اور باہر نکلنے کی اجازت دیتی ہیں.
تجارت میں داخل ہونے سے پہلے قیمت کے لئے تمام 3 ای ایم اے لائنوں کو توڑنے کی ضرورت کو روکنے میں مدد ملتی ہے.
تمام بیک ٹسٹ شدہ حکمت عملیوں کی طرح ، اس حکمت عملی کو بیک ٹسٹ اوور فٹنگ کا خطرہ ہے۔ براہ راست تجارت میں مارکیٹ کے بدلتے ہوئے حالات سے بہتر پیرامیٹرز نامناسب ہوسکتے ہیں۔
مختلف مارکیٹوں میں، حکمت عملی غلط سگنل پیدا کر سکتی ہے اور نقصانات کا سامنا کرنا پڑتا ہے.
آر ایس آئی پیرامیٹر کی ناقص ترتیب سے مواقع یا غلط سگنل ضائع ہوسکتے ہیں۔
شور سے بچنے کے لئے طویل وقت کے فریم پر توثیق شامل کرنے پر غور کریں.
سگنل کی توثیق کرنے کے لئے تجارت میں داخل ہونے سے پہلے ای ایم اے لائنوں کے دوبارہ ٹیسٹ کا انتظار کریں۔
مشترکہ سگنل کی تصدیق کے لئے MACD، بولنگر بینڈ جیسے دیگر اشارے شامل کریں.
مضبوطی کے لئے پیرامیٹرز کو بہتر بنانے کے لئے مشین سیکھنے کا استعمال کریں.
غیر یقینی رجحانات سے جلدی باہر نکلنے کے لئے سٹاپ نقصان شامل کرنے پر غور کریں۔
یہ حکمت عملی مختصر مدت کے الٹ جانے کا فائدہ اٹھاتے ہوئے ای ایم اے کراس اوورز اور آر ایس آئی کو جوڑ کر رجحان کی نشاندہی کرتی ہے۔ اس میں رجحان کے بعد اور اوسط ریورس کے دونوں تصورات کو موثر انداز میں استعمال کیا جاتا ہے۔ سگنل کی توثیق ، پیرامیٹر ٹوننگ ، اسٹاپ نقصانات وغیرہ کے ذریعے اصلاح کی گنجائش ہے۔ لیکن بیک ٹیسٹ اوور فٹنگ پر غور کرنے کی ضرورت ہے ، اور براہ راست کارکردگی کا اندازہ لگانا چاہئے۔ مجموعی طور پر ، یہ سیکھنے کے لئے ایک مفید حوالہ کے طور پر کام کرتا ہے ، لیکن براہ راست مارکیٹوں میں مزید توثیق کی ضرورت ہے۔
/*backtest start: 2023-09-24 00:00:00 end: 2023-10-24 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © chadsadachai //@version=5 strategy("EMA Cross V1", overlay= true) //rsi length = input.int(title = "Rsi Lenght" , defval=26 , minval=1, maxval=50) overS = input.int(title = "Rsi OVS line" , defval=30 , minval=1, maxval=40) overB = input.int(title = "Rsi OVB line" , defval=70 , minval=1, maxval=100) mLine = input.int(title = "Rsi Medium line" , defval=42 , minval=1, maxval=60) price = close vrsi = ta.rsi(price, length) co = vrsi >= mLine and vrsi < overB cu = ta.crossunder(vrsi, overB) //ema F = input.int(title = "EMA Fast" , defval=17 , minval=1, maxval=50) M = input.int(title = "EMA Medium" , defval=35, minval=1, maxval=100) S = input.int(title = "EMA Slow" , defval=142, minval=1, maxval=200) emaF = ta.ema(price , F) emaM = ta.ema(price , M) emaS = ta.ema(price , S) //plot plot(emaF , color = color.green , linewidth=1) plot(emaM , color = color.yellow , linewidth=1) plot(emaS , color = color.red , linewidth=1) //Time Stamp start = timestamp(input.int(title = "Start Year" , defval=2011 , minval=2011, maxval=2025), input.int(title = "Start Month" , defval=1 , minval=1, maxval=12), input.int(title = "Start Day" , defval=1 , minval=1, maxval=31), 0, 0) end = timestamp(input.int(title = "End Year" , defval=2025 , minval=2011, maxval=2025), input.int(title = "End Month" , defval=1 , minval=1, maxval=12), input.int(title = "End Day" , defval=1 , minval=1, maxval=31), 0, 0) // years = input.int(title = "Year" , defval=2018 , minval=2011, maxval=2025) // months = input.int(title = "Month" , defval=1 , minval=1, maxval=12) // days = input.int(title = "Day" , defval=1 , minval=1, maxval=31) //longCondition Default // longCondition1 = EMA_Fast >= EMA_Slow and EMA_Fast >= EMA_Medium//ta.crossover(EMA_Fast, EMA_Slow) EMA_Fast > EMA_Slow and EMA_Medium > EMA_Slow // longCondition3 = price >= EMA_Medium and price > EMA_Slow // longCondition2 = vrsi >= overSold and vrsi <= overBought //longCondition & shortCondition ETHUSD // 1.price > emaF > emaM > emaS // 2.rsi overcross overS longC1 = price > emaF and price > emaM and price > emaS // longC1 = ta.crossover(emaF, emaM) longC2 = if longC1 co // shortC1 = EMA_Fast < EMA_Medium //and EMA_Fast < EMA_Slow and EMA_Medium < EMA_Slow //and cu // shortC2 = overBought > vrsi //and vrsi < overBought //overSold < vrsi and vrsi < mediumLine // exitLong Condition // 1.price < emaF < emaM < emaS // 2.rsi overcross mediumLine exitLong1 = ta.crossunder(emaF, emaM) //or emaF < emaM//and price < emaM and price < emaF exitLong2 = ta.crossunder(vrsi,mLine) //exitLong3 = price < emaM //strategy.entry if time >=start and time <=end strategy.entry("Buy", strategy.long , when = longC1 and longC2) // if(exitLong1 or exitLong2) strategy.close("Buy" , when = exitLong1 or exitLong2) // exitShort1 = EMA_Fast > EMA_Medium // //exitShort2 = ta.crossover(vrsi , mediumLine) // exitShort2 = ta.crossunder (vrsi,mediumLine) // strategy.close("Short" , when = exitShort1 or exitShort2) // //shortCondition = cu // //if (shortCondition1 and shortCondition2) // //strategy.entry("My Short Entry Id", strategy.short)