یہ حکمت عملی خریدنے کے سگنل پیدا کرتی ہے جب تیز رفتار اوسط اوسط سست رفتار اوسط سے تجاوز کرتا ہے۔ اسی وقت ، یہ فروخت کے سگنل مرتب کرنے کے لئے اوسط سچے رینج کی بنیاد پر ٹریلنگ اسٹاپ نقصان کی قیمت کا حساب لگاتا ہے۔ یہ حکمت عملی مارکیٹ کے رجحانات کو مؤثر طریقے سے ٹریک کرسکتی ہے اور منافع لینے کے وقت بروقت نقصانات کو کم کرسکتی ہے۔
یہ حکمت عملی رجحان کی پیروی اور اسٹاپ نقصان کے انتظام کے فوائد کو جوڑتی ہے۔ یہ درمیانے اور طویل مدتی رجحانات کو ٹریک کرسکتا ہے اور اسٹاپ نقصان کے ذریعہ ایک ہی تجارت کے نقصان کو کنٹرول کرسکتا ہے۔
پیرامیٹرز کو اسٹاپ نقصان کی وسعت کو متوازن کرنے کے لئے بہتر بنایا جاسکتا ہے۔ انٹری ٹائمنگ کو بہتر بنانے کے لئے دوسرے اشارے بھی مل سکتے ہیں۔
/*backtest start: 2024-01-05 00:00:00 end: 2024-02-04 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //created by XPloRR 24-02-2018 strategy("XPloRR MA-Buy ATR-MA-Trailing-Stop Strategy",overlay=true, initial_capital=1000,default_qty_type=strategy.percent_of_equity,default_qty_value=100) testStartYear = input(2005, "Start Year") testStartMonth = input(1, "Start Month") testStartDay = input(1, "Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testStopYear = input(2050, "Stop Year") testStopMonth = input(12, "Stop Month") testStopDay = input(31, "Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) testPeriodBackground = input(title="Background", type=bool, defval=true) testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na bgcolor(testPeriodBackgroundColor, transp=97) emaPeriod = input(12, "Exponential MA") smaPeriod = input(45, "Simple MA") stopPeriod = input(12, "Stop EMA") delta = input(6, "Trailing Stop #ATR") testPeriod() => true emaval=ema(close,emaPeriod) smaval=sma(close,smaPeriod) stopval=ema(close,stopPeriod) atr=sma((high-low),15) plot(emaval, color=blue,linewidth=1) plot(smaval, color=orange,linewidth=1) plot(stopval, color=lime,linewidth=1) long=crossover(emaval,smaval) short=crossunder(emaval,smaval) //buy-sell signal stop=0 inlong=0 if testPeriod() if (long and (not inlong[1])) strategy.entry("buy",strategy.long) inlong:=1 stop:=emaval-delta*atr else stop:=iff((nz(emaval)>(nz(stop[1])+delta*atr))and(inlong[1]),emaval-delta*atr,nz(stop[1])) inlong:=nz(inlong[1]) if ((stopval<stop) and (inlong[1])) strategy.close("buy") inlong:=0 stop:=0 else inlong:=0 stop:=0 plot(stop,color=green,linewidth=1)