کثیر ٹائم فریم متحرک ای ایم اے ٹریڈنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-12 12:18:41
ٹیگز:

img

جائزہ

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

حکمت عملی کا نام

کثیر ٹائم فریم متحرک ای ایم اے ٹریڈنگ حکمت عملی

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

اسٹریٹجی میں 8 ای ایم اے کی مدت مقرر کی گئی ہے - 8 دن ، 13 دن ، 21 دن ، 34 دن ، 55 دن ، 89 دن ، 144 دن اور 233 دن۔ ان ای ایم اے کو آزادانہ طور پر فعال یا غیر فعال کیا جاسکتا ہے۔

یہ طویل مدتی ای ایم اے کے نیچے سے طویل مدتی ای ایم اے کو عبور کرتے وقت طویل مدتی سگنل تیار کرتا ہے۔ یہ باہر نکلنے کے سگنل تیار کرتا ہے جب مختصر مدت کے ای ایم اے اوپر سے طویل مدتی ای ایم اے کے نیچے سے عبور کرتے ہیں۔ لہذا اگر دو ای ایم اے فعال ہیں تو ، مختصر ای ایم اے > طویل ای ایم اے طویل سگنل ہے ، مختصر ای ایم اے < طویل ای ایم اے باہر نکلنے کا سگنل ہے۔

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

پوزیشن سائزنگ کو اکاؤنٹ کے ایکویٹی کو بند کرکے بند کرنے والے ای ایم اے کی تعداد سے تقسیم کرنے کے لئے مقرر کیا گیا ہے۔ اس سے یہ یقینی بنتا ہے کہ ہر ای ایم اے کراس اوور پر پوزیشن سائز برابر ہوں۔

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

  • مختلف EMAs کی تشکیل کی طرف سے ٹائم فریم کو ایڈجسٹ کرنے کے لئے لچک
  • ہر EMA کو آزادانہ طور پر فعال / غیر فعال کیا جاسکتا ہے ، انتہائی حسب ضرورت
  • EMAs میں یکساں طور پر تقسیم کردہ پوزیشنز ، رسک مینجمنٹ کے لئے اچھی ہیں
  • متعدد EMAs کا استعمال کرتا ہے، مختلف مارکیٹ کے مراحل کے لئے زیادہ مناسب EMAs پر سوئچ کر سکتا ہے
  • سادہ اور واضح منطق، سمجھنے اور ٹھیک کرنے کے لئے آسان

خطرے کا تجزیہ

  • ای ایم اے اکیلے مارکیٹ کی ساخت کا تعین نہیں کر سکتا، جو غلط اشاروں کا شکار ہے
  • وِپسا مارکیٹوں کے نتیجے میں ای ایم اے میں بہت زیادہ کراس اوور ہوتے ہیں، تجارت کی تعدد اور سلائپ لاگت میں اضافہ ہوتا ہے
  • مختلف مارکیٹوں کے لئے EMA پیرامیٹرز کی اصلاح کی ضرورت ہے
  • سگنل کی تصدیق کے لئے دیگر اشارے کی ضرورت ہو سکتی ہے

ای ایم اے کو دوسرے اشارے جیسے چینلز یا آسکیلیٹرز کے ساتھ مل کر سگنل فلٹر کرنے پر غور کریں ، یا رجحان اور الٹ اشارے شامل کریں۔ ای ایم اے پیرامیٹرز کو بھی بہتر بنانا بہت ضروری ہے ، مختلف مارکیٹوں کے لئے ٹیوننگ کی ضرورت ہے۔

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

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

  1. بہترین EMA مجموعے تلاش کرنے کے لئے پیرامیٹر سکیننگ اور واک فارورڈ تجزیہ کے ذریعے EMA پیرامیٹرز کو بہتر بنائیں.

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

  3. تکمیل کا فائدہ اٹھانے کے لئے MACD، KDJ، بولنگر بینڈ جیسے دیگر اشارے کے ساتھ مل کر۔

  4. مارکیٹ کی اتار چڑھاؤ یا رجحان کی طاقت کی بنیاد پر ہر EMA پر پوزیشن سائزنگ کو متحرک طور پر ایڈجسٹ کریں۔

  5. سٹاپ نقصان کو بہتر بنائیں اور بہترین رسک ریٹرن ریشو حاصل کرنے کے لیے منافع کی سطح حاصل کریں۔

نتیجہ

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


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

//@version=2
strategy("EMA Fan", shorttitle = "EMA Fan", overlay=true)

// Revision:        1
// Author:          @ToS_MavericK

buyprice = 0.0
buyprice := buyprice[1]

