ای ایم اے کراس اوور حکمت عملی کے ساتھ ایم اے سی ڈی آسکیلیٹر

مصنف:چاؤ ژانگ، تاریخ: 2023-09-23 15:24:12
ٹیگز:

جائزہ

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

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

اہم اجزاء یہ ہیں:

  1. ایم اے سی ڈی: قیمتوں کی رفتار میں تبدیلی کا فیصلہ کرنا۔

  2. ای ایم اے: قیمتوں کے رجحان کی سمت کا تعین کرنا۔

  3. وقت کی شرط: درست حکمت عملی کی مدت کی وضاحت کرنا۔

  4. طویل / مختصر اختیار: طویل یا مختصر سمت کا انتخاب.

تجارتی قوانین یہ ہیں:

  1. لانگ/آؤٹ شارٹ: جب ای ایم اے سے اوپر بند ہو جائے تو، ایم اے سی ڈی ہسٹوگرام مثبت ہوتا ہے، اور موجودہ موم بتی پچھلی موم بتی سے زیادہ ہوتی ہے۔

  2. شارٹ / آؤٹ لانگ: جب ای ایم اے سے نیچے بند ہو جائے تو ، ایم اے سی ڈی ہسٹوگرام منفی ہوتا ہے ، اور موجودہ موم بتی پچھلی موم بتی سے کم ہوتی ہے۔

یہ حکمت عملی ایک سادہ اور موثر نظام میں رجحان کی پیروی اور رفتار کو یکجا کرتی ہے۔

فوائد

انفرادی اشارے کے مقابلے میں، اہم فوائد یہ ہیں:

  1. ایم اے سی ڈی قلیل مدتی رفتار کا فیصلہ کرتا ہے، ای ایم اے رجحان کی سمت کا تعین کرتا ہے۔

  2. سادہ اور واضح قوانین، سمجھنے اور لاگو کرنے کے لئے آسان.

  3. مختلف مصنوعات اور ٹائم فریم کے لئے لچکدار پیرامیٹر ٹوننگ.

  4. صرف طویل / مختصر یا دو طرفہ تجارت کا اختیار۔

  5. غیر ضروری تجارت سے بچنے کے لئے درست حکمت عملی کی مدت کی وضاحت کر سکتے ہیں.

  6. سال کے دوران مستحکم کارکردگی

  7. ہر تجارت کے لئے قابل کنٹرول خطرہ۔

  8. مشین لرننگ کے ساتھ مزید بہتر بنانے کی صلاحیت.

خطرات

فوائد کے باوجود، خطرات پر غور کرنا:

  1. وسیع پیرامیٹر ایڈجسٹمنٹ اوور فٹنگ کا خطرہ ہے.

  2. جگہ پر کوئی رک جاتا ہے، لامحدود نقصان کا خطرہ.

  3. کوئی حجم فلٹر، جھوٹے breakouts کے خطرے.

  4. رجحان موڑ پکڑنے میں تاخیر، تمام نقصانات سے بچنے کے لئے نہیں کر سکتے ہیں.

  5. مارکیٹ کے نظام میں تبدیلی سے کارکردگی میں کمی۔

  6. صرف تاریخی اعداد و شمار کی بنیاد پر، ماڈل کی مضبوطی اہم ہے۔

  7. اعلی تجارتی تعدد ٹرانزیکشن لاگت میں اضافہ کرتی ہے۔

  8. منافع / خطرے کے تناسب اور ایکویٹی منحنی خطوط کی نگرانی کرنے کی ضرورت ہے.

بہتری

اسٹریٹیجی کو مندرجہ ذیل طریقوں سے بہتر بنایا جا سکتا ہے:

  1. جھوٹے بریک آؤٹ سے بچنے کے لیے حجم فلٹر شامل کرنا۔

  2. ہر تجارت کے نقصان کو کنٹرول کرنے کے لئے روکنے کا عمل.

  3. وقت کی مدت میں پیرامیٹر کی افادیت کا اندازہ لگانا۔

  4. متحرک اصلاحات کے لیے مشین لرننگ کو شامل کرنا۔

  5. مختلف مارکیٹوں میں استحکام کی جانچ

  6. تعدد کو کم کرنے کے لئے پوزیشن سائزنگ کو ایڈجسٹ کرنا.

  7. خطرے کے انتظام کی حکمت عملیوں کو بہتر بنانا۔

  8. فریکوئنسی بڑھانے کے لئے ٹیسٹنگ پھیلانے والے آلات.

  9. مسلسل backtesting کے overfitting کو روکنے کے لئے.

نتیجہ

خلاصہ یہ کہ ، حکمت عملی ایم اے سی ڈی اور ای ایم اے کے امتزاج سے ایک سادہ لیکن طاقتور نظام تشکیل دیتی ہے۔ لیکن کسی بھی حکمت عملی کو بدلتی ہوئی مارکیٹ کے حالات کے مطابق ڈھالنے کے ل continuous مستقل اصلاحات اور استحکام کی جانچ ضروری ہے۔ تجارتی حکمت عملیوں کو ترقی کرتے رہنے کی ضرورت ہے۔


// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SoftKill21

//@version=4
strategy("My Script", overlay=true)

//heiking ashi calculation
UseHAcandles    = input(false, title="Use Heikin Ashi Candles in Algo Calculations")
//
// === /INPUTS ===

// === BASE FUNCTIONS ===

haClose = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, close) : close
haOpen  = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, open) : open
haHigh  = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, high) : high
haLow   = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, low) : low

//timecondition
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2020, title = "From Year", minval = 1970)
 //monday and session 
 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true

//ema data  -- moving average
len = input(9, minval=1, title="Length")
src = input(hl2, title="Source")
out = ema(src, len)
//plot(out, title="EMA", color=color.blue)

//histogram
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA (Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA (Signal Line)", type=input.bool, defval=false)

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal


//main variables to apply conditions are going to be out(moving avg) and hist(macd)

long = haClose > out and haClose > haClose[1] and out > out[1] and hist> 0 and hist[1] < 0 and time_cond
short = haClose < out and haClose < haClose[1] and out < out[1] and hist < 0 and hist[1] > 0 and time_cond

//limit to 1 entry
var longOpeneda = false
var shortOpeneda = false
var int timeOfBuya = na



longCondition= long and not longOpeneda 

if longCondition
    longOpeneda := true
    timeOfBuya := time


longExitSignala = short
exitLongCondition = longOpeneda[1] and longExitSignala

if exitLongCondition
    longOpeneda := false
    timeOfBuya := na


plotshape(longCondition, style=shape.labelup, location=location.belowbar, color=color.green, size=size.tiny, title="BUY", text="BUY", textcolor=color.white)
plotshape(exitLongCondition, style=shape.labeldown, location=location.abovebar, color=color.red, size=size.tiny, title="SELL", text="SELL", textcolor=color.white)

//automatization

longEntry= input(true)
shortEntry=input(false)

if(longEntry)
    strategy.entry("long",strategy.long,when=longCondition)
    strategy.close("long",when=exitLongCondition)

if(shortEntry)
    strategy.entry("short",strategy.short,when=exitLongCondition)
    strategy.close("short",when=longCondition)



مزید