EMA پر مبنی گولڈن کراس ٹریڈنگ حکمت عملی


تخلیق کی تاریخ: 2024-02-22 17:48:09 آخر میں ترمیم کریں: 2024-02-22 17:48:09
کاپی: 1 کلکس کی تعداد: 729
1
پر توجہ دیں
1617
پیروکار

EMA پر مبنی گولڈن کراس ٹریڈنگ حکمت عملی

جائزہ

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

حکمت عملی کا اصول

اس حکمت عملی کا مرکز دو مختلف ادوار کے EMA میڈین لائنوں کا حساب لگانا ہے ، جس میں ایک مختصر ادوار EMA میڈین لائن ، ڈیفالٹ دورانیہ 9 ، اور ایک طویل ادوار EMA میڈین لائن ، ڈیفالٹ دورانیہ 20 شامل ہے۔ کوڈ ان دونوں لائنوں کا حساب لگاتا ہے ، پن اسکرپٹ میں ایما بلٹ ان فنکشن کو کال کرکے۔ پھر تجارت پیدا کرنے کے لئے یہ فیصلہ کیا جاتا ہے کہ آیا دو 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)