// === INPUT SMA ===
EMA1  = input(8)
EMA2  = input(13)
EMA3  = input(21)
EMA4  = input(34)
EMA5  = input(55)
EMA6  = input(89)
EMA7  = input(144)
EMA8  = input(233)

EnableEMA1 = input(true)
EnableEMA2 = input(true)
EnableEMA3 = input(true)
EnableEMA4 = input(true)
EnableEMA5 = input(true)
EnableEMA6 = input(true)
EnableEMA7 = input(true)
EnableEMA8 = input(true)

//Profit  = input(defval = 5, type = integer, title = "Profit", minval = 1, step = 1)
//StopLoss    = input(defval = 15, type = integer, title = "StopLoss", minval = 1, step = 1)

// === INPUT BACKTEST RANGE ===
FromMonth   = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear    = input(defval = 2018, title = "From Year", minval = 2012)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay   = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear  = input(defval = 2020, title = "To Year", minval = 2012)


// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"

// === SERIES SETUP ===
vEMA1 = ema(close, EMA1)
vEMA2 = ema(close, EMA2)
vEMA3 = ema(close, EMA3)
vEMA4 = ema(close, EMA4)
vEMA5 = ema(close, EMA5)
vEMA6 = ema(close, EMA6)
vEMA7 = ema(close, EMA7)
vEMA8 = ema(close, EMA8)

count = -1
if (EnableEMA1 == true)
    count := count + 1
if (EnableEMA2 == true)
    count := count + 1
if (EnableEMA3 == true)
    count := count + 1
if (EnableEMA4 == true)
    count := count + 1
if (EnableEMA5 == true)
    count := count + 1
if (EnableEMA6 == true)
    count := count + 1
if (EnableEMA7 == true)
    count := count + 1
if (EnableEMA8 == true)
    count := count + 1

// set position size
Amount = 1 / (close * count)

// === EXECUTION ===
strategy.entry("EMA1", strategy.long, qty = Amount, when = window() and crossover(vEMA1,vEMA2) and EnableEMA1 and EnableEMA2)
strategy.close("EMA1", time > finish or crossunder(vEMA1,vEMA2))

strategy.entry("EMA2", strategy.long, qty = Amount, when = window() and crossover(vEMA2,vEMA3) and EnableEMA2 and EnableEMA3)
strategy.close("EMA2", time > finish or crossunder(vEMA2,vEMA3))

strategy.entry("EMA3", strategy.long, qty = Amount, when = window() and crossover(vEMA3,vEMA4) and EnableEMA3 and EnableEMA4)
strategy.close("EMA3", time > finish or crossunder(vEMA3,vEMA4))

strategy.entry("EMA4", strategy.long, qty = Amount, when = window() and crossover(vEMA4,vEMA5) and EnableEMA4 and EnableEMA5)
strategy.close("EMA4", time > finish or crossunder(vEMA4,vEMA5))

strategy.entry("EMA5", strategy.long, qty = Amount, when = window() and crossover(vEMA5,vEMA6) and EnableEMA5 and EnableEMA6)
strategy.close("EMA5", time > finish or crossunder(vEMA5,vEMA6))

strategy.entry("EMA6", strategy.long, qty = Amount, when = window() and crossover(vEMA6,vEMA7) and EnableEMA6 and EnableEMA7)
strategy.close("EMA6", time > finish or crossunder(vEMA6,vEMA7))

strategy.entry("EMA7", strategy.long, qty = Amount, when = window() and crossover(vEMA7,vEMA8) and EnableEMA7 and EnableEMA8)
strategy.close("EMA7", time > finish or crossunder(vEMA7,vEMA8))

plot(vEMA1, title = 'EMA1', color = red, linewidth = 2, style = line)  // plot FastMA
plot(vEMA2, title = 'EMA2', color = orange, linewidth = 2, style = line)    // plot SlowMA
plot(vEMA3, title = 'EMA3', color = yellow, linewidth = 2, style = line)    // plot SlowMA
plot(vEMA4, title = 'EMA4', color = green, linewidth = 2, style = line)    // plot SlowMA
plot(vEMA5, title = 'EMA5', color = teal, linewidth = 2, style = line)    // plot SlowMA
plot(vEMA6, title = 'EMA6', color = blue, linewidth = 2, style = line)    // plot SlowMA
plot(vEMA7, title = 'EMA7', color = maroon, linewidth = 2, style = line)    // plot SlowMA
plot(vEMA8, title = 'EMA8', color = white, linewidth = 2, style = line)    // plot SlowMA

//plot(long_stop, title = 'High-ATR', color = red, linewidth = 2, style = line)    // plot SlowMA
//plot(short_stop, title = 'Low+ATR', color = green, linewidth = 2, style = line)    // plot SlowMA


مزید