بائی بٹ ای ایم اے آر ایس آئی ٹرینڈ فالونگ اینڈ مومنٹم حکمت عملی ایک مقداری تجارتی حکمت عملی ہے جو ایکسپونینشل موونگ ایوریجز (ای ایم اے) اور رشتہ دار طاقت انڈیکس (آر ایس آئی) کو جوڑتی ہے۔ یہ حکمت عملی مارکیٹ کے رجحانات کا تعین کرنے کے لئے مختلف ادوار کے ساتھ دو ای ایم اے اور رجحانات کی صداقت کی تصدیق کے لئے آر ایس آئی اشارے کا استعمال کرتی ہے۔ جب تیز ای ایم اے سست ای ایم اے سے اوپر عبور کرتی ہے اور آر ایس آئی ایک مخصوص کم حد سے نیچے ہے تو ، حکمت عملی ایک طویل سگنل تیار کرتی ہے۔ اس کے برعکس ، جب تیز ای ایم اے سست ای ایم اے سے نیچے عبور کرتی ہے اور آر ایس آئی ایک مخصوص اوپری حد سے اوپر ہے تو ، حکمت عملی ایک مختصر سگنل تیار کرتی ہے۔ حکمت عملی میں بائی بٹ اکاؤنٹ کی سطح پر مبنی مختلف کمیشن فیصد اور مؤثر طریقے سے رسک مینجمنٹ کے ل.
بائٹ ای ایم اے آر ایس آئی ٹرینڈ فالونگ اینڈ مومنٹم حکمت عملی ایک مقداری تجارتی حکمت عملی ہے جو رجحان کی پیروی اور رفتار کے اشارے کو جوڑتی ہے۔ ای ایم اے اور آر ایس آئی کو ایک ساتھ استعمال کرکے ، یہ مؤثر طریقے سے مارکیٹ کے رجحانات کو پکڑ سکتا ہے۔ اس حکمت عملی میں بلٹ ان منافع اور اسٹاپ نقصان کے افعال شامل ہیں اور بائٹ اکاؤنٹ کی سطح کی بنیاد پر کمیشن فیصد طے کرتے ہیں ، مؤثر طریقے سے خطرہ کا انتظام کرتے ہیں اور مختلف صارفین کے تجارتی حالات کو اپناتے ہیں۔ تاہم ، حکمت عملی میں ابھی بھی اصلاح کی گنجائش ہے ، جیسے پیرامیٹر کی اصلاح ، دیگر تکنیکی اشارے متعارف کرانا ، اور منافع اور اسٹاپ نقصان کی ترتیبات کو بہتر بنانا۔ مسلسل اصلاح اور بہتری کے ساتھ ، حکمت عملی سے اصل تجارت میں بہتر نتائج حاصل کرنے کی توقع ہے۔
/*backtest start: 2024-03-21 00:00:00 end: 2024-03-28 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // @BryanAaron //@version=5 strategy("Bybit EMA RSI Strategy", overlay=true) // Input parameters fastLength = input(90, title="Fast EMA Length") slowLength = input(300, title="Slow EMA Length") rsiLength = input(5, title="RSI Length") rsiUpperThreshold = input(85, title="RSI Upper Threshold") rsiLowerThreshold = input(45, title="RSI Lower Threshold") takeProfitPerc = input(5, title="Take Profit %") stopLossPerc = input(3, title="Stop Loss %") bybitAccountLevel = input.string("VIP 0", title="Bybit Account Level", options=["VIP 0", "VIP 1", "VIP 2", "VIP 3", "VIP 4"]) // Calculate moving averages fastMA = ta.ema(close, fastLength) slowMA = ta.ema(close, slowLength) // Calculate RSI rsi = ta.rsi(close, rsiLength) // Trading conditions longCondition = (fastMA > slowMA) and (rsi < rsiLowerThreshold) shortCondition = (fastMA < slowMA) and (rsi > rsiUpperThreshold) // Set commission based on Bybit account level commissionPerc = switch bybitAccountLevel "VIP 0" => 0.075 "VIP 1" => 0.065 "VIP 2" => 0.055 "VIP 3" => 0.045 "VIP 4" => 0.035 => 0.075 // Calculate entry prices with commission var float longEntryPrice = na var float shortEntryPrice = na longEntryPriceWithCommission = close * (1 + commissionPerc / 100) shortEntryPriceWithCommission = close * (1 - commissionPerc / 100) // Calculate take profit and stop loss prices takeProfitPrice(entryPrice) => entryPrice * (1 + takeProfitPerc / 100) stopLossPrice(entryPrice) => entryPrice * (1 - stopLossPerc / 100) // Plot entry prices plotchar(longCondition, title="Long Entry Price", char="LE", location=location.belowbar, color=color.green) plotchar(shortCondition, title="Short Entry Price", char="SE", location=location.abovebar, color=color.red) // Draw position on the chart longColor = color.green shortColor = color.red profitColor = color.new(color.green, 80) lossColor = color.new(color.red, 80) plotshape(longCondition and strategy.position_size > 0, title="Long Position", text="Long", location=location.belowbar, style=shape.labelup, size=size.small, color=longColor, textcolor=color.white) plotshape(shortCondition and strategy.position_size < 0, title="Short Position", text="Short", location=location.abovebar, style=shape.labeldown, size=size.small, color=shortColor, textcolor=color.white) if (strategy.position_size > 0) line.new(bar_index, longEntryPrice, bar_index + 1, longEntryPrice, color=longColor, width=2) longProfitLine = line.new(bar_index, takeProfitPrice(longEntryPrice), bar_index + 1, takeProfitPrice(longEntryPrice), color=profitColor, width=1) longLossLine = line.new(bar_index, stopLossPrice(longEntryPrice), bar_index + 1, stopLossPrice(longEntryPrice), color=lossColor, width=1) else if (strategy.position_size < 0) line.new(bar_index, shortEntryPrice, bar_index + 1, shortEntryPrice, color=shortColor, width=2) shortProfitLine = line.new(bar_index, stopLossPrice(shortEntryPrice), bar_index + 1, stopLossPrice(shortEntryPrice), color=profitColor, width=1) shortLossLine = line.new(bar_index, takeProfitPrice(shortEntryPrice), bar_index + 1, takeProfitPrice(shortEntryPrice), color=lossColor, width=1) // Entry if (longCondition) strategy.entry("Long", strategy.long) longEntryPrice := longEntryPriceWithCommission else if (shortCondition) strategy.entry("Short", strategy.short) shortEntryPrice := shortEntryPriceWithCommission