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

دوہری EMA کراس اوور حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-13 17:35:14
ٹیگز:

img

جائزہ

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

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

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

  1. تیز اور سست EMAs کا حساب لگائیں: لمبائی fastInput کے تیز EMA اور لمبائی slowInput کے سست EMA کا حساب لگانے کے لئے ta.ema() استعمال کریں۔

  2. backtest وقت کی حد مقرر کریں: backtest وقت کی حد کو فلٹر کرنے کے لئے استعمال کریںDateFilter، اور شروع اور اختتام کے وقت مقرر کرنے کے لئے backtestStartDate اور backtestEndDate کا استعمال کریں.

  3. تجارتی سگنل تیار کریں: تیز رفتار اور سست EMAs کا موازنہ کرنے کے لئے ta.crossover() اور ta.crossunder() کا استعمال کریں ، جب تیز EMA سست EMA سے عبور کرتا ہے تو خرید سگنل تیار کریں ، اور جب تیز EMA سست EMA سے عبور کرتا ہے تو فروخت سگنل تیار کریں۔

  4. ٹائم رینج سے باہر کے احکامات کو ہینڈل کریں: بیک ٹسٹ ٹائم رینج سے باہر خالی احکامات کو منسوخ کریں ، اور تمام پوزیشنوں کو فلیٹ کریں۔

  5. ای ایم اے لائنوں کا نقشہ بنائیں: چارٹ پر تیز اور سست ای ایم اے لائنوں کا نقشہ بنائیں۔

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

یہ ایک بہت ہی سادہ رجحان کی پیروی کی حکمت عملی ہے، مندرجہ ذیل فوائد کے ساتھ:

  1. سادہ منطق، سمجھنے اور لاگو کرنے کے لئے آسان.

  2. ای ایم اے قیمتوں کے اعداد و شمار کو ہموار کرتا ہے اور تجارت کے شور کو کم کرتا ہے۔

  3. قابل تخصیص EMA ادوار، مختلف مارکیٹ کے ماحول کے مطابق ڈھالنے کے قابل.

  4. لچکدار backtest وقت کی حد مخصوص وقت کے ادوار کی جانچ کے لئے.

  5. داخلہ اور باہر نکلنے کے حالات کو بہتر بنایا جاسکتا ہے، دوسرے اشارے کے ساتھ مل کر کیا جا سکتا ہے.

خطرے کا تجزیہ

اس حکمت عملی میں کچھ خطرات بھی ہیں:

  1. ڈبل ای ایم اے حکمت عملی خام ہے، جو مارکیٹ کی تبدیلیوں کے مطابق لچکدار طور پر اپنانے کے قابل نہیں ہے۔

  2. اکثر تجارت اور بار بار تجارت کا خطرہ۔

  3. غلط EMA پیرامیٹرز غلط ٹریڈنگ سگنل کا سبب بن سکتے ہیں۔

  4. غیر معقول backtest وقت کی حد overfitting کی قیادت کر سکتے ہیں.

  5. غیر یقینی طور پر استعمال اور نقصان کا خطرہ۔

خطرات کو پیرامیٹر کی اصلاح، فلٹرنگ اتار چڑھاؤ، سٹاپ نقصان وغیرہ کے ذریعے منظم کیا جا سکتا ہے.

اصلاح کی ہدایات

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

  1. بہترین پیرامیٹر مجموعہ تلاش کرنے کے لئے EMA ادوار کو بہتر بنائیں.

  2. غیر ضروری تجارتوں کو فلٹر کرنے کے لئے دیگر اشارے شامل کریں.

  3. ایک تجارت کے نقصان کو کنٹرول کرنے کے لئے سٹاپ نقصان شامل کریں.

  4. ٹریڈنگ کی تعدد کو کم کرنے کے لئے رجحان، اتار چڑھاؤ فلٹر شامل کریں.

  5. مختلف مصنوعات کو آزمائیں تاکہ بہترین فٹ مل سکے۔

  6. زیادہ حقیقت پسندانہ بیک ٹیسٹ کے لئے سلائڈ، کمیشن کا استعمال کریں.

خلاصہ

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


/*backtest
start: 2022-11-06 00:00:00
end: 2023-11-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=5
strategy("MollyETF_EMA_Crossover", overlay = true, initial_capital = 100000, default_qty_value=100, default_qty_type=strategy.percent_of_equity)

fastInput = input( 10, "Fast EMA")
slowInput = input( 21, "Slow EMA")

// Calculate two moving averages with different lengths.
float fastMA = ta.ema(close, fastInput)
float slowMA = ta.ema(close, slowInput)


// STEP 1. Create inputs that configure the backtest's date range
useDateFilter = input.bool(true, title="Filter Date Range of Backtest",
     group="Backtest Time Period")
backtestStartDate = input(timestamp("1 Jan 2018"), 
     title="Start Date", group="Backtest Time Period",
     tooltip="This start date is in the time zone of the exchange " +  
     "where the chart's instrument trades. It doesn't use the time " + 
     "zone of the chart or of your computer.")
backtestEndDate = input(timestamp("7 Sep 2023"),
     title="End Date", group="Backtest Time Period",
     tooltip="This end date is in the time zone of the exchange " + 
     "where the chart's instrument trades. It doesn't use the time " + 
     "zone of the chart or of your computer.")

// STEP 2. See if current bar falls inside the date range
inTradeWindow = true

// STEP 3. Include the date filter with the entry order conditions

// Enter a long position when `fastMA` crosses over `slowMA`.
if inTradeWindow and ta.crossover(fastMA, slowMA)
    strategy.entry("buy", strategy.long)

// Enter a short position when `fastMA` crosses under `slowMA`.
if inTradeWindow and ta.crossunder(fastMA, slowMA)
    strategy.close_all(comment="sell")

// STEP 4. With the backtest date range over, exit all open
// trades and cancel all unfilled pending orders
if not inTradeWindow and inTradeWindow[1]
    strategy.cancel_all()
    strategy.close_all(comment="Date Range Exit")

// Plot the moving averages.
plot(fastMA, "Fast MA", color.aqua)
plot(slowMA, "Slow MA", color.orange)




مزید