وسائل لوڈ ہو رہے ہیں... لوڈنگ...

چاند شاٹ ڈبل مثلث بریک آؤٹ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-21 13:49:10
ٹیگز:

img

جائزہ

یہ حکمت عملی اعلی جیت کی شرح کے پیچھا کرنے والی کارروائیوں کے لئے بریک آؤٹ سمتوں کی نشاندہی کرنے کے لئے سپر ٹرینڈ اشارے کے ساتھ مل کر دوہری مثلث چینلز تیار کرتی ہے۔ یہ مختلف مارکیٹوں میں غیر موثر تجارت سے بچنے کے لئے مجموعی مارکیٹ کے رجحان کا تعین کرنے کے لئے ای ایم اے کا بھی استعمال کرتی ہے۔

حکمت عملی منطق

  1. قیمت کی قلیل مدتی، درمیانی مدتی اور طویل مدتی رجحانات کی سمت کا فیصلہ کرنے کے لئے مختلف پیرامیٹرز کے ساتھ 3 سپر رجحانات بنائیں.

  2. ڈبل مثلث چینل کا استعمال کریں اس بات کا تعین کرنے کے لئے کہ آیا قیمت داخلہ اور باہر نکلنے کے سگنل کے طور پر اوپری یا نچلے چینل کو توڑتی ہے۔

  3. مجموعی رجحان کی سمت کا تعین کرنے کے لئے 233 پیریڈ ای ایم اے کو یکجا کریں۔ جب قیمت اپ ٹرینڈ مارکیٹ میں اوپری چینل کو توڑتی ہے تو طویل ہوجائیں اور ای ایم اے کے ذریعہ فیصلہ کردہ ڈاؤن ٹرینڈ مارکیٹ میں نچلے چینل کو توڑنے پر مختصر ہوجائیں۔

  4. منافع لینے اور نقصان روکنے کا تعین کرنے کے لئے 3 سپر رجحانات کے کراس اوور سگنل کا استعمال کریں۔ جب 2 یا اس سے زیادہ اشارے رنگ بدلتے ہیں تو پوزیشن بند کریں۔

فوائد

  1. ڈبل مثلث چینل متعدد ٹائم فریم کے ساتھ مل کر ٹرینڈنگ بریکآؤٹس کو درست طریقے سے پکڑ سکتا ہے۔

  2. کثیر سطح کی جانچ سے غیر موثر تجارت سے بچنے اور جیت کی شرح میں اضافہ ہوتا ہے۔

  3. متحرک ٹریلنگ سٹاپ نقصان ڈراؤونگ رسک کو کم کرتا ہے۔

  4. سادہ پیرامیٹر سیٹ اپ اسے استعمال کرنا آسان بناتا ہے.

خطرات اور اصلاح

  1. مختلف مارکیٹوں میں پوزیشن کھولنے اور نقصان کو روکنے کے لئے کثرت سے۔ تجارتی تعدد کو کم کرنے کے لئے اے ٹی آر کی مدت کو ایڈجسٹ کریں۔

  2. EMA مدت بہت مختصر رجحان کو پکڑنے میں ناکام رہتا ہے، رجحان کی تبدیلی کو بہت طویل عرصے سے پیچھے رہ جاتا ہے. backtest کے ذریعے EMA پیرامیٹر کو بہتر بنائیں.

  3. جامد اسٹاپ نقصان متحرک مارکیٹ کی اتار چڑھاؤ کو اپنانے میں ناکام رہتا ہے۔ ٹریل اسٹاپ کی سطحوں کے لئے اے ٹی آر کا استعمال کرنے پر غور کریں۔

نتیجہ

مون شاٹ ڈبل مثلث بریک آؤٹ حکمت عملی سپر ٹرینڈ اور ڈبل مثلث چینل کے امتزاج کے ذریعے مضبوط بریک آؤٹ کو عین مطابق طور پر پکڑتی ہے۔ کثیر پرت فلٹر خراب سگنلز سے بچنے اور اعلی جیت کی شرح کو حاصل کرتے ہیں۔ پیرامیٹر کی سادہ سیٹ اپ اسے استعمال میں آسان بناتی ہے۔ اے ٹی آر کی مدت اور اسٹاپ نقصان کے ڈیزائن میں مزید بہتری اس کے تعاقب اور رسک کنٹرول کی صلاحیتوں کو بہتر بناسکتی ہے۔


/*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)

مزید