
MA MACD BB کثیر اشاریہ ٹریڈنگ حکمت عملی کی بازیافت کا آلہ ایک طاقتور مقداری تجارتی حکمت عملی کی ترقی اور بازیافت کا پلیٹ فارم ہے۔ یہ آلہ تین عام طور پر استعمال ہونے والے تکنیکی اشارے کے استعمال کی حمایت کرتا ہے: چلتی اوسط ((MA) ، چلتی اوسط کے اختتام پر پھیلاؤ اشارے ((MACD) اور برلن بینڈ ((BB) ، اور صارف کو ان میں سے کسی ایک کو بنیادی تجارتی سگنل اشارے کے طور پر منتخب کرنے میں لچکدار ہے۔ اس کے علاوہ ، یہ آلہ کثیر فاریکس باہمی تجارت کی حمایت کرتا ہے ، صارف مارکیٹ کے رجحانات کے مطابق زیادہ یا خالی سمت کا انتخاب کرنے میں لچکدار ہے۔ خطرے کے انتظام کے معاملے میں ، یہ آلہ ہر تجارت میں فنڈ کا تناسب لچکدار طریقے سے ترتیب دینے کی حمایت کرتا ہے ، تاکہ خطرے پر بہتر قابو پایا جاسکے۔ اس کے علاوہ ، یہ آلہ تفصیلی اشارے تجزیہ اور سگنل کی کامیابی کی پیش کش کرتا ہے ، تاکہ صارفین کو تجارتی مواقع کو بہتر طور پر پکڑنے میں مدد ملے۔
اس حکمت عملی کا بنیادی اصول مارکیٹ کے رجحانات اور تجارتی سگنل کی شناخت کے لئے تین عام طور پر استعمال ہونے والے تکنیکی اشارے ((MA، MACD اور BB) کا استعمال کرنا ہے۔ خاص طور پر:
مخصوص تجارت کے وقت ، حکمت عملی صارف کے منتخب کردہ تجارت کی سمت ((ملازمت یا خالی سر) اور فنڈ مینجمنٹ کی ترتیبات کے مطابق ، ہر تجارت کی پوزیشن کے سائز کا خود بخود حساب لگاتی ہے ، اور پھر سگنل کے مطابق پوزیشن کھولنے اور پوزیشن پر عمل درآمد کرتی ہے۔
مذکورہ بالا خطرات کو کم کرنے کے ل users ، صارفین کو حکمت عملی کے پیرامیٹرز کو مناسب طریقے سے ترتیب دینا چاہئے ، باقاعدگی سے حکمت عملی کا جائزہ لینا اور ان کو ایڈجسٹ کرنا چاہئے ، اور مارکیٹ کی نقل و حرکت پر گہری نظر رکھنا چاہئے ، اور اگر ضروری ہو تو دستی مداخلت کرنا چاہئے۔ اس کے علاوہ ، سخت رسک مینجمنٹ اقدامات جیسے اسٹاپ نقصانات اور پوزیشن کی حدود کا تعین بھی ضروری ہے۔
مندرجہ بالا اصلاح کی سمت بنیادی طور پر حکمت عملی کی موافقت ، استحکام ، منافع اور کنٹرول کے خطرات کو بڑھانے کے نقطہ نظر سے شروع ہوتی ہے ، جو حکمت عملی کی کارکردگی کو بہتر بنانے اور بہتر بنانے کے لئے زیادہ جدید اور لچکدار طریقوں کو متعارف کرانے کے ذریعہ ہے۔
MA MACD BB کثیر اشاریہ ٹریڈنگ حکمت عملی کی بازیافت کا آلہ ایک قابل عمل ، لچکدار اور قابل عمل مقداری تجارتی آلہ ہے۔ یہ تین عام تکنیکی اشارے کے ذریعہ تجارتی سگنل پر قبضہ کرتا ہے ، جبکہ کثیر فاریکس باہمی تجارت اور لچکدار خطرے کے انتظام کی حمایت کرتا ہے ، جو مختلف بازاروں اور تجارتی طرزوں کے مطابق ہے۔ صارف اس ٹول کا استعمال تاریخی اعداد و شمار کی بازیافت اور اصلاح کے لئے کرسکتا ہے ، اور اسے ریئل اسٹیک ٹریڈنگ پر بھی لاگو کرسکتا ہے۔ اگرچہ کسی بھی حکمت عملی کو مارکیٹ کے خطرات اور ماڈل کے خطرات کا سامنا کرنا پڑتا ہے ، لیکن معقول پیرامیٹر سیٹنگ ، سخت خطرے کے کنٹرول اور مسلسل اصلاحی بہتری کے ذریعہ ، اس حکمت عملی کو طویل مدتی مستحکم منافع پیدا کرنے کے لئے اپنے تاجروں کی مدد کرنے کا امکان ہے۔
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
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/
// © Future_Billi0naire_
//@version=5
strategy("MA MACD BB Backtester", overlay=true)
//@variable Input for Strategy
which_ta = input.string("MA", title="Select Indicator", options=["MACD", "BB", "MA"])
which_camp = input.string("Long", title="Select Long / Short", options=["Short", "Long"])
//@variable Input parameters for Risk Management
positionSize = input.float(100.0, title="Each position's capital allocation %", minval=0.0, maxval = 100.0) / 100
//@variable Input parameters for MACD
fast_length = input.int(12, title="MACD Fast Length")
slow_length = input.int(26, title="MACD Slow Length")
signal_smoothing = input.int(9, title="MACD Signal Smoothing")
macd_source = input.source(close, title="MACD Source")
//@variable Input parameters for Moving Average
ma_length = input.int(50, title="Moving Average Length")
//@variable Input parameters for Bollinger Bands
bb_length = input.int(20, title="Bollinger Bands Length")
bb_mult = input.float(2.0, title="Bollinger Bands Multiplier")
// Choosing the Strategy
int x = na
if which_ta == "MA"
x := 1
else if which_ta == "MACD"
x := 2
else if which_ta == "BB"
x := 3
// Calculate MACD and Signal line
[macdLine, signalLine, _] = ta.macd(macd_source, fast_length, slow_length, signal_smoothing)
// Calculate Moving Average
ma = ta.sma(close, ma_length)
// Calculate Bollinger Bands
basis = ta.sma(close, bb_length)
dev = bb_mult * ta.stdev(close, bb_length)
upper = basis + dev
lower = basis - dev
// Plotting MACD and Signal lines
plot(x == 2 ? macdLine : na, color=color.blue, title="MACD Line")
plot(x == 2 ? signalLine : na, color=color.red, title="Signal Line")
// Plotting histogram
histogram = macdLine - signalLine
plot(x == 2 ? histogram : na, color=color.gray, style=plot.style_histogram, title="MACD Histogram")
// Plotting Moving Average
plot(x == 1 ? ma : na, color=color.orange, title="Moving Average")
// Plotting Bollinger Bands
plot(x == 3 ? upper : na, color=color.green, title="Upper Bollinger Band")
plot(x == 3 ? lower : na, color=color.red, title="Lower Bollinger Band")
plot(x == 3 ? basis : na, color=color.blue, title="Basis Bollinger Band")
// Generate buy signals
buySignalMACD = ta.crossover(macdLine, signalLine)
buySignalMA = ta.crossover(close, ma)
buySignalBB = close < lower
sellSignalBBExit = close > basis
// Generate sell signals
sellSignalMACD = ta.crossunder(macdLine, signalLine)
sellSignalMA = ta.crossunder(close, ma)
sellSignalBB = close > upper
buySignalBBExit = close < basis
// Plot buy signals on the chart
plotshape(series=buySignalMACD and x == 2 and which_camp=="Long" and strategy.opentrades == 0 ? buySignalMACD : na, title="Buy Signal MACD", location=location.belowbar, color=color.lime, style=shape.labelup, text="BUY MACD")
plotshape(series=buySignalMA and x == 1 and which_camp=="Long" and strategy.opentrades == 0 ? buySignalMA : na, title="Buy Signal MA", location=location.belowbar, color=color.lime, style=shape.labelup, text="BUY MA")
plotshape(series=buySignalBB and x == 3 and which_camp=="Long" and strategy.opentrades == 0 ? buySignalBB : na, title="Buy Signal BB", location=location.belowbar, color=color.lime, style=shape.labelup, text="BUY BB")
// Plot sell signals on the chart
plotshape(series=sellSignalMACD and x == 2 and which_camp=="Short" and strategy.opentrades == 0 ? sellSignalMACD : na, title="Sell Signal MACD", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL MACD")
plotshape(series=sellSignalMA and x == 1 and which_camp=="Short" and strategy.opentrades == 0 ? sellSignalMA : na, title="Sell Signal MA", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL MA")
plotshape(series=sellSignalBB and x == 3 and which_camp=="Short" and strategy.opentrades == 0 ? sellSignalBB : na, title="Sell Signal BB", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL BB")
// Calculate stop loss and take profit levels
accountSize = strategy.equity
positionSizeAmount = accountSize * positionSize
// Calculate order size based on stop loss amount
orderSize = math.floor(positionSizeAmount / close)
// Enter long positions based on buy signals
if strategy.opentrades == 0
if (buySignalMACD) and x == 2 and which_camp == "Long"
strategy.entry("Buy MACD", strategy.long, qty=orderSize)
if (buySignalMA) and x == 1 and which_camp == "Long"
strategy.entry("Buy MA", strategy.long, qty=orderSize)
if (buySignalBB) and x == 3 and which_camp == "Long"
strategy.entry("Buy BB", strategy.long, qty=orderSize)
// Enter short positions based on sell signals
if strategy.opentrades == 0
if (sellSignalMACD) and x == 2 and which_camp == "Short"
strategy.entry("Sell MACD", strategy.short, qty=orderSize)
if (sellSignalMA) and x == 1 and which_camp == "Short"
strategy.entry("Sell MA", strategy.short, qty=orderSize)
if (sellSignalBB) and x == 3 and which_camp == "Short"
strategy.entry("Sell BB", strategy.short, qty=orderSize)
// Close positions based on exit signals
if (sellSignalMACD) and which_camp == "Long"
strategy.close("Buy MACD")
if (sellSignalMA) and which_camp == "Long"
strategy.close("Buy MA")
if (sellSignalBBExit) and which_camp == "Long"
strategy.close("Buy BB")
if (buySignalMACD) and which_camp == "Short"
strategy.close("Sell MACD")
if (buySignalMA) and which_camp == "Short"
strategy.close("Sell MA")
if (buySignalBBExit) and which_camp == "Short"
strategy.close("Sell BB")