یہ حکمت عملی متعدد ٹائم فریموں میں رجحانات کی نشاندہی اور ان کا سراغ لگانے کے لئے Ichimoku Cloud ، چلتی اوسط ، MACD ، اسٹوکاسٹک اور ATR اشارے کو مربوط کرتی ہے۔ یہ اعلی امکان کے رجحان سگنل حاصل کرنے کے بعد خطرہ کنٹرول کے لئے ATR پر مبنی اسٹاپ نقصان اور منافع کے طریقوں کو اپناتا ہے۔
Ichimoku Cloud درمیانی اور طویل مدتی رجحانات کی سمتوں کا جائزہ لیتا ہے۔ Ichimoku
ایم اے سی ڈی قلیل مدتی رجحانات اور زیادہ خرید / فروخت کی صورتحال کا جائزہ لیتا ہے۔ ایم اے سی ڈی سگنل لائن سے اوپر عبور کرنے والا ایم اے سی ڈی ہسٹوگرام ایک تیزی کا اشارہ ہے ، اور اس سے نیچے عبور کرنا ایک bearish اشارہ ہے۔
اسٹوکاسٹک کے ڈی اوور بک / اوور سیل زونوں کا جائزہ لیتا ہے۔ 20 سے اوپر کی لائن عبور کرنا ایک تیزی کا اشارہ ہے ، اور 80 سے نیچے عبور کرنا ایک bearish اشارہ ہے۔
چلتی اوسط درمیانی مدت کے رجحانات کا فیصلہ کرتی ہے۔ ایم اے سے اوپر کی قیمت کو قریب سے عبور کرنا ایک تیزی کا اشارہ ہے ، اور اس سے نیچے عبور کرنا ایک bearish اشارہ ہے۔
مندرجہ بالا اشارے سے سگنل کو ضم کریں تاکہ کچھ غلط سگنل کو فلٹر کریں اور اعلی امکان کے پائیدار رجحان سگنل تشکیل دیں۔
اسٹاپ نقصان اور منافع کی قیمت کا حساب لگانے کے لئے اے ٹی آر کا استعمال کریں۔ خطرات کو کنٹرول کرنے کے لئے اسٹاپ نقصان کے طور پر اے ٹی آر کا ایک خاص ضرب استعمال کریں اور منافع بٹس لیں.
سگنل کی درستگی کو بہتر بنانے کے لئے متعدد ٹائم فریموں میں رجحانات کی نشاندہی کریں۔
غلط سگنل کو مؤثر طریقے سے فلٹر کرنے کے لئے وسیع پیمانے پر اشارے کے مجموعے کا استعمال کریں.
اے ٹی آر پر مبنی سٹاپ نقصان اور منافع حاصل کریں ہر تجارت کے نقصان پر نمایاں حد.
داخلے کی شرائط کی اپنی مرضی کے مطابق سختی مختلف رسک بھوک کو پورا کرتی ہے۔
فطرت کے مطابق رجحان سیاہ بچھو واقعات کی وجہ سے الٹ کا پتہ لگانے میں ناکام رہتا ہے.
مثالی اے ٹی آر سٹاپ نقصان لائیو ٹریڈنگ میں مکمل طور پر نقل کرنا مشکل ہے۔
پیرامیٹر کی غلط ترتیبات سے زیادہ تجارت یا سگنل کی ناکافی درستگی ہوسکتی ہے۔
مختلف مصنوعات اور مارکیٹ کے ماحول کو فٹ کرنے کے لئے پیرامیٹر ٹویک کی ضرورت ہے۔
مشین لرننگ متعارف کروانا تاکہ رجحان کی تبدیلی کے مقامات کا جائزہ لیا جاسکے۔
مختلف مصنوعات کے لئے ATR ضارب پیرامیٹر اقدار کو بہتر بنائیں.
اختراعی سگنل کی درستگی کو بہتر بنانے کے لئے حجم کی تبدیلیوں جیسے دیگر عوامل کو شامل کریں.
بہترین پیرامیٹر مجموعے تلاش کرنے کے لئے بیک ٹیسٹ کے نتائج کی بنیاد پر پیرامیٹرز کو بہتر بناتے رہیں.
یہ حکمت عملی کثیر ٹائم فریم ٹرینڈ کی نشاندہی کے لئے Ichimoku کلاؤڈ ، MACD ، اسٹوکاسٹک اور زیادہ کا فائدہ اٹھاتی ہے ، جو بلیک سوان کے واقعات میں پھنس جانے سے بچتے ہوئے رجحانات کو پکڑتی ہے۔ اے ٹی آر پر مبنی اسٹاپ نقصان اور منافع حاصل کرنے سے فی تجارتی نقصان مؤثر طریقے سے حد ہوتی ہے۔ مزید معاون فیصلوں اور مشینی سیکھنے کے طریقوں کو متعارف کرانے کے ساتھ ، اس حکمت عملی میں مزید اصلاح کی صلاحیت ہے۔
/*backtest start: 2024-01-05 00:00:00 end: 2024-02-04 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © FXFUNDINGMATE //@version=4 strategy(title="FXFUNDINGMATE TREND INDICATOR", overlay=true) //Ichimoku Cloud conversionPeriods = input(9, minval=1, title="Conversion Line Length") basePeriods = input(26, minval=1, title="Base Line Length") laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Length") displacement = input(26, minval=1, title="Displacement") donchian(len) => avg(lowest(len), highest(len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = avg(conversionLine, baseLine)[displacement - 1] leadLine2 = donchian(laggingSpan2Periods)[displacement - 1] //macd fast_length = input(title="Fast Length", type=input.integer, defval=12) slow_length = input(title="Slow Length", type=input.integer, defval=26) src = input(title="Source", type=input.source, defval=close) signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9) sma_source = input(title="Simple MA (Oscillator)", type=input.bool, defval=false) sma_signal = input(title="Simple MA (Signal Line)", type=input.bool, defval=false) fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length) slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length) macd = fast_ma - slow_ma signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length) hist = macd - signal //kd periodK = input(5, title="%K Length", minval=1) smoothK = input(3, title="%K Smoothing", minval=1) periodD = input(3, title="%D Smoothing", minval=1) k = sma(stoch(close, high, low, periodK), smoothK) d = sma(k, periodD) //atr atrlength = input(title="Atr Length", defval=8, minval=1) SMulti = input(title="Stop loss multi Atr", defval=1.0) TMulti = input(title="Take profit multi Atr", defval=1.0) smoothing = input(title="Smoothing", defval="RMA", options=["RMA", "SMA", "EMA", "WMA"]) ma_function(source, length) => if smoothing == "RMA" rma(source, length) else if smoothing == "SMA" sma(source, length) else if smoothing == "EMA" ema(source, length) else wma(source, length) atr = ma_function(tr(true), atrlength) operation_type = input(defval = "Both", title = "Position side", options = ["Long", "Short", "Both"]) operation = operation_type == "Long" ? 1 : operation_type == "Short" ? 2 : 3 showlines = input(true, title="Show sl&tp lines") // MA sma_len = input(100, title="MA Length", type=input.integer) sma = sma(close, sma_len) longCond = crossover(k, 20) and macd > 0 and close > sma and close > leadLine1 and close > leadLine2 shortCond = crossunder(k, 80) and macd < 0 and close < sma and close < leadLine1 and close < leadLine2 entry_price = float(0.0) //set float entry_price := strategy.position_size != 0 or longCond or shortCond ? strategy.position_avg_price : entry_price[1] entry_atr = valuewhen(longCond or shortCond, atr,0) short_stop_level = float(0.0) //set float short_profit_level = float(0.0) //set float long_stop_level = float(0.0) //set float long_profit_level = float(0.0) //set float short_stop_level := entry_price + SMulti * entry_atr short_profit_level := entry_price - TMulti * entry_atr long_stop_level := entry_price - SMulti * entry_atr long_profit_level := entry_price + TMulti * entry_atr // Strategy Backtest Limiting Algorithm i_startTime = input(defval = timestamp("1 Jan 2020 00:00 +0000"), title = "Backtesting Start Time", type = input.time) i_endTime = input(defval = timestamp("31 Dec 2025 23:59 +0000"), title = "Backtesting End Time", type = input.time) timeCond = true if (operation == 1 or operation == 3) strategy.entry("long" , strategy.long , when=longCond and timeCond, alert_message = "Long") strategy.exit("SL/TP", from_entry = "long" , limit = long_profit_level , stop = long_stop_level , alert_message = "Long exit") if (operation == 2 or operation == 3) strategy.entry("short", strategy.short, when=shortCond and timeCond, alert_message="Short") strategy.exit("SL/TP", from_entry = "short", limit = short_profit_level , stop = short_stop_level , alert_message = "Short exit") if time > i_endTime strategy.close_all(comment = "close all", alert_message = "close all") plot(showlines and strategy.position_size <= 0 ? na : long_stop_level, color=color.red, style=plot.style_linebr, linewidth = 2) plot(showlines and strategy.position_size <= 0 ? na : long_profit_level, color=color.lime, style=plot.style_linebr, linewidth = 2) plot(showlines and strategy.position_size >= 0 ? na : short_stop_level, color=color.red, style=plot.style_linebr, linewidth = 2) plot(showlines and strategy.position_size >= 0 ? na : short_profit_level, color=color.lime, style=plot.style_linebr, linewidth = 2) //}