ای ایم اے کراس اوور ٹریڈنگ حکمت عملی مختلف ادوار کی ای ایم اے لائنوں کا حساب کتاب کرکے اور ان کے کراس اوور کی صورتحال کا پتہ لگاکر خرید اور فروخت کے سگنل تیار کرتی ہے۔ جب تیز ای ایم اے سست ای ایم اے سے اوپر عبور کرتی ہے تو خرید کا سگنل تیار ہوتا ہے۔ جب تیز ای ایم اے سست ای ایم اے سے نیچے عبور کرتی ہے تو فروخت کا سگنل تیار ہوتا ہے۔
اس حکمت عملی کا مرکز مختلف ادوار کے ساتھ دو ای ایم اے لائنوں کا حساب لگانا ہے ، جس میں 9 کی ڈیفالٹ مدت کے ساتھ تیز ای ایم اے اور 20 کی ڈیفالٹ مدت کے ساتھ سست ای ایم اے شامل ہیں۔ کوڈ پائن اسکرپٹ میں بلٹ ان ای ایم اے فنکشن کو کال کرکے ان دو لائنوں کا حساب لگاتا ہے۔ اس کے بعد یہ دو ای ایم اے لائنوں کو عبور کرنے کا پتہ لگا کر تجارتی سگنل تیار کرتا ہے۔ خاص طور پر ، اگر تیز ای ایم اے سست ای ایم اے سے اوپر عبور کرتا ہے تو ، خرید کا سگنل ٹرگر ہوتا ہے۔ اگر تیز ای ایم اے سست ای ایم اے سے نیچے عبور کرتا ہے تو ، فروخت کا سگنل ٹرگر ہوتا ہے۔
کراس اوور کی صورتحال کا پتہ پائن اسکرپٹ میں بلٹ ان افعال کا استعمال کرتے ہوئے کراس اوور اور کراس اوور کا پتہ لگایا جاتا ہے۔ کراس اوور فنکشن چیک کرتا ہے کہ آیا تیز EMA سست EMA سے اوپر سے گزرتا ہے اور بولین ویلیو واپس کرتا ہے۔ کراس اوور فنکشن چیک کرتا ہے کہ آیا تیز EMA سست EMA سے نیچے سے گزرتا ہے اور بولین ویلیو واپس کرتا ہے۔ ان دونوں افعال کی واپسی کی اقدار کی بنیاد پر ، کوڈ اسی طرح کے خرید یا فروخت کے آرڈر جمع کرتا ہے۔
اس کے علاوہ ، کوڈ میں کچھ معاون شرائط فراہم کی گئی ہیں جیسے شروع / اختتامی تاریخوں کی ترتیب ، صرف لمبی یا مختصر تجارتوں کو محدود کرنا وغیرہ۔ یہ خصوصیات زیادہ نفیس بیک ٹیسٹ یا اصلاحات کرنے میں مدد کرتی ہیں۔
اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ یہ بہت آسان اور سیدھا ہے ، سمجھنے اور لاگو کرنے میں آسان ہے ، جس سے یہ ابتدائی افراد کے لئے سیکھنے کے لئے موزوں ہے۔ نیز ، رجحان کی پیروی کرنے والے اشارے کی حیثیت سے ، متحرک اوسط مؤثر طریقے سے مارکیٹ کے رجحانات کو ٹریک کرسکتے ہیں اور رفتار کو استعمال کرکے اضافی منافع حاصل کرسکتے ہیں۔ آخر میں ، اس حکمت عملی میں کچھ پیرامیٹرز ہیں ، جس سے اسے سیدھا کرنا اور بہتر بنانا آسان ہوجاتا ہے۔
اس حکمت عملی کا سامنا کرنے والے اہم خطرات وِپسا تجارت اور رجحان کی تبدیلی ہیں۔ ای ایم اے لائنیں قلیل مدتی مارکیٹ میں اتار چڑھاؤ کا شکار ہیں ، جو غلط سگنل پیدا کرسکتی ہیں اور غیر ضروری تجارت کو متحرک کرسکتی ہیں ، جس سے تجارت کی تعدد اور اخراجات میں اضافہ ہوتا ہے۔ دوسری طرف ، جب کراس اوور سگنل ٹرگر ہوتے ہیں تو ، رجحان اپنے الٹ نقطہ کے قریب ہوسکتا ہے ، جس سے تجارت زیادہ خطرناک ہوجاتی ہے۔ غیر مناسب پیرامیٹر کی ترتیبات حکمت عملی کی کارکردگی کو بھی متاثر کرسکتی ہیں۔
ای ایم اے کے ادوار کو ایڈجسٹ کرنے ، فلٹرز کو شامل کرنے جیسے طریقے وِپساؤ کو کم کرنے میں مدد کرسکتے ہیں۔ اسٹاپ نقصان کے احکامات ایک ہی تجارت کے نقصان کو کنٹرول کرتے ہیں۔ پیرامیٹر کی اصلاح استحکام کو بہتر بناتی ہے۔ تاہم ، کوئی بھی تجارتی حکمت عملی نقصانات سے مکمل طور پر بچ نہیں سکتی ، لہذا کسی کو خطرہ مول لینے کے لئے تیار رہنا چاہئے۔
اس حکمت عملی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:
ای ایم اے کراس اوور ایک سادہ لیکن موثر رجحان کی پیروی کرنے والی حکمت عملی ہے۔ یہ تجارتی سگنل پیدا کرنے کے لئے ای ایم اے کراس کا استعمال کرتا ہے ، قیمت کے رجحانات کو خود بخود پکڑتا ہے۔ یہ سمجھنے میں آسان اور سایڈست حکمت عملی ابتدائی افراد کے لئے سیکھنے کے لئے بہترین ہے۔ اسے زیادہ پیچیدہ حکمت عملیوں میں بھی ضم کیا جاسکتا ہے۔ تاہم ، تمام حکمت عملیوں میں خطرات ہوتے ہیں اور محتاط انتظام کی ضرورت ہوتی ہے۔ اصلاح اور افزودگی کے بازار کے حالات کے لحاظ سے مسلسل بہتری اس حکمت عملی کو زیادہ مضبوط بنا سکتی ہے۔
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 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/ // This strategy has been created for illustration purposes only and should not be relied upon as a basis for buying, selling, or holding any asset or security. // © kirilov //@version=4 strategy( "EMA Cross Strategy", overlay=true, calc_on_every_tick=true, currency=currency.USD ) // INPUT: // Options to enter fast and slow Exponential Moving Average (EMA) values emaFast = input(title="Fast EMA", type=input.integer, defval=9, minval=1, maxval=9999) emaSlow = input(title="Slow EMA", type=input.integer, defval=20, minval=1, maxval=9999) // Option to select trade directions tradeDirection = input(title="Trade Direction", options=["Long", "Short", "Both"], defval="Both") // Options that configure the backtest date range startDate = input(title="Start Date", type=input.time, defval=timestamp("01 Jan 1970 00:00")) endDate = input(title="End Date", type=input.time, defval=timestamp("31 Dec 2170 23:59")) // CALCULATIONS: // Use the built-in function to calculate two EMA lines fastEMA = ema(close, emaFast) slowEMA = ema(close, emaSlow) // PLOT: // Draw the EMA lines on the chart plot(series=fastEMA, color=color.black, linewidth=2) plot(series=slowEMA, color=color.red, linewidth=2) // CONDITIONS: // Check if the close time of the current bar falls inside the date range inDateRange = true // Translate input into trading conditions longOK = (tradeDirection == "Long") or (tradeDirection == "Both") shortOK = (tradeDirection == "Short") or (tradeDirection == "Both") // Decide if we should go long or short using the built-in functions longCondition = crossover(fastEMA, slowEMA) shortCondition = crossunder(fastEMA, slowEMA) // ORDERS: // Submit entry (or reverse) orders if (longCondition and inDateRange) strategy.entry(id="long", long=true, when = longOK) if (shortCondition and inDateRange) strategy.entry(id="short", long=false, when = shortOK) // Submit exit orders in the cases where we trade only long or only short if (strategy.position_size > 0 and shortCondition) strategy.exit(id="exit long", stop=close) if (strategy.position_size < 0 and longCondition) strategy.exit(id="exit short", stop=close)