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

ملٹی ٹائم فریم TEMA کراس اوور پر مبنی حکمت عملی کے بعد رجحان

مصنف:چاؤ ژانگ، تاریخ: 2023-12-25 14:20:36
ٹیگز:

img

جائزہ

یہ حکمت عملی متعدد ٹائم فریموں میں TEMA اشارے کے کراس اوور کی بنیاد پر مارکیٹ کے رجحان کی سمت کی نشاندہی کرتی ہے ، اور مخصوص انٹری اور آؤٹ پوائنٹس تلاش کرنے کے لئے کم ٹائم فریم میں TEMA کراس اوور کا استعمال کرتی ہے۔ حکمت عملی کو صرف لمبے ، صرف مختصر یا دونوں سمتوں کے لئے تشکیل دیا جاسکتا ہے۔

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

اس حکمت عملی میں دو ٹی ای ایم اے اشارے استعمال کیے جاتے ہیں ، ایک 5 اور 15 ادوار کی بنیاد پر تیز اور سست لائن کے ساتھ ، دوسرا صارف کے ذریعہ طے شدہ اعلی ٹائم فریم جیسے روزانہ یا ہفتہ وار پر مبنی ہے۔ اعلی ٹائم فریم ٹی ای ایم اے کا کراس اوور مجموعی طور پر رجحان کی تعصب کا تعین کرتا ہے ، سست لائن کے اوپر تیز لائن کراسنگ تیزی سے نقطہ نظر کی نشاندہی کرتی ہے ، اور اس سے نیچے bearish نقطہ نظر کی نشاندہی کرتی ہے۔ کم ٹائم فریم ٹی ای ایم اے کراس اوور کا استعمال کنکریٹ انٹری اور آؤٹ ٹائمنگ تلاش کرنے کے لئے کیا جاتا ہے۔

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

فوائد

  1. TEMA کراس اوور پر مبنی، شور مداخلت سے بچتا ہے
  2. ملٹی ٹائم فریم ڈیزائن اعلی اور کم سائیکلوں کو یکجا کرتا ہے، درستگی کو بہتر بناتا ہے
  3. صرف لمبی، صرف مختصر یا دونوں سمتوں کے لئے لچکدار ترتیب
  4. سادہ قواعد، سمجھنے اور لاگو کرنے میں آسان

خطرے کا تجزیہ

  1. TEMA تاخیر کا اثر ہے، ابتدائی قیمت کی تبدیلی کو یاد کر سکتا ہے
  2. اعلی TF پر قلیل مدتی اصلاحات غیر ضروری ریورس ٹریڈنگ کا سبب بن سکتی ہیں
  3. غلط اعلی TF ترتیب حقیقی رجحان کی عکاسی نہیں کرتا
  4. ٹی ایف کی نچلی سطح کی غلط ترتیب سے سٹاپ نقصان کا خطرہ بڑھ جاتا ہے

خطرے کے حل:

  1. توازن کے لئے ٹھیک ٹیون TEMA پیرامیٹرز
  2. سٹاپ نقصان مارجن کو اعتدال پسند طور پر کم کریں
  3. اعلی کم سائیکل کی ترتیبات کو بہتر بنائیں
  4. مصنوعات کے درمیان ٹیسٹ پیرامیٹر استحکام

بہتر مواقع

  1. حساسیت کی اصلاح کے لئے متحرک طور پر TEMA پیرامیٹرز کو ایڈجسٹ کریں
  2. گمشدہ رجحانات سے بچنے کے لئے رفتار فلٹر شامل کریں
  3. متحرک سٹاپ نقصان سائزنگ کے لئے اتار چڑھاؤ انڈیکس شامل کریں
  4. پیرامیٹر کی اصلاح کے لئے مشین لرننگ

خلاصہ

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


/*backtest
start: 2023-01-01 00:00:00
end: 2023-12-24 00:00:00
period: 1d
basePeriod: 1h
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/
// © Seltzer_

//@version=4
strategy(title="TEMA Cross +HTF Backtest", shorttitle="TEMA_X_+HTF_BT", overlay=true)

orderType = input("Longs+Shorts",title="What type of Orders", options=["Longs+Shorts","LongsOnly","ShortsOnly"])
isLong   = (orderType != "ShortsOnly")
isShort  = (orderType != "LongsOnly")

// Backtest Section {

// Backtest inputs
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=2020, title="From Year", minval=2010)
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=9999, title="To Year", minval=2017)

// Define backtest timewindow
start = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)  // backtest finish window
window() => true

// }

//TEMA Section {

//LTF Section
xLength = input(20, minval=1, title="Fast Length")
xPrice = close
xEMA1 = ema(xPrice, xLength)
xEMA2 = ema(xEMA1, xLength)
xEMA3 = ema(xEMA2, xLength)
xnRes = (3 * xEMA1) - (3 * xEMA2) + xEMA3
xnResP = plot(xnRes, color=color.green, linewidth=2, title="TEMA1")

yLength = input(60, minval=1, title="Slow Length")
yPrice = close
yEMA1 = ema(yPrice, yLength)
yEMA2 = ema(yEMA1, yLength)
yEMA3 = ema(yEMA2, yLength)
ynRes = (3 * yEMA1) - (3 * yEMA2) + yEMA3
ynResP = plot(ynRes, color=color.red, linewidth=2, title="TEMA2")

fill(xnResP, ynResP, color=xnRes > ynRes ? color.green : color.red, transp=65, editable=true)

//HTF Section
HTFres = input(defval="D", type=input.resolution, title="HTF Resolution")

HTFxLength = input(5, minval=1, title="HTF Fast Length")
HTFxPrice = close
HTFxEMA1 = security(syminfo.tickerid, HTFres, ema(HTFxPrice, HTFxLength), barmerge.gaps_off, barmerge.lookahead_on)
HTFxEMA2 = security(syminfo.tickerid, HTFres, ema(HTFxEMA1, HTFxLength), barmerge.gaps_off, barmerge.lookahead_on)
HTFxEMA3 = security(syminfo.tickerid, HTFres, ema(HTFxEMA2, HTFxLength), barmerge.gaps_off, barmerge.lookahead_on)
HTFxnRes = (3 * HTFxEMA1) - (3 * HTFxEMA2) + HTFxEMA3
HTFxnResP = plot(HTFxnRes, color=color.yellow, linewidth=1,transp=30, title="TEMA1")

HTFyLength = input(15, minval=1, title="HTF Slow Length")
HTFyPrice = close
HTFyEMA1 = security(syminfo.tickerid, HTFres, ema(HTFyPrice, HTFyLength), barmerge.gaps_off, barmerge.lookahead_on)
HTFyEMA2 = security(syminfo.tickerid, HTFres, ema(HTFyEMA1, HTFyLength), barmerge.gaps_off, barmerge.lookahead_on)
HTFyEMA3 = security(syminfo.tickerid, HTFres, ema(HTFyEMA2, HTFyLength), barmerge.gaps_off, barmerge.lookahead_on)
HTFynRes = (3 * HTFyEMA1) - (3 * HTFyEMA2) + HTFyEMA3
HTFynResP = plot(HTFynRes, color=color.purple, linewidth=1, transp=30, title="TEMA2")

fill(HTFxnResP, HTFynResP, color=HTFxnRes > HTFynRes ? color.yellow : color.purple, transp=90, editable=true)
bgcolor(HTFxnRes > HTFynRes ? color.yellow : na, transp=90, editable=true)
bgcolor(HTFxnRes < HTFynRes ? color.purple : na, transp=90, editable=true)

// }

// Buy and Sell Triggers
LongEntryAlert = xnRes > ynRes and HTFxnRes > HTFynRes and window()
LongCloseAlert = xnRes < ynRes and window()
ShortEntryAlert = xnRes < ynRes and HTFxnRes < HTFynRes and window()
ShortCloseAlert = xnRes > ynRes

// Entry & Exit signals
if isLong
    strategy.entry("Long", strategy.long, when = LongEntryAlert)
    strategy.close("Long", when = LongCloseAlert)

if isShort
    strategy.entry("Short", strategy.short, when = ShortEntryAlert)
    strategy.close("Short", when = ShortCloseAlert)

مزید