یہ حکمت عملی منی فلو انڈیکس (ایم ایف آئی) پر مبنی ایک خودکار تجارتی نظام ہے ، جو بنیادی طور پر اوور سیل زونز میں اثاثوں کے رویے کی نشاندہی کرکے ممکنہ الٹ جانے کے مواقع کو حاصل کرنے کے لئے ڈیزائن کیا گیا ہے۔ بنیادی طریقہ کار خرید سگنل تیار کرتا ہے جب ایم ایف آئی اشارے اوور سیل زون (ڈیفالٹ 20 سے نیچے) سے چھلانگ لگاتے ہیں ، تجارتی خطرہ اور منافع کو سنبھالنے کے لئے حد کے احکامات ، اسٹاپ نقصان اور منافع لینے کے طریقہ کار کا استعمال کرتے ہیں۔ یہ حکمت عملی خاص طور پر مارکیٹ میں اوور سیل باؤنس کے دوران پوزیشننگ کے لئے موزوں ہے۔
یہ حکمت عملی مندرجہ ذیل اہم مراحل پر مبنی ہے:
یہ ایک اچھی طرح سے ڈیزائن کیا گیا ، منطقی طور پر واضح خودکار تجارتی حکمت عملی ہے۔ ایم ایف آئی اشارے کے لچکدار استعمال کے ذریعے ، جامع آرڈر مینجمنٹ میکانزم کے ساتھ مل کر ، یہ اوور سیلڈ حالات کے بعد مارکیٹ کی بازیابی کو مؤثر طریقے سے حاصل کرتا ہے۔ حکمت عملی کی اعلی تشکیل مختلف مارکیٹ کے ماحول کے لئے اصلاح کی سہولت فراہم کرتی ہے۔ اگرچہ کچھ خطرات موجود ہیں ، لیکن ان کو حکمت عملی کے استحکام اور منافع کو مزید بڑھانے کے لئے تجویز کردہ اصلاح کی سمتوں کے ذریعے حل کیا جاسکتا ہے۔ درمیانے اور طویل مدتی سرمایہ کاری کے لئے موزوں ہے ، خاص طور پر سرمایہ کاروں کے لئے جو نوساناتی منڈیوں میں اوور سیلڈ باؤنڈ مواقع تلاش کرتے ہیں۔
/*backtest start: 2024-11-04 00:00:00 end: 2024-12-04 00:00:00 period: 3h basePeriod: 3h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © traderhub //@version=5 strategy("MFI Strategy with Oversold Zone Exit and Averaging", overlay=true) // Strategy parameters mfiPeriod = input.int(title="MFI Period", defval=14) // Period for calculating MFI mfiOS = input.float(title="MFI Oversold Level", defval=20.0) // Oversold level for MFI longEntryPercentage = input.float(title="Long Entry Percentage (%)", minval=0.0, step=0.1, defval=0.1) // Percentage for the buy limit order stopLossPercentage = input.float(title="Stop Loss Percentage (%)", minval=0.0, step=0.1, defval=1.0) // Percentage for the stop-loss exitGainPercentage = input.float(title="Exit Gain Percentage (%)", minval=0.0, step=0.1, defval=1.0) // Percentage gain for the take-profit cancelAfterBars = input.int(title="Cancel Order After # Bars", minval=1, defval=5) // Cancel order after a certain number of bars // Calculate MFI mfi = ta.mfi(close, mfiPeriod) // MFI with specified period // Variables for tracking state var bool inOversoldZone = false // Flag for being in the oversold zone var float longEntryPrice = na // Price for long entry var int barsSinceEntryOrder = na // Counter for bars after placing an order // Define being in the oversold zone if (mfi < mfiOS) inOversoldZone := true // Entered oversold zone // Condition for exiting the oversold zone and placing a limit order if (inOversoldZone and mfi > mfiOS) inOversoldZone := false // Leaving the oversold zone longEntryPrice := close * (1 - longEntryPercentage / 100) // Calculate limit price for entry strategy.entry("Long Entry", strategy.long, limit=longEntryPrice) // Place a limit order barsSinceEntryOrder := 0 // Reset counter for bars after placing the order // Increase the bar counter if the order has not yet been filled if (not na(barsSinceEntryOrder)) barsSinceEntryOrder += 1 // Cancel order if it hasn’t been filled within the specified number of bars if (not na(barsSinceEntryOrder) and barsSinceEntryOrder >= cancelAfterBars and strategy.position_size == 0) strategy.cancel("Long Entry") barsSinceEntryOrder := na // Reset bar counter // Set stop-loss and take-profit for filled positions if (strategy.position_size > 0) stopLossPrice = longEntryPrice * (1 - stopLossPercentage / 100) // Calculate stop-loss level takeProfitPrice = longEntryPrice * (1 + exitGainPercentage / 100) // Calculate take-profit level strategy.exit("Exit Long", from_entry="Long Entry", limit=takeProfitPrice, stop=stopLossPrice) // Visualize oversold and overbought zones bgcolor(mfi < mfiOS ? color.new(color.green, 90) : na) // Background in oversold zone plot(mfi, title="MFI", color=color.blue) // MFI plot hline(mfiOS, "Oversold Level", color=color.red) // Oversold level line