اس حکمت عملی کا بنیادی اصول زیادہ جامع اور قابل اعتماد تجارتی سگنل حاصل کرنے کے لئے متعدد تکنیکی اشارے کا فائدہ اٹھانا ہے۔ ہر اشارے کے پاس مارکیٹ کے رجحانات کی ترجمانی کے لئے اپنا منفرد حساب کتاب کا طریقہ اور نقطہ نظر ہے۔ مثال کے طور پر ، آر ایس آئی قیمتوں کی نقل و حرکت کی رفتار اور طاقت کی پیمائش کرتا ہے۔ ایم اے سی ڈی حرکت پذیر اوسط کراس اوورز کی بنیاد پر رجحانات کا تعین کرتا ہے۔ اسٹوکاسٹک آسکیلیٹر ایک خاص مدت کے دوران قیمت کی حد کے ساتھ اختتامی قیمت کا موازنہ کرکے زیادہ خریدنے اور زیادہ فروخت کی سطح کا اندازہ کرتا ہے۔ اور بولنگر بینڈ قیمت کی اتار چڑھاؤ کی بنیاد پر اوپری اور نچلی حدود طے کرتے ہیں۔
اسٹریٹجی میں قیمتوں کی نقل و حرکت کی تصدیق کے لئے مارکیٹ کی دیگر معلومات جیسے حجم کو بھی مدنظر رکھا جاتا ہے۔ اس کے علاوہ ، اسٹریٹجی میں رسک مینجمنٹ اور اصلاح کے اقدامات شامل ہیں ، بشمول منافع ، اسٹاپ نقصان ، اور تجارتی سیشن فلٹرز ، خطرات پر قابو پانے کے دوران مواقع کو استعمال کرنے کے ل.
اس کے علاوہ ، حکمت عملی میں پیرامیٹرز کے وسیع پیمانے پر اختیارات پیش کیے جاتے ہیں ، جس سے صارفین کو اپنی ترجیحات اور تجارتی طرز کے مطابق ترتیبات کو اپنی مرضی کے مطابق کرنے کی اجازت ملتی ہے۔ پیرامیٹرز کے مختلف مجموعے مختلف حساسیت اور تعدد کے ساتھ سگنل تیار کرسکتے ہیں ، مختلف مارکیٹ کے حالات کے مطابق ڈھال سکتے ہیں۔ اس حکمت عملی میں بلٹ ان رسک مینجمنٹ ٹولز بھی شامل ہیں ، جیسے منافع ، اسٹاپ نقصان ، اور تجارتی سیشن فلٹرز ، اس کی عملی اور قابو پانے کی صلاحیت کو مزید بڑھا سکتے ہیں۔
اس کے متعدد فوائد کے باوجود ، اس حکمت عملی میں کچھ ممکنہ خطرات بھی ہیں۔ سب سے پہلے ، حکمت عملی کی کارکردگی کا انحصار منتخب کردہ پیرامیٹرز کی معقولیت پر ہوتا ہے۔ پیرامیٹرز کی نامناسب ترتیبات سگنل مسخ اور غلط تجارتی فیصلوں کا باعث بن سکتی ہیں۔ دوسرا ، حکمت عملی بنیادی طور پر تاریخی اعداد و شمار اور شماریاتی نمونوں پر انحصار کرتی ہے ، جبکہ مارکیٹ کے حالات ہمیشہ بدلتے رہتے ہیں ، اور ماضی کے نمونوں کا مستقبل پر اطلاق نہیں ہوسکتا ہے۔
مزید برآں ، انتہائی مارکیٹ کے حالات میں ، متعدد اشارے بیک وقت ناکام ہوسکتے ہیں ، جس کی وجہ سے حکمت عملی غلط فیصلے کرتی ہے۔ حکمت عملی متضاد مارکیٹوں میں متضاد سگنل بھی پیدا کرسکتی ہے ، جس کے نتیجے میں زیادہ تجارت اور تیزی سے سرمایہ ختم ہوجاتا ہے۔
حکمت عملی کی مضبوطی اور منافع کی صلاحیت کو مزید بڑھانے کے لئے، مندرجہ ذیل اصلاحاتی پہلوؤں پر غور کریں:
ان اصلاحات کے ذریعے ، حکمت عملی اپنے فوائد کو برقرار رکھ سکتی ہے جبکہ پیچیدہ مارکیٹ کے ماحول میں نیویگیشن کرنے کی صلاحیت کو مزید بڑھا سکتی ہے ، صارفین کے لئے زیادہ مستقل واپسی فراہم کرتی ہے۔
خلاصہ میں ،
تاہم ، حکمت عملی کی کارکردگی اب بھی پیرامیٹرز کے انتخاب اور مارکیٹ کے حالات جیسے عوامل سے متاثر ہوتی ہے۔ تاجروں کو اپنے تجربے اور بیک ٹیسٹنگ کے نتائج کی بنیاد پر حکمت عملی کو ٹھیک کرنے کی ضرورت ہے۔ زیادہ اشارے کے طول و عرض کو متعارف کرانے ، منافع لینے اور نقصان کو روکنے کے منطق کو بہتر بنانے ، اور تجارتی سیشن فلٹرز کو بہتر بنانے سے ، حکمت عملی اپنی رسک لچک اور منافع کی صلاحیت کو مزید بڑھا سکتی ہے ، جو مقداری تاجروں کے لئے ایک قیمتی آلہ بن سکتی ہے۔
/*backtest start: 2024-04-22 00:00:00 end: 2024-05-22 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title='Super Indicator 7 in 1', shorttitle='Super Indicator 7 in 1', overlay=true, initial_capital=100, pyramiding=0, default_qty_value=10000, default_qty_type=strategy.cash) // Defining indicator parameters show_plots = input(false, title="Show Plots", group="Visibility") show_indicators = input(false, title="Show Indicators", group="Visibility") show_trades = input(true, title="Show Trades", group="Visibility") show_labels = input(false, title="Show Labels", group="Visibility") start_hour = input.int(0, title="Start Hour (24h format)", group="Time-Based Filter", minval=0, maxval=24) end_hour = input.int(24, title="End Hour (24h format)", group="Time-Based Filter", minval=0, maxval=24) stop_trading = input(false, "Stop Trading", group="Time-Based Filter") trade_time = (hour >= start_hour and hour <= end_hour) bgcolor(trade_time and (start_hour != 0 or end_hour != 24) ? color.new(color.blue, 90) : na) volume_length = input.int(1, title="Volume SMA Length", group="Volume", minval=1, step=1) sma_period = input.int(50, title="SMA Period", group="Moving Averages") ema_period = input.int(50, title="EMA Period", group="Moving Averages") bb_length = input.int(20, title='Bollinger Bands Length', group="Bollinger Bands") mult = input.float(2.0, title='Bollinger Bands MultFactor', group="Bollinger Bands") src = input(close, title='Bollinger Bands Source', group="Bollinger Bands") rsi_length = input.int(14, title='RSI Length', group="RSI") macd_fast_length = input.int(12, title='MACD Fast Length', group="MACD") macd_slow_length = input.int(26, title='MACD Slow Length', group="MACD") macd_signal_length = input.int(9, title='MACD Signal Smoothing', group="MACD") stoch_length = input.int(14, title='Stochastic Length', group="Stochastic") smoothK = input.int(3, title='Stochastic %K Smoothing', group="Stochastic") smoothD = input.int(3, title='Stochastic %D Smoothing', group="Stochastic") tp_percent = input.float(0.14, title="Take Profit (%)", group="Trade Settings", minval=0.01, step=0.01) / 100 sl_percent = input.float(0.25, title="Stop Loss (%)", group="Trade Settings", minval=0.01, step=0.01) / 100 // Calculating indicators dev = mult * ta.stdev(src, bb_length) upper = ta.sma(src, bb_length) + dev lower = ta.sma(src, bb_length) - dev rsi_value = ta.rsi(close, rsi_length) stoch_value = ta.stoch(close, high, low, stoch_length) [macd_line, signal_line, _] = ta.macd(close, macd_fast_length, macd_slow_length, macd_signal_length) k = ta.sma(stoch_value, smoothK) d = ta.sma(k, smoothD) sma = ta.sma(close, sma_period) ema = ta.ema(close, ema_period) volume_ma = ta.sma(volume, volume_length) volume_condition = volume >= volume_ma // Signal definitions(-10%, Normal, +10% and ! failed indicator) min_buy_signal = rsi_value < 33 and rsi_value > 30 and stoch_value < 22 and stoch_value > 20 and low < lower and macd_line < 0 and volume_condition min_sell_signal = rsi_value > 63 and rsi_value < 70 and stoch_value > 72 and stoch_value < 80 and high > upper and macd_line > 0 and volume_condition buy_signal = rsi_value < 30 and stoch_value < 20 and low < lower and macd_line < 0 and volume_condition sell_signal = rsi_value > 70 and stoch_value > 80 and high > upper and macd_line > 0 and volume_condition max_buy_signal = rsi_value < 27 and stoch_value < 18 and low < lower and macd_line < 0 and volume_condition max_sell_signal = rsi_value > 77 and stoch_value > 80 and high > upper and macd_line > 0 and volume_condition buy_condition = (rsi_value < 30 ? 1 : 0) + (stoch_value < 20 ? 1 : 0) + (macd_line < 0 ? 1 : 0) + (low < lower ? 1 : 0) + (volume_condition ? 1 : 0) == 4 sell_condition = (rsi_value > 70 ? 1 : 0) + (stoch_value > 80 ? 1 : 0) + (macd_line > 0 ? 1 : 0) + (high > upper ? 1 : 0) + (volume_condition ? 1 : 0) == 4 // Plotting buy and sell signals plotshape(show_plots and min_buy_signal, style=shape.triangleup, location=location.belowbar, color=#00ffb7, size=size.small, title="Min Buy Signal") plotshape(show_plots and min_sell_signal, style=shape.triangledown, location=location.abovebar, color=#efa803, size=size.small, title="Min Sell Signal") plotshape(show_plots and buy_signal and not max_buy_signal, style=shape.triangleup, location=location.belowbar, color=#004cff, size=size.small, title="Buy Signal") plotshape(show_plots and sell_signal and not max_sell_signal, style=shape.triangledown, location=location.abovebar, color=#ffff00, size=size.small, title="Sell Signal") plotshape(show_plots and max_buy_signal, style=shape.triangleup, location=location.belowbar, color=#1eff00, size=size.small, title="Max Buy Signal") plotshape(show_plots and max_sell_signal, style=shape.triangledown, location=location.abovebar, color=#ff0000, size=size.small, title="Max Sell Signal") plotshape(show_plots and buy_condition and not min_buy_signal and not buy_signal and not max_buy_signal, style=shape.triangleup, location=location.belowbar, color=#ffffff, size=size.small, title="Buy Condition") plotshape(show_plots and sell_condition and not min_sell_signal and not sell_signal and not max_sell_signal, style=shape.triangledown, location=location.abovebar, color=#ffffff, size=size.small, title="Sell Condition") // Plotting moving averages plot(show_indicators ? sma : na, color=#fc0000, linewidth=2, title="SMA") plot(show_indicators ? ema : na, color=#00aaff, linewidth=2, title="EMA") // Crossover labels for moving averages BullCross = ta.crossover(ema, sma) BearCross = ta.crossunder(ema, sma) if (show_labels) if (BullCross) label.new(bar_index, sma, color=color.green, textcolor=color.white, style=label.style_cross, size=size.huge) if (BearCross) label.new(bar_index, sma, color=color.red, textcolor=color.white, style=label.style_cross, size=size.huge) // Calculating take profit and stop loss long_take_profit = close * (1 + tp_percent) long_stop_loss = close * (1 - sl_percent) short_take_profit = close * (1 - tp_percent) short_stop_loss = close * (1 + sl_percent) // Opening long and short orders based on signals if (show_trades and trade_time and not stop_trading) if (min_buy_signal or buy_signal or max_buy_signal or buy_condition) strategy.entry("Open Long", strategy.long) strategy.exit("TP/SL Long", limit=long_take_profit, stop=long_stop_loss) if (min_sell_signal or sell_signal or max_sell_signal or sell_condition) strategy.entry("Open Short", strategy.short) strategy.exit("TP/SL Short", limit=short_take_profit, stop=short_stop_loss)