MFI اور MA پر مبنی مقداری الٹ حکمت عملی


تخلیق کی تاریخ: 2023-12-27 14:42:16 آخر میں ترمیم کریں: 2023-12-27 14:42:16
کاپی: 5 کلکس کی تعداد: 761
1
پر توجہ دیں
1623
پیروکار

MFI اور MA پر مبنی مقداری الٹ حکمت عملی

جائزہ

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

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

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

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

اس کے علاوہ ، یہ بھی کہا گیا ہے کہ:

  1. ایم ایف آئی نے 20 سے نیچے کی حد کو توڑ کر اوور سیل زون میں داخل کیا ، جبکہ بند ہونے والی قیمتیں ایم اے کی اوسط لائن پر پہنچ گئیں ، جس سے خریدنے کا اشارہ ملا
  2. ایم ایف آئی نے 80 سے زیادہ کو اوور بائڈ زون میں داخل کیا ، جبکہ اختتامی قیمت ایم اے کی اوسط سے نیچے گر گئی ، جس سے فروخت کا اشارہ ہوا

اس طرح، ڈبل اشارے فلٹرنگ کے ذریعے، آپ کو مؤثر طریقے سے واپسی کے مواقع کی شناخت کر سکتے ہیں، اور داخلہ سگنل زیادہ قابل اعتماد ہے.

اسٹریٹجک فوائد

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

اسٹریٹجک رسک

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

کیا کرنا ہے:

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

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-12-19 00:00:00
end: 2023-12-26 00:00:00
period: 1m
basePeriod: 1m
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/
// © vikris

//@version=4
strategy("[VJ]Thor for MFI", overlay=true, calc_on_every_tick = false,pyramiding=0)

// ********** Strategy inputs - Start **********

// Used for intraday handling
// Session value should be from market start to the time you want to square-off 
// your intraday strategy
// Important: The end time should be at least 2 minutes before the intraday
// square-off time set by your broker
var i_marketSession = input(title="Market session", type=input.session, 
     defval="0915-1455", confirm=true)

// Make inputs that set the take profit % (optional)
longProfitPerc = input(title="Long Take Profit (%)",
     type=input.float, minval=0.0, step=0.1, defval=1) * 0.01

shortProfitPerc = input(title="Short Take Profit (%)",
     type=input.float, minval=0.0, step=0.1, defval=1) * 0.01
     
// Set stop loss level with input options (optional)
longLossPerc = input(title="Long Stop Loss (%)",
     type=input.float, minval=0.0, step=0.1, defval=0.5) * 0.01

shortLossPerc = input(title="Short Stop Loss (%)",
     type=input.float, minval=0.0, step=0.1, defval=0.5) * 0.01    

i_MFI = input(3, title="MFI Length")
OB=input(100, title="Overbought Level")
OS=input(0, title="Oversold Level")
barsizeThreshold=input(.5, step=.05, minval=.1, maxval=1, title="Bar Body Size, 1=No Wicks")
i_MAFilter = input(true, title="Use MA Trend Filter")
i_MALen = input(80, title="MA Length")
// ********** Strategy inputs - End **********


// ********** Supporting functions - Start **********

// A function to check whether the bar or period is in intraday session
barInSession(sess) => time(timeframe.period, sess) != 0
// Figure out take profit price
longExitPrice  = strategy.position_avg_price * (1 + longProfitPerc)
shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc)

// Determine stop loss price
longStopPrice  = strategy.position_avg_price * (1 - longLossPerc)
shortStopPrice = strategy.position_avg_price * (1 + shortLossPerc)


// ********** Supporting functions - End **********


// ********** Strategy - Start **********
// See if intraday session is active
bool intradaySession = true

// Trade only if intraday session is active

//=================Strategy logic goes in here===========================
 

MFI=mfi(close,i_MFI)
barsize=high-low
barbodysize=close>open?(open-close)*-1:(open-close)
shortwicksbar=barbodysize>barsize*barsizeThreshold
SMA=sma(close, i_MALen)
MAFilter=close > SMA



BUY = MFI[1] == OB and close > open and shortwicksbar and (i_MAFilter ? MAFilter : true)

SELL = MFI[1] == OS and close < open and shortwicksbar and (i_MAFilter ? not MAFilter : true) 

//Final Long/Short Condition
longCondition = BUY
shortCondition = SELL
 
//Long Strategy - buy condition and exits with Take profit and SL
if (longCondition and intradaySession)
    stop_level = longStopPrice
    profit_level = longExitPrice
    strategy.entry("Buy", strategy.long)
    strategy.exit("TP/SL", "Buy", stop=stop_level, limit=profit_level)


//Short Strategy - sell condition and exits with Take profit and SL
if (shortCondition and intradaySession)
    stop_level = shortStopPrice
    profit_level = shortExitPrice
    strategy.entry("Sell", strategy.short)
    strategy.exit("TP/SL", "Sell", stop=stop_level, limit=profit_level)
 
 
// Square-off position (when session is over and position is open)
squareOff = (not intradaySession) and (strategy.position_size != 0)
strategy.close_all(when = squareOff, comment = "Square-off")

// ********** Strategy - End **********