HALFTREND + HEMA + SMA (غلط سگنل کی حکمت عملی)

مصنف:چاؤ ژانگ، تاریخ: 2022-05-12 17:36:04
ٹیگز:ایس ایم اےڈبلیو ایم اےای ایم اے

=== انٹرو اور کریڈٹ === یہ اسکرپٹ یوٹیوب سے غلط سگنل کی حکمت عملی کو دوبارہ بنانے کے لئے 3 اشارے کا مرکب ہے۔ پہلا اشارے ایس ایم اے (سادہ چلتی اوسط) ہے۔ دوسرا ہیل تخمینہ (ہیما) ہے، جسے الیکس گرور نے تیار کیا تھا۔ اور تیسرا ہے ہالف ٹرینڈ، الیکس اورخوف (ایور گیٹ) کی طرف سے۔ ہر اشارے کے لئے کریڈٹ ان سے تعلق رکھتا ہے، میں نے صرف ان میں ترمیم کی ہے اور کچھ اضافی اختیارات، ترتیبات، وغیرہ کے ساتھ غلط سگنل کی حکمت عملی بنانے کے لئے SMA، بھی پائن اسکرپٹ 5 پر تمام کوڈ کو اپ ڈیٹ کیا.

=== حکمت عملی === پہلے سے طے شدہ ترتیبات پہلے سے ہی FALSE SIGNALs کی ضرورت ہے تاکہ آپ کو کچھ بھی تبدیل کرنے کی ضرورت نہیں ہے. LONGS کے لئے (سبز پس منظر LONG اندراجات دکھاتا ہے).

  1. HEMA SMA کے اوپر ہونا ضروری ہے.
  2. موم بتی کا جسم مکمل طور پر HEMA کے اوپر ہونا ضروری ہے (ویک HEMA کو چھو سکتا ہے، لیکن اس فلٹر کو فعال / غیر فعال کرنے کا اختیار ہے).
  3. نصف رجحان کو ایک خریدنے کے تیر (ایکوا رنگ اوپر کی طرف دیکھ رہا ہے) کو متحرک کرنا ضروری ہے.

SHORTS کے لئے (سرخ پس منظر SHORT اندراجات دکھاتا ہے).

  1. HEMA* SMA سے نیچے ہونا ضروری ہے.
  2. موم بتی کا جسم HEMA سے مکمل طور پر نیچے ہونا چاہئے (ویک HEMA کو چھو سکتا ہے، لیکن اس فلٹر کو فعال / غیر فعال کرنے کا اختیار ہے).
  3. نصف رجحان کو SELL تیر (نیچے کی طرف دیکھنے والے نارنجی رنگ) کو متحرک کرنا چاہئے۔ *غلط سگنل تجویز کرتا ہے کہ 50 کی بجائے شارٹس کے لئے ہیما کی مدت کو 40 میں تبدیل کیا جائے۔

براہ کرم مزید معلومات کے لیے FALSE SIGNAL کا یوٹیوب چینل چیک کریں۔

=== عام بہتری === پائن اسکرپٹ 5 پر اپ گریڈ کریں. کچھ کارکردگی میں بہتری. SMA سبز رنگ لیتا ہے جب صرف LONGs لے جانا چاہئے، RED رنگ SHORTS کے لئے. ہیما نے ایکوا رنگ لیا جب صرف لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے لمبے

=== ذاتی نوٹ === اعلی ٹائم فریم (1h +) اندراجات کو متحرک کرنے میں طویل وقت لگ سکتا ہے، صبر کریں یا کم ٹائم فریم استعمال کریں.

اس اسکرپٹ کو مرتب کرنے والے اشارے کے مصنفین اور اس حکمت عملی کو بنانے کے لئے جھوٹے سنگل کا ایک بار پھر شکریہ۔

بیک ٹسٹ

img


/*backtest
start: 2022-04-11 00:00:00
end: 2022-05-10 23:59:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// Source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ - © José Manuel Gassin Pérez-Traverso
// Credit for each indicator belongs to its author.

//@version=5
indicator(title="HALFTREND + HEMA + SMA (FALSE SIGNAL)", shorttitle="HALFTREND + HEMA + SMA (FALSE SIGNAL)", overlay=true)


//== Constantes
c_negro               = color.rgb(0, 0, 0, 0)
c_verde_radiactivo    = color.rgb(0, 255, 0, 0)
c_verde               = color.rgb(0, 128, 0, 0)
c_verde_oscuro        = color.rgb(0, 80, 0, 0)
c_rojo_radiactivo     = color.rgb(255, 0, 0, 0)
c_rojo                = color.rgb(128, 0, 0, 0)
c_rojo_oscuro         = color.rgb(80, 0, 0, 0)
c_red_t               = color.new(color.red, 90)
c_amarillo            = color.rgb(255, 255, 0, 0)
noneColor             = color.new(color.white, 100)



//== Estrategia
GRUPO_ESTRATEGIA = "Strategy"
ESTRATEGIA_vela_completa_fuera_hema = input.bool(title="Full candle must be outside the HEMA / Wicks can touch the HEMA but body must be out", defval=false, group=GRUPO_ESTRATEGIA)

//== Simple Moving Average (SMA)
GRUPO_SMA = "Simple Moving Average (SMA)"
len = input.int(150, minval=1, title="Length", group=GRUPO_SMA)
src = input(close, title="Source", group=GRUPO_SMA)
offset = input.int(title="Offset", defval=6, minval=-500, maxval=500, group=GRUPO_SMA)
sma = ta.sma(src, len)



//== Hull Estimate (HEMA) - Source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ - © alexgrover
GRUPO_HEMA = "Hull Estimate (HEMA)"
length = input.int(title="Length", defval=50, minval=1, group=GRUPO_HEMA)
hema = 3 * ta.wma(close, length / 2) - 2 * ta.ema(close, length / 2)



//== HALFTREND - Copyright (c) 2021-present, Alex Orekhov (everget)
GRUPO_HT = "Halftrend"
amplitude = input(title='Amplitude', defval=1, group=GRUPO_HT)
channelDeviation = input(title='Channel Deviation', defval=2, group=GRUPO_HT)
showArrows = input(title='Show Arrows', defval=true, group=GRUPO_HT)
showChannels = input(title='Show Channels', defval=false, group=GRUPO_HT)

var int trend = 0
var int nextTrend = 0
var float maxLowPrice = nz(low[1], low)
var float minHighPrice = nz(high[1], high)

var float up = 0.0
var float down = 0.0
float atrHigh = 0.0
float atrLow = 0.0
float arrowUp = na
float arrowDown = na

atr2 = ta.atr(100) / 2
dev = channelDeviation * atr2

highPrice = high[math.abs(ta.highestbars(amplitude))]
lowPrice = low[math.abs(ta.lowestbars(amplitude))]
highma = ta.sma(high, amplitude)
lowma = ta.sma(low, amplitude)

if nextTrend == 1
    maxLowPrice := math.max(lowPrice, maxLowPrice)

    if highma < maxLowPrice and close < nz(low[1], low)
        trend := 1
        nextTrend := 0
        minHighPrice := highPrice
        minHighPrice
else
    minHighPrice := math.min(highPrice, minHighPrice)

    if lowma > minHighPrice and close > nz(high[1], high)
        trend := 0
        nextTrend := 1
        maxLowPrice := lowPrice
        maxLowPrice

if trend == 0
    if not na(trend[1]) and trend[1] != 0
        up := na(down[1]) ? down : down[1]
        arrowUp := up - atr2
        arrowUp
    else
        up := na(up[1]) ? maxLowPrice : math.max(maxLowPrice, up[1])
        up
    atrHigh := up + dev
    atrLow := up - dev
    atrLow
else
    if not na(trend[1]) and trend[1] != 1
        down := na(up[1]) ? up : up[1]
        arrowDown := down + atr2
        arrowDown
    else
        down := na(down[1]) ? minHighPrice : math.min(minHighPrice, down[1])
        down
    atrHigh := down + dev
    atrLow := down - dev
    atrLow

ht = trend == 0 ? up : down

var color buyColor = color.aqua
var color sellColor = color.orange

htColor = trend == 0 ? buyColor : sellColor

buySignal = not na(arrowUp) and trend == 0 and trend[1] == 1
sellSignal = not na(arrowDown) and trend == 1 and trend[1] == 0



//== Plots
// SMA
sma_color = ohlc4 > sma ? c_verde_radiactivo : c_rojo_radiactivo
plot(sma, title="SMA", color=sma_color, linewidth=4, offset=offset)

// HEMA
hema_color = hema > sma ? color.aqua : color.orange
plot(hema, title="HEMA", color=hema_color, linewidth=2)

// HALFTREND
htPlot = plot(ht, title='HalfTrend', linewidth=2, color=htColor, display=display.none)
atrHighPlot = plot(showChannels ? atrHigh : na, title='ATR High', style=plot.style_circles, color=color.new(sellColor, 0))
atrLowPlot = plot(showChannels ? atrLow : na, title='ATR Low', style=plot.style_circles, color=color.new(buyColor, 0))
fill(htPlot, atrHighPlot, title='ATR High Ribbon', color=color.new(sellColor, 90))
fill(htPlot, atrLowPlot, title='ATR Low Ribbon', color=color.new(buyColor, 90))
plotshape(showArrows and buySignal ? atrLow : na, title='Arrow Up', style=shape.triangleup, location=location.absolute, size=size.tiny, color=color.new(buyColor, 0))
plotshape(showArrows and sellSignal ? atrHigh : na, title='Arrow Down', style=shape.triangledown, location=location.absolute, size=size.tiny, color=color.new(sellColor, 0))

//== Señales estrategia
min = ESTRATEGIA_vela_completa_fuera_hema ? low : math.min(open, close)
max = ESTRATEGIA_vela_completa_fuera_hema ? high : math.max(open, close)
long_sma_y_hema  = hema > sma
short_sma_y_hema = hema < sma
long_halftrend   = buySignal
short_halftrend  = sellSignal
long_vela        = min > hema and max > hema
short_vela       = min < hema and max < hema
long = long_sma_y_hema and long_halftrend and long_vela
short = short_sma_y_hema and short_halftrend and short_vela
color_fondo = long ? color.new(color.lime, 85) : short ? color.new(color.red, 80) : noneColor
bgcolor(color_fondo)


//== Alertas
alertcondition(long, title="▶ LONG", message="[{{exchange}}:{{ticker}}] LONG ENTRY")
alertcondition(short, title="▶ SHORT", message="[{{exchange}}:{{ticker}}] SHORT ENTRY")


if long
    strategy.entry("Enter Long", strategy.long)
else if short
    strategy.entry("Enter Short", strategy.short)

متعلقہ

مزید