یہ حکمت عملی اوسط حقیقی رینج (اے ٹی آر) اشارے پر مبنی ایک متحرک ٹریلنگ اسٹاپ حکمت عملی ہے۔ یہ اے ٹی آر کی اقدار کے ذریعے اسٹاپ نقصان کی پوزیشنوں کو متحرک طور پر ایڈجسٹ کرتی ہے اور ای ایم اے کراس اوورز کا استعمال کرتے ہوئے تجارتی سگنلز کی تصدیق کرتی ہے۔ یہ حکمت عملی لچکدار پوزیشن مینجمنٹ کی حمایت کرتی ہے اور مختلف مارکیٹ ماحول اور تجارتی آلات کی بنیاد پر خرید / فروخت کی مقدار کو اپنی مرضی کے مطابق بنانے کی اجازت دیتی ہے۔ یہ 5 منٹ سے 2 گھنٹے تک کے درمیانے درجے کے ٹائم فریم میں خاص طور پر اچھی کارکردگی کا مظاہرہ کرتی ہے ، مؤثر طریقے سے مارکیٹ کے رجحانات کو پکڑتی ہے۔
حکمت عملی کا بنیادی منطق کئی اہم عناصر پر مبنی ہے:
یہ حکمت عملی اے ٹی آر اشارے اور ای ایم اے کو یکجا کرکے ایک قابل اعتماد متحرک ٹریلنگ اسٹاپ سسٹم تیار کرتی ہے۔ اس کی طاقت مارکیٹ کی اتار چڑھاؤ کو اپنانے ، جامع رسک مینجمنٹ اور آپریشنل لچک میں ہے۔ اگرچہ موروثی خطرات موجود ہیں ، اس حکمت عملی میں مسلسل اصلاح اور بہتری کے ذریعے مختلف مارکیٹ کے ماحول میں مستحکم کارکردگی کا وعدہ کیا گیا ہے۔ تاجروں کو مشورہ دیا جاتا ہے کہ وہ براہ راست تجارت سے پہلے پیرامیٹر کے مجموعوں کی مکمل جانچ کریں اور مخصوص آلات کی خصوصیات کی بنیاد پر اصلاح کریں۔
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-10 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title='ADET GİRMELİ Trend İz Süren Stop Strategy', overlay=true, overlay=true,default_qty_type = strategy.fixed, default_qty_value = 1) // Inputs a = input(9, title='Key Value. "This changes the sensitivity"') c = input(3, title='ATR Period') h = input(false, title='Signals from Heikin Ashi Candles') xATR = ta.atr(c) nLoss = a * xATR src = h ? request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close, lookahead=barmerge.lookahead_off) : close xATRTrailingStop = 0.0 iff_1 = src > nz(xATRTrailingStop[1], 0) ? src - nLoss : src + nLoss iff_2 = src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0) ? math.min(nz(xATRTrailingStop[1]), src + nLoss) : iff_1 xATRTrailingStop := src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0) ? math.max(nz(xATRTrailingStop[1]), src - nLoss) : iff_2 pos = 0 iff_3 = src[1] > nz(xATRTrailingStop[1], 0) and src < nz(xATRTrailingStop[1], 0) ? -1 : nz(pos[1], 0) pos := src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0) ? 1 : iff_3 xcolor = pos == -1 ? color.red : pos == 1 ? color.green : color.blue ema = ta.ema(src, 1) above = ta.crossover(ema, xATRTrailingStop) below = ta.crossover(xATRTrailingStop, ema) buy = src > xATRTrailingStop and above sell = src < xATRTrailingStop and below barbuy = src > xATRTrailingStop barsell = src < xATRTrailingStop // Alım ve Satım Sinyalleri buySignal = src > xATRTrailingStop and above sellSignal = src < xATRTrailingStop and below // Kullanıcı girişi sell_quantity = input.int(1, title="Sell Quantity", minval=1) buy_quantity = input.int(1, title="Buy Quantity", minval=1) // Portföy miktarı (örnek simülasyon verisi) var portfolio_quantity = 0 // Sinyal üretimi (örnek sinyal, gerçek stratejinizle değiştirin) indicator_signal = (src > xATRTrailingStop and above) ? "buy" : (src < xATRTrailingStop and below) ? "sell" : "hold" // Şartlara göre al/sat if indicator_signal == "buy" and portfolio_quantity < buy_quantity strategy.entry("Buy Order", strategy.long, qty=buy_quantity) portfolio_quantity := portfolio_quantity + buy_quantity if indicator_signal == "sell" and portfolio_quantity >= sell_quantity strategy.close("Buy Order", qty=sell_quantity) portfolio_quantity := portfolio_quantity - sell_quantity // Plot buy and sell signals plotshape(buy, title='Buy', text='Buy', style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), textcolor=color.new(color.white, 0), size=size.tiny) plotshape(sell, title='Sell', text='Sell', style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), textcolor=color.new(color.white, 0), size=size.tiny) // Bar coloring barcolor(barbuy ? color.rgb(6, 250, 14) : na) barcolor(barsell ? color.red : na) // Alerts alertcondition(buy, 'UT Long', 'UT Long') alertcondition(sell, 'UT Short', 'UT Short') // Strategy Entry and Exit if buy strategy.entry('Long', strategy.long) if sell strategy.entry('Short', strategy.short) // Optional Exit Conditions if sell strategy.close('Long') if buy strategy.close('Short')