
یہ حکمت عملی LazyBear کی اصل لہر کے رجحان کی حکمت عملی ہے ، جس میں دوسرا اسٹاپ نقصان ، متعدد اسٹاپ قیمتیں اور اعلی ٹائم فریم ای ایم اے فلٹر شامل ہیں۔ یہ ٹریڈنگ سگنل پیدا کرنے کے لئے لہر کے رجحان کے اشارے کا استعمال کرتا ہے ، اور پھر ای ایم اے فلٹرنگ اور اسٹاپ نقصان اسٹاپ مینجمنٹ کے ساتھ مل کر ، ٹریڈنگ کو خود کار طریقے سے رجحان سے باخبر رکھنے کے لئے۔
اس حکمت عملی کا بنیادی اشارے ویو ٹرینڈ اشارے ہے ، جس میں تین حصے ہیں:
اے پی: اوسط قیمت = ((سب سے زیادہ قیمت + کم سے کم قیمت + اختتامی قیمت) / 3
ESA: AP کے n1 ایڈیشن EMA
CI: ((AP-ESA) / (0.015 × AP-ESA کی n1 ای ایم اے) کی مطلق قیمت کی n1 ای ایم اے
ٹی سی آئی: سی آئی کا n2 مرحلہ ای ایم اے ، یعنی لہر کا رجحان لائن 1 ((WT1)
ڈبلیو ٹی 2: ڈبلیو ٹی 1 کے 4 سیکنڈ ایس ایم اے
جب WT1 پر WT2 کو مارنے سے گولڈ فورک پیدا ہوتا ہے تو ، زیادہ کام کریں۔ جب WT1 کے نیچے WT2 کو مارنے سے ڈیڈ فورک پیدا ہوتا ہے تو ، بیعانہ کو صاف کریں۔
اس کے علاوہ ، حکمت عملی میں اعلی ٹائم فریم EMA کو بطور فلٹر متعارف کرایا گیا ہے ، اور یہ صرف اس وقت زیادہ کام کرتا ہے جب قیمت EMA سے زیادہ ہو ، اور EMA سے کم ہونے پر خالی ہوجائے ، جس سے کچھ جھوٹے سگنل فلٹر ہوجاتے ہیں۔
اس حکمت عملی میں متعدد جہتوں جیسے رجحانات کی پیروی ، رسک کنٹرول ، منافع کو زیادہ سے زیادہ سمجھا جاتا ہے۔ یہ حکمت عملی کو مزید پیرامیٹرز کو بہتر بنانے اور الٹ جانے والے فیصلے کو بڑھانے کے ذریعہ اس حکمت عملی کی اطلاق کو مزید بڑھا سکتا ہے۔
/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 1h
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/
// © undacovacobra
//@version=4
strategy("WaveTrend Strategy [LazyBear] with Secondary Stop Loss", overlay=true)
// Input parameters
n1 = input(10, "Channel Length")
n2 = input(21, "Average Length")
obLevel1 = input(60, "Over Bought Level 1")
obLevel2 = input(53, "Over Bought Level 2")
osLevel1 = input(-60, "Over Sold Level 1")
osLevel2 = input(-53, "Over Sold Level 2")
useEmaFilter = input(false, "Use EMA Filter")
emaLength = input(50, "EMA Length")
emaTimeFrame = input("60", "EMA Time Frame")
tradeMode = input("Both", "Trade Mode", options=["Long Only", "Short Only", "Both"])
useSecondarySL = input(false, "Use Secondary Stop Loss")
slPercentage = input(5.0, "Stop Loss Percentage (%)")
// WaveTrend Indicator Calculations
ap = hlc3
esa = ema(ap, n1)
d = ema(abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ema(ci, n2)
wt1 = tci
wt2 = sma(wt1, 4)
// EMA Calculation with Selected Time Frame
getEma(timeFrame) =>
security(syminfo.tickerid, timeFrame, ema(close, emaLength))
emaFilter = getEma(emaTimeFrame)
// Secondary Stop Loss Calculation
longStopPrice = strategy.position_avg_price * (1 - slPercentage / 100)
shortStopPrice = strategy.position_avg_price * (1 + slPercentage / 100)
// Long Entry and Exit Conditions with EMA Filter and Trade Mode
longEntry = crossover(wt1, wt2) and wt2 < osLevel1 and (not useEmaFilter or close > emaFilter) and (tradeMode == "Long Only" or tradeMode == "Both")
if (longEntry)
strategy.entry("Long", strategy.long)
longExit = crossunder(wt1, wt2) and wt2 > obLevel1
if (longExit)
strategy.close("Long")
if (useSecondarySL and strategy.position_size > 0 and low < longStopPrice)
strategy.close("Long", comment="SL Hit")
// Short Entry and Exit Conditions with EMA Filter and Trade Mode
shortEntry = crossunder(wt1, wt2) and wt2 > obLevel1 and (not useEmaFilter or close < emaFilter) and (tradeMode == "Short Only" or tradeMode == "Both")
if (shortEntry)
strategy.entry("Short", strategy.short)
shortExit = crossover(wt1, wt2) and wt2 < osLevel1
if (shortExit)
strategy.close("Short")
if (useSecondarySL and strategy.position_size < 0 and high > shortStopPrice)
strategy.close("Short", comment="SL Hit")
// Plotting
plot(0, color=color.gray)
plot(obLevel1, color=color.red)
plot(osLevel1, color=color.green)
plot(obLevel2, color=color.red, style=plot.style_cross)
plot(osLevel2, color=color.green, style=plot.style_cross)
plot(wt1, color=color.green)
plot(wt2, color=color.red, style=plot.style_cross)
plot(wt1-wt2, color=color.blue, style=plot.style_area, transp=80)
plot(emaFilter, color=color.blue)