وسائل لوڈ ہو رہے ہیں... لوڈنگ...

ای ایم اے کراس اوور ٹریڈنگ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-02-22 17:48:09
ٹیگز:

img

جائزہ

ای ایم اے کراس اوور ٹریڈنگ حکمت عملی مختلف ادوار کی ای ایم اے لائنوں کا حساب کتاب کرکے اور ان کے کراس اوور کی صورتحال کا پتہ لگاکر خرید اور فروخت کے سگنل تیار کرتی ہے۔ جب تیز ای ایم اے سست ای ایم اے سے اوپر عبور کرتی ہے تو خرید کا سگنل تیار ہوتا ہے۔ جب تیز ای ایم اے سست ای ایم اے سے نیچے عبور کرتی ہے تو فروخت کا سگنل تیار ہوتا ہے۔

حکمت عملی منطق

اس حکمت عملی کا مرکز مختلف ادوار کے ساتھ دو ای ایم اے لائنوں کا حساب لگانا ہے ، جس میں 9 کی ڈیفالٹ مدت کے ساتھ تیز ای ایم اے اور 20 کی ڈیفالٹ مدت کے ساتھ سست ای ایم اے شامل ہیں۔ کوڈ پائن اسکرپٹ میں بلٹ ان ای ایم اے فنکشن کو کال کرکے ان دو لائنوں کا حساب لگاتا ہے۔ اس کے بعد یہ دو ای ایم اے لائنوں کو عبور کرنے کا پتہ لگا کر تجارتی سگنل تیار کرتا ہے۔ خاص طور پر ، اگر تیز ای ایم اے سست ای ایم اے سے اوپر عبور کرتا ہے تو ، خرید کا سگنل ٹرگر ہوتا ہے۔ اگر تیز ای ایم اے سست ای ایم اے سے نیچے عبور کرتا ہے تو ، فروخت کا سگنل ٹرگر ہوتا ہے۔

کراس اوور کی صورتحال کا پتہ پائن اسکرپٹ میں بلٹ ان افعال کا استعمال کرتے ہوئے کراس اوور اور کراس اوور کا پتہ لگایا جاتا ہے۔ کراس اوور فنکشن چیک کرتا ہے کہ آیا تیز EMA سست EMA سے اوپر سے گزرتا ہے اور بولین ویلیو واپس کرتا ہے۔ کراس اوور فنکشن چیک کرتا ہے کہ آیا تیز EMA سست EMA سے نیچے سے گزرتا ہے اور بولین ویلیو واپس کرتا ہے۔ ان دونوں افعال کی واپسی کی اقدار کی بنیاد پر ، کوڈ اسی طرح کے خرید یا فروخت کے آرڈر جمع کرتا ہے۔

اس کے علاوہ ، کوڈ میں کچھ معاون شرائط فراہم کی گئی ہیں جیسے شروع / اختتامی تاریخوں کی ترتیب ، صرف لمبی یا مختصر تجارتوں کو محدود کرنا وغیرہ۔ یہ خصوصیات زیادہ نفیس بیک ٹیسٹ یا اصلاحات کرنے میں مدد کرتی ہیں۔

فوائد کا تجزیہ

اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ یہ بہت آسان اور سیدھا ہے ، سمجھنے اور لاگو کرنے میں آسان ہے ، جس سے یہ ابتدائی افراد کے لئے سیکھنے کے لئے موزوں ہے۔ نیز ، رجحان کی پیروی کرنے والے اشارے کی حیثیت سے ، متحرک اوسط مؤثر طریقے سے مارکیٹ کے رجحانات کو ٹریک کرسکتے ہیں اور رفتار کو استعمال کرکے اضافی منافع حاصل کرسکتے ہیں۔ آخر میں ، اس حکمت عملی میں کچھ پیرامیٹرز ہیں ، جس سے اسے سیدھا کرنا اور بہتر بنانا آسان ہوجاتا ہے۔

خطرے کا تجزیہ

اس حکمت عملی کا سامنا کرنے والے اہم خطرات وِپسا تجارت اور رجحان کی تبدیلی ہیں۔ ای ایم اے لائنیں قلیل مدتی مارکیٹ میں اتار چڑھاؤ کا شکار ہیں ، جو غلط سگنل پیدا کرسکتی ہیں اور غیر ضروری تجارت کو متحرک کرسکتی ہیں ، جس سے تجارت کی تعدد اور اخراجات میں اضافہ ہوتا ہے۔ دوسری طرف ، جب کراس اوور سگنل ٹرگر ہوتے ہیں تو ، رجحان اپنے الٹ نقطہ کے قریب ہوسکتا ہے ، جس سے تجارت زیادہ خطرناک ہوجاتی ہے۔ غیر مناسب پیرامیٹر کی ترتیبات حکمت عملی کی کارکردگی کو بھی متاثر کرسکتی ہیں۔

ای ایم اے کے ادوار کو ایڈجسٹ کرنے ، فلٹرز کو شامل کرنے جیسے طریقے وِپساؤ کو کم کرنے میں مدد کرسکتے ہیں۔ اسٹاپ نقصان کے احکامات ایک ہی تجارت کے نقصان کو کنٹرول کرتے ہیں۔ پیرامیٹر کی اصلاح استحکام کو بہتر بناتی ہے۔ تاہم ، کوئی بھی تجارتی حکمت عملی نقصانات سے مکمل طور پر بچ نہیں سکتی ، لہذا کسی کو خطرہ مول لینے کے لئے تیار رہنا چاہئے۔

اصلاح کے مواقع

اس حکمت عملی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:

  1. بہترین پیرامیٹر سیٹ تلاش کرنے کے لئے EMA ادوار کو بہتر بنائیں
  2. غلط سگنل کو کم کرنے کے لئے فلٹرز کے طور پر MACD، RSI جیسے اشارے شامل کریں
  3. رجحان کی تبدیلیوں سے بچنے کے لئے رجحان کی پیمائش کو شامل کریں
  4. بنیادی اصولوں کی بنیاد پر اسٹاک کا انتخاب کریں
  5. پوزیشن سائزنگ کو ایڈجسٹ کریں، اے ٹی آر کی بنیاد پر مقرر رک جاتا ہے

نتیجہ

ای ایم اے کراس اوور ایک سادہ لیکن موثر رجحان کی پیروی کرنے والی حکمت عملی ہے۔ یہ تجارتی سگنل پیدا کرنے کے لئے ای ایم اے کراس کا استعمال کرتا ہے ، قیمت کے رجحانات کو خود بخود پکڑتا ہے۔ یہ سمجھنے میں آسان اور سایڈست حکمت عملی ابتدائی افراد کے لئے سیکھنے کے لئے بہترین ہے۔ اسے زیادہ پیچیدہ حکمت عملیوں میں بھی ضم کیا جاسکتا ہے۔ تاہم ، تمام حکمت عملیوں میں خطرات ہوتے ہیں اور محتاط انتظام کی ضرورت ہوتی ہے۔ اصلاح اور افزودگی کے بازار کے حالات کے لحاظ سے مسلسل بہتری اس حکمت عملی کو زیادہ مضبوط بنا سکتی ہے۔


/*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)



مزید