یہ حکمت عملی رشتہ دار طاقت انڈیکس (آر ایس آئی) اور مارٹنگیل پوزیشن اوسط اصولوں کو جوڑتی ہے۔ جب آر ایس آئی oversold لائن سے نیچے جاتا ہے تو یہ ایک طویل پوزیشن شروع کرتا ہے ، اور اگر قیمت میں کمی جاری رہتی ہے تو پوزیشن کو دوگنا کردیتا ہے۔ منافع حاصل کرنا چھوٹے اہداف کے ساتھ حاصل کیا جاتا ہے۔ یہ حکمت عملی مستحکم منافع کے لئے اسپاٹ ٹریڈنگ میں اعلی مارکیٹ کیپ سکے کے لئے موزوں ہے۔
یہ حکمت عملی آر ایس آئی اشارے اور مارٹنگیل پوزیشن اوسط کو یکجا کرتی ہے تاکہ مناسب اوسط کے ساتھ اوور سیلڈ حالات سے فائدہ اٹھایا جاسکے ، اور مستحکم فوائد کے ل small چھوٹا منافع لیا جاسکے۔ اس میں ایسے خطرات ہیں جن کو اسٹاپ نقصانات ، پیرامیٹر ٹوننگ وغیرہ کے ذریعے کم کیا جاسکتا ہے۔
/*backtest start: 2024-01-06 00:00:00 end: 2024-02-05 00:00:00 period: 1h basePeriod: 15m 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/ // © Stavolt //@version=5 strategy("RSI Martingale Strategy", overlay=true, default_qty_type=strategy.cash, currency=currency.USD) // Inputs rsiLength = input(14, title="RSI Length") oversoldThreshold = input(30, title="Oversold Threshold") // Keeping RSI threshold profitTargetPercent = input(0.5, title="Profit Target (%)") / 100 initialInvestmentPercent = input(5, title="Initial Investment % of Equity") // Calculating RSI rsiValue = ta.rsi(close, rsiLength) // State variables for tracking the initial entry var float initialEntryPrice = na var int multiplier = 1 // Entry condition based on RSI if (rsiValue < oversoldThreshold and na(initialEntryPrice)) initialEntryPrice := close strategy.entry("Initial Buy", strategy.long, qty=(strategy.equity * initialInvestmentPercent / 100) / close) multiplier := 1 // Adjusting for errors and simplifying the Martingale logic // Note: This section simplifies the aggressive position size adjustments without loops if (not na(initialEntryPrice)) if (close < initialEntryPrice * 0.995) // 0.5% drop from initial entry strategy.entry("Martingale Buy 1", strategy.long, qty=((strategy.equity * initialInvestmentPercent / 100) / close) * 2) multiplier := 2 // Adjusting multiplier for the next potential entry if (close < initialEntryPrice * 0.990) // Further drop strategy.entry("Martingale Buy 2", strategy.long, qty=((strategy.equity * initialInvestmentPercent / 100) / close) * 4) multiplier := 4 // Additional conditional entries could follow the same pattern // Checking for profit target to close positions if (strategy.position_size > 0 and (close - strategy.position_avg_price) / strategy.position_avg_price >= profitTargetPercent) strategy.close_all(comment="Take Profit") initialEntryPrice := na // Reset for next cycle