ایم اے ایم اے سی ڈی بی بی ملٹی انڈیکیٹر ٹریڈنگ حکمت عملی بیک ٹیسٹنگ ٹول ایک طاقتور مقداری تجارتی حکمت عملی کی ترقی اور بیک ٹیسٹنگ پلیٹ فارم ہے۔ یہ ٹول عام طور پر استعمال ہونے والے تین تکنیکی اشارے: موونگ ایوریج (ایم اے) ، موونگ ایوریج کنورجنس ڈائیورجنس (ایم اے سی ڈی) ، اور بولنگر بینڈ (بی بی) کی حمایت کرتا ہے۔ صارفین ان میں سے کسی ایک کو بنیادی تجارتی سگنل اشارے کے طور پر لچکدار طور پر منتخب کرسکتے ہیں۔ اسی وقت ، یہ ٹول لمبی اور مختصر تجارت دونوں کی حمایت کرتا ہے۔ صارفین مارکیٹ کے رجحانات کے مطابق لچکدار طور پر لمبی یا مختصر جانے کا انتخاب کرسکتے ہیں۔ رسک مینجمنٹ کے لحاظ سے ، یہ ٹول صارفین کو ہر لین دین کے سرمایہ تناسب کو بہتر کنٹرول کرنے کے لئے لچکدار طریقے سے ترتیب دینے کی اجازت دیتا ہے۔ اس کے علاوہ ، یہ ٹول صارفین کو تجارتی مواقع کو بہتر طور پر سمجھنے میں مدد کے لئے تفصیلی رسک انڈیکیٹر تجزیہ اور سگنل جنریشن افعال بھی فراہم کرتا ہے۔
اس حکمت عملی کا بنیادی اصول مارکیٹ کے رجحانات اور تجارتی اشاروں کی نشاندہی کے لئے تین مشترکہ تکنیکی اشارے (ایم اے ، ایم اے سی ڈی ، اور بی بی) کا استعمال کرنا ہے۔ خاص طور پر:
اصل ٹریڈنگ میں، حکمت عملی صارف کی منتخب کردہ ٹریڈنگ سمت (طویل یا مختصر) اور دارالحکومت کے انتظام کی ترتیبات کی بنیاد پر ہر ٹرانزیکشن کے پوزیشن سائز کا خود بخود حساب لگاتا ہے، اور پھر سگنل کے مطابق متعلقہ افتتاحی اور بند ہونے والے آپریشنز کو انجام دیتا ہے.
مذکورہ بالا خطرات کو کم کرنے کے لئے ، صارفین کو حکمت عملی کے پیرامیٹرز کو معقول حد تک طے کرنا چاہئے ، حکمت عملیوں کا باقاعدگی سے جائزہ لینا اور ان کو ایڈجسٹ کرنا چاہئے ، اور مارکیٹ کے رجحانات کی قریب سے نگرانی کرنا چاہئے ، جب ضروری ہو تو دستی طور پر مداخلت کریں۔ اس کے علاوہ ، سخت رسک مینجمنٹ کے اقدامات جیسے اسٹاپ نقصانات اور پوزیشن کی حدود کا تعین کرنا بھی ضروری ہے۔
مندرجہ بالا اصلاحاتی سمتوں میں بنیادی طور پر حکمت عملی کی کارکردگی کو مستقل طور پر بہتر بنانے اور بہتر بنانے کے لئے زیادہ جدید اور لچکدار طریقوں کو متعارف کرانے کے ذریعے حکمت عملی کی موافقت ، استحکام ، منافع بخش اور رسک کنٹرول کو بہتر بنانے پر توجہ دی گئی ہے۔
ایم اے ایم اے سی ڈی بی بی ملٹی انڈیکیٹر ٹریڈنگ حکمت عملی بیک ٹیسٹنگ ٹول ایک خصوصیت سے بھرپور ، لچکدار اور عملی مقداری تجارتی ٹول ہے۔ یہ تین عام تکنیکی اشارے کے ذریعہ تجارتی سگنل حاصل کرتا ہے ، جبکہ طویل اور مختصر تجارت اور لچکدار رسک مینجمنٹ دونوں کی حمایت کرتا ہے ، مختلف مارکیٹوں اور تجارتی طرزوں کو اپنانے کے ل.۔ صارفین اس ٹول کو تاریخی ڈیٹا کو بیک ٹیسٹ کرنے اور بہتر بنانے کے لئے استعمال کرسکتے ہیں ، اور اسے رواں تجارت میں بھی لاگو کرسکتے ہیں۔ اگرچہ کسی بھی حکمت عملی کو مارکیٹ کے خطرات اور ماڈل کے خطرات کا سامنا کرنا پڑتا ہے ، معقول پیرامیٹر کی ترتیبات ، سخت رسک کنٹرول ، اور مسلسل اصلاح اور بہتری کے ذریعہ ، اس حکمت عملی سے مقداری تاجروں کے لئے ایک طاقتور معاون بننے کی توقع ہے ، جس سے ان کے لئے طویل مدتی مستحکم منافع پیدا ہوتا ہے۔
/*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")