
یہ حکمت عملی ایک دو طرفہ مثلث چینل کی تعمیر کے ذریعہ ایک اعلی جیت کی ٹریکنگ بریک آپریشن کو حاصل کرتی ہے ، جس میں سپر ٹرینڈ اشارے کے ساتھ مل کر قیمتوں کے ٹوٹنے کی سمت کا تعین کیا جاتا ہے۔ یہ حکمت عملی ای ایم اے کے ساتھ مل کر مارکیٹ کے مجموعی رجحانات کا تعین کرتی ہے ، تاکہ ہلچل کے حالات میں غیر موثر تجارت سے بچا جاسکے۔
قیمتوں کے مختصر ، درمیانی اور طویل مدتی رجحان کی سمت کا تعین کرنے کے لئے تین مختلف پیرامیٹرز کے ساتھ ایک سپر ٹرینڈ اشارے کی تعمیر کریں۔
لسٹ انٹری اور ایگزٹ سگنل کے طور پر ڈبل ٹرنگل چینل کا استعمال کرتے ہوئے یہ فیصلہ کریں کہ آیا قیمت اوپر کی طرف بڑھ رہی ہے یا نیچے کی طرف بڑھ رہی ہے۔
ای ایم اے کے 233 ادوار کے ساتھ مل کر مجموعی رجحان کی سمت کا تعین کرنے کے لئے ، قیمتوں کو ای ایم اے کثیر سر مارکیٹ کو توڑنے کے لئے ایک اضافی راستہ بنانے کی ضرورت ہے ، اور خالی سر مارکیٹ کو توڑنے کے لئے ایک خالی راستہ بنانے کی ضرورت ہے۔
تین سپر ٹرینڈ اشارے کے ساتھ مل کر اسٹاپ اور اسٹاپ سگنل کا فیصلہ کریں۔ جب دو سے زیادہ اشارے رنگ بدل جاتے ہیں تو اسٹاپ یا اسٹاپ کو بند کردیں۔
ڈبل ٹرنگل چینل ایک سے زیادہ ٹائم سائیکل کے فیصلے کے ساتھ مل کر ، رجحانات کی توڑ کو درست طریقے سے پکڑ سکتا ہے۔
ایک سے زیادہ سطحوں کے ساتھ ، آپ کو زیادہ سے زیادہ جیت کی شرح حاصل کرنے کے لئے غیر فعال تجارت سے بچنے کے لئے.
متحرک ٹریکنگ سٹاپ نقصان کو روکنے کے لئے، واپسی کے خطرے کو کم کرنے کے لئے
سادہ پیرامیٹرز کی ترتیب، استعمال کرنے کے لئے آسان.
بڑے دورانیے کے جھٹکے والی مارکیٹ میں اکثر پوزیشن کھولنے اور پھر اس کی روک تھام کی صورت حال ہوسکتی ہے۔ پوزیشن کھولنے کی تعدد کو کم کرنے کے لئے اے ٹی آر سائیکل پیرامیٹرز کو مناسب طریقے سے ایڈجسٹ کیا جاسکتا ہے۔
ای ایم اے کا دورانیہ بہت مختصر ہے ، مجموعی رجحان کا اندازہ نہیں لگایا جاسکتا ہے ، اور طویل عرصے سے اس کا سراغ لگانا غیر حساس ہے۔ ای ایم اے کے بہترین پیرامیٹرز کی نشاندہی کرنے کے لئے ٹیسٹ کی سفارش کی گئی ہے۔
اسٹاپ نقصان کی سطح مارکیٹ میں اتار چڑھاؤ کی شدت میں تبدیلی کو متحرک طور پر ٹریک نہیں کرسکتی ہے ، جس میں انسانی مداخلت کی ضرورت ہوتی ہے۔ بعد میں ، اسٹاپ نقصان کی دوری کو اے ٹی آر کے متحرک ایڈجسٹمنٹ کے ساتھ مل کر غور کیا جاسکتا ہے۔
سپر ٹرینڈ اشارے اور ڈبل مثلث چینل کے امتزاج کے ذریعہ ، چاند کی روشنی کا سراغ لگانے والا ڈبل مثلث توڑنے کی حکمت عملی مضبوط توڑنے کی درست گرفت کو حاصل کرتی ہے۔ اس کے ساتھ ہی ، ایک کثیر درجے کی فلٹرنگ میکانزم غیر موثر سگنل کو فلٹر کرسکتا ہے ، جس کی اعلی کامیابی ہے۔ آسان پیرامیٹرز کی ترتیب بھی اس کے استعمال کو آسان بناتی ہے۔ بوسٹر پیرامیٹرز اور اسٹاپ نقصان کے ڈیزائن کو بہتر بنانے کے ذریعے حکمت عملی کی ٹریکنگ کی تاثیر اور خطرے سے متعلق قابو میں مزید اضافہ کیا جاسکتا ہے۔
/*backtest
start: 2023-11-13 00:00:00
end: 2023-11-17 04:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// @version=5
// author=theasgard and moonshot-indicator (ms)
// year 2021
//
// This is a well knowen strategy by using 3 different Supertrends and a trend-defining EMA,
// feel free to play around with the settings, a backtest on 8h ETHUSDT pair brought some good results using
// the 233EMA and investing 75% of a 10k start capital
//
// the idea is to have at least 2 supertrnds going green above the trend-EMA to go long and exit by turning
// 2 supertrends red (idea: 1 supertrend in red could initialize a take profit)
// shorts work vice versa
// The EMA shows in green for uptrends and in red for downtrends, if it is blue no Signal will be taken because
// the 3 supertrends are not all above or below the trendline(EMA)
strategy("ms hypertrender", overlay=true)
// set up 3 supertrendlines and colour the direction up/down
atrPeriod1 = input(10, "ATR Length 1")
factor1 = input.float(1.0, "ATR Factor 1", step = 0.01)
[supertrend1, direction1] = ta.supertrend(factor1, atrPeriod1)
upTrend1 = plot(direction1 < 0 ? supertrend1 : na, "Up Trend 1", color = color.green, style=plot.style_linebr)
downTrend1 = plot(direction1 < 0? na : supertrend1, "Down Trend 1", color = color.red, style=plot.style_linebr)
atrPeriod2 = input(11, "ATR Length 2")
factor2 = input.float(2.0, "ATR Factor 2", step = 0.01)
[supertrend2, direction2] = ta.supertrend(factor2, atrPeriod2)
upTrend2 = plot(direction2 < 0 ? supertrend2 : na, "Up Trend 2", color = color.green, style=plot.style_linebr)
downTrend2 = plot(direction2 < 0? na : supertrend2, "Down Trend 2", color = color.red, style=plot.style_linebr)
atrPeriod3 = input(12, "ATR Length 3")
factor3 = input.float(3.0, "ATR Factor 3", step = 0.01)
[supertrend3, direction3] = ta.supertrend(factor3, atrPeriod3)
upTrend3 = plot(direction3 < 0 ? supertrend3 : na, "Up Trend 1", color = color.green, style=plot.style_linebr)
downTrend3 = plot(direction3 < 0? na : supertrend3, "Down Trend 1", color = color.red, style=plot.style_linebr)
//set up the trend dividing EMA and color uptrend nutreal downtrend
len = input.int(233, minval=1, title="Trend-EMA Length")
src = input(close, title="Source")
offset = input.int(title="Offset", defval=0, minval=-500, maxval=500)
//general Bull or Bear Trend? Visualized by ema
ematrend = ta.ema(src, len)
generaluptrend = supertrend1 > ematrend and supertrend2 > ematrend and supertrend3 > ematrend
generaldowntrend = supertrend1 < ematrend and supertrend2 < ematrend and supertrend3 < ematrend
emacolor = if generaluptrend
color.green
else if generaldowntrend
color.red
else
color.blue
plot(ematrend, title="EMA", color=emacolor, offset=offset)
// Bullish? min 2 supertrends green
bullish = (direction1 < 0 and direction2 < 0) or (direction1 < 0 and direction3 < 0) or (direction2 < 0 and direction3 < 0) and generaluptrend
extremebullish = direction1 < 0 and direction2 < 0 and direction3 < 0 and generaluptrend //all 3 green
// Bearish? min 2 supertrends red
bearish = (direction1 > 0 and direction2 > 0) or (direction1 > 0 and direction3 > 0) or (direction2 > 0 and direction3 > 0) and generaldowntrend
extremebearish = direction1 > 0 and direction2 > 0 and direction3 > 0 and generaldowntrend //all 3 red
// Open Long
//plotchar(((bullish and not bullish[1]) or (extremebullish and not extremebullish[1])) and (emacolor==color.green)? close : na, title = 'Start Long', char='▲', color = #80eb34, location = location.belowbar, size = size.small)
// TP 10% Long
TP10long = ((generaluptrend and bullish[1]) or (generaluptrend and extremebullish[1])) and (direction1 > 0 or direction2 > 0 or direction3 > 0)
//plotchar(TP10long and not TP10long[1]? close : na, title = 'TP on Long', char='┼', color = #ffd000, location = location.abovebar, size = size.tiny)
// Exit Long
//plotchar(extremebearish and not extremebearish[1] or bearish and not bearish[1]? close : na, title = 'Close all Longs', char='Ꭓ', color = #ff0037, location = location.abovebar, size = size.tiny)
// Open Short
//plotchar(((bearish and not bearish[1]) or (extremebearish and not extremebearish[1])) and (emacolor==color.red)? close : na, title = 'Start Short', char='▼', color = #0547e3, location = location.abovebar, size = size.small)
// TP 10% Short
TP10short = ((generaldowntrend and bearish[1]) or (generaldowntrend and extremebearish[1])) and (direction1 < 0 or direction2 < 0 or direction3 < 0)
//plotchar(TP10short and not TP10short[1]? close : na, title = 'TP on Short', char='┼', color = #ffd000, location = location.belowbar, size = size.tiny)
// Exit Short
//plotchar(extremebullish and not extremebullish[1] or bullish and not bullish[1]? close : na, title = 'Close all Shorts', char='Ꭓ', color = #ff0037, location = location.belowbar, size = size.tiny)
// Set stop loss level with input options (optional)
longLossPerc = input.float(title="Long Stop Loss (%)",
minval=0.0, step=0.1, defval=1) * 0.01
shortLossPerc = input.float(title="Short Stop Loss (%)",
minval=0.0, step=0.1, defval=1) * 0.01
// Determine stop loss price
longStopPrice = strategy.position_avg_price * (1 - longLossPerc)
shortStopPrice = strategy.position_avg_price * (1 + shortLossPerc)
openlong = (((bullish and not bullish[1]) or (extremebullish and not extremebullish[1])) and (emacolor==color.green))
openshort = (((bearish and not bearish[1]) or (extremebearish and not extremebearish[1])) and (emacolor==color.red))
exitlong = (extremebearish and not extremebearish[1] or bearish and not bearish[1]) or TP10long
exitshort = (extremebullish and not extremebullish[1] or bullish and not bullish[1]) or TP10short
strategy.entry("buy", strategy.long, when=openlong)
strategy.entry("sell", strategy.short, when=openshort)
strategy.close("buy", when=exitlong)
strategy.close("sell", when=exitshort)
// Submit exit orders based on calculated stop loss price
if (strategy.position_size > 0)
strategy.exit(id="Long Stop", stop=longStopPrice)
if (strategy.position_size < 0)
strategy.exit(id="Short Stop", stop=shortStopPrice)