← К каталогу
Исходный код · ID 3827

@simpleforextools NOSTRADAMUS

nostradamus.pine

Похожие материалы по тегам

ares_indicator.pineTradingView · 1 общих теговgold_trend_revers.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!!-mt4 x-xardg-rsi.mq5MQL5 / MetaTrader 5 · 1 общих тегов! cycle-identifier.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!! rsi ma simple+arrows 1.2 (mtf).mq5MQL5 / MetaTrader 5 · 1 общих теговprecisionflowea.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Этот индикатор TradingView, написанный на Pine Script v5, объединяет несколько независимых модулей визуального анализа графика. Он отображает профиль объёма за заданное число баров, строит зоны спроса и предложения на основе свинговых максимумов и минимумов, а также рисует зигзаг и метки ценового действия. Дополнительно выводятся уровни входа, стоп-лосса и целей по тейк-профиту, рассчитываемые относительно последней сигнальной свечи.

Настройки программы

НастройкаОписание
bbars Количество баров — Количество последних баров, по которым строится профиль объёма.
cnum Размер строки — Количество строк в профиле объёма.
percent Процент объёма зоны стоимости — Процент объёма для расчёта зоны стоимости.
poc_color Цвет POC — Цвет линии POC.
poc_width Ширина POC — Толщина линии POC.
vup_color Зона стоимости вверх — Цвет столбцов профиля объёма для восходящего объёма внутри зоны стоимости.
vdown_color Зона стоимости вниз — Цвет столбцов профиля объёма для нисходящего объёма внутри зоны стоимости.
up_color Восходящий объём — Цвет столбцов профиля объёма для восходящего объёма вне зоны стоимости.
down_color Нисходящий объём — Цвет столбцов профиля объёма для нисходящего объёма вне зоны стоимости.
show_poc Показывать метку POC — Включает отображение метки POC.
dashOn Панель вкл/выкл — Включает или отключает отображение информационной панели.
dashDist Смещение панели — Смещение информационной панели по горизонтали.
dashColor Цвет панели — Цвет фона информационной панели.
dashTextColor Цвет текста — Цвет текста информационной панели.
src Тип EMA — Источник данных для расчёта EMA.
len Период EMA, отображаемой на графике.
ema_color Цвет EMA — Цвет линии EMA.
ShowPAC Показывать волну EMA — Включает отображение волнового канала EMA на графике.
ShowBarColor Показывать цветные свечи GRaB — Включает окрашивание свечей в зависимости от положения цены закрытия относительно границ волнового канала.
PACLen Длина волны EMA — Длина EMA для построения волнового канала по максимумам, минимумам и цене закрытия.
src2 Источник для центральной EMA волны — Источник данных для центральной EMA волнового канала.
sensitivity Чувствительность — Уровень чувствительности для расчёта Supertrend.
suppRes Поддержка и сопротивление — Включает отображение уровней поддержки и сопротивления.
breaks Пробои — Включает отображение меток при пробое уровней поддержки и сопротивления.
usePsar Включает отображение индикатора PSAR.
emaEnergy Энергия EMA — Включает окрашивание линий SMA в зависимости от положения цены относительно них.
channelBal Баланс канала — Включает заливку каналов Keltner для визуализации баланса канала.
autoTL Автоматические линии тренда — Включает автоматическое построение линий тренда на основе линейной регрессии.
numTP Количество уровней тейк-профита — Количество уровней тейк-профита.
PercentOrATR Метод расчёта тейк-профита — Выбор метода расчёта уровней тейк-профита: по ATR, в процентах или по предсказательной логике.
levels Показывать метки входа/SL/TP — Включает отображение меток входа, стоп-лосса и тейк-профита.
atrLen Длина ATR для тейк-профита — Период ATR, используемый для расчёта стоп-лосса и тейк-профита.
atrRisk Риск сделки (множитель ATR) — Множитель риска ATR для расчёта стоп-лосса.
tpLen Расстояние в процентах между уровнями тейк-профита.
tpLenpre Начальный TP Predictum [%] — Начальный тейк-профит в процентах для предсказательного метода расчёта.
tpSL Расстояние в процентах для стоп-лосса.
lvlDecimals Десятичные знаки — Количество десятичных знаков при отображении уровней.
lvlLines Показывать линии TP/SL — Включает отображение линий тейк-профита и стоп-лосса.
linesStyle Стиль линий — Стиль линий тейк-профита и стоп-лосса.
lvlDistance Расстояние — Смещение меток уровней по горизонтали.
lvlLinesw Толщина линий TP/SL — Толщина линий тейк-профита и стоп-лосса.
filllvlLines Прозрачность заливки линий TP/SL — Прозрачность заливки между линиями тейк-профита и стоп-лосса.
filllvlLineson Показывать заливку линий TP/SL — Включает заливку областей между линиями тейк-профита и стоп-лосса.
MovingTarget Перемещение цели (безубыток) — Номер тейк-профита, при достижении которого стоп-лосс перемещается в безубыток.
showLabel Показывать метку генератора сигналов — Включает отображение сводной метки генератора сигналов.
leverage_maxpro Плечо x — Значение кредитного плеча для расчёта максимальной прибыли.
levelsmaxpro Показывать метки максимальной прибыли — Включает отображение меток максимальной прибыли.
yposmaxpro Позиция метки максимальной прибыли по Y — Позиция метки максимальной прибыли по вертикали.
swing_length Длина свинга High/Low — Длина для определения свинговых максимумов и минимумов.
history_of_demand_to_keep Глубина истории — Количество сохраняемых зон спроса и предложения в истории.
box_width Ширина зоны спроса/предложения — Ширина зон спроса и предложения в единицах ATR.
show_zigzag Показывать зигзаг — Включает отображение линий зигзага.
show_price_action_labels Показывать метки ценового действия — Включает отображение меток ценового действия (HH, LH, HL, LL).
supply_color Цвет предложения — Цвет заливки зон предложения.
supply_outline_color Контур предложения — Цвет контура зон предложения.
demand_color Цвет спроса — Цвет заливки зон спроса.
demand_outline_color Контур спроса — Цвет контура зон спроса.
bos_label_color Цвет метки BOS — Цвет текста метки BOS при пробое зоны.
poi_label_color Цвет метки POI — Цвет метки POI.
swing_type_color Цвет метки ценового действия — Цвет меток ценового действия.
zigzag_color Цвет зигзага — Цвет линий зигзага.
Получить полный код

Поиск по коду файла

bbars = input.int(title='Number of Bars', defval=150, minval=1, maxval=500)
cnum = input.int(title='Row Size', defval=24, minval=5, maxval=100)
percent = input.float(100., title='Value Area Volume %', minval=0, maxval=100)
poc_color = input.color(defval=#ffffff57, title='POC Color', inline='poc')
poc_width = input.int(defval=2, title='Width', minval=1, maxval=5, inline='poc')
vup_color = input(defval=color.new(color.blue, 30), title='Value Area Up')
vdown_color = input(defval=color.new(color.orange, 30), title='Value Area Down')
up_color = input(defval=color.new(color.blue, 75), title='UP Volume')
down_color = input(defval=color.new(color.orange, 75), title='Down Volume')
show_poc = input.bool(defval = false, title = "Show POC Label")

top = ta.highest(bbars)
bot = ta.lowest(bbars)
dist = (top - bot) / 500
step = (top - bot) / cnum

levels5 = array.new_float(cnum + 1)
for x = 0 to cnum by 1
    array.set(levels5, x, bot + step * x)

get_vol(y11, y12, y21, y22, height, vol) =>
    nz(math.max(math.min(math.max(y11, y12), math.max(y21, y22)) - math.max(math.min(y11, y12), math.min(y21, y22)), 0) * vol / height)

if barstate.islast

    volumes = array.new_float(cnum * 2, 0.)
    for bars = 0 to bbars - 1 by 1
        body_top = math.max(close[bars], open[bars])
        body_bot = math.min(close[bars], open[bars])
        itsgreen = close[bars] >= open[bars]

        topwick = high[bars] - body_top
        bottomwick = body_bot - low[bars]
        body = body_top - body_bot

        bodyvol = body * volume[bars] / (2 * topwick + 2 * bottomwick + body)
        topwickvol = 2 * topwick * volume[bars] / (2 * topwick + 2 * bottomwick + body)
        bottomwickvol = 2 * bottomwick * volume[bars] / (2 * topwick + 2 * bottomwick + body)
        for x = 0 to cnum - 1 by 1
            array.set(volumes, x, array.get(volumes, x) + (itsgreen ? get_vol(array.get(levels5, x), array.get(levels5, x + 1), body_bot, body_top, body, bodyvol) : 0) + get_vol(array.get(levels5, x), array.get(levels5, x + 1), body_top, high[bars], topwick, topwickvol) / 2 + get_vol(array.get(levels5, x), array.get(levels5, x + 1), body_bot, low[bars], bottomwick, bottomwickvol) / 2)
            array.set(volumes, x + cnum, array.get(volumes, x + cnum) + (itsgreen ? 0 : get_vol(array.get(levels5, x), array.get(levels5, x + 1), body_bot, body_top, body, bodyvol)) + get_vol(array.get(levels5, x), array.get(levels5, x + 1), body_top, high[bars], topwick, topwickvol) / 2 + get_vol(array.get(levels5, x), array.get(levels5, x + 1), body_bot, low[bars], bottomwick, bottomwickvol) / 2)

    totalvols = array.new_float(cnum, 0.)
    for x = 0 to cnum - 1 by 1
        array.set(totalvols, x, array.get(volumes, x) + array.get(volumes, x + cnum))

    int poc = array.indexof(totalvols, array.max(totalvols))

    totalmax = array.sum(totalvols) * percent / 100.
    va_total = array.get(totalvols, poc)
    int up = poc
    int down = poc
    for x = 0 to cnum - 1 by 1
        if va_total >= totalmax
            break
        uppervol = up < cnum - 1 ? array.get(totalvols, up + 1) : 0.
        lowervol = down > 0 ? array.get(totalvols, down - 1) : 0.
        if uppervol == 0 and lowervol == 0
            break
        if uppervol >= lowervol
            va_total += uppervol
            up += 1
            up
        else
            va_total += lowervol
            down -= 1
            down

    maxvol = array.max(totalvols)
    for x = 0 to cnum * 2 - 1 by 1
        array.set(volumes, x, array.get(volumes, x) * bbars / (3 * maxvol))

    var vol_bars = array.new_box(cnum * 2, na)
    for x = 0 to cnum - 1 by 1
        box.delete(array.get(vol_bars, x))
        box.delete(array.get(vol_bars, x + cnum))
        array.set(vol_bars, x, box.new(bar_index - bbars + 1, 
                                       array.get(levels5, x + 1) - dist, 
                                       bar_index - bbars + 1 + math.round(array.get(volumes, x)), 
                                       array.get(levels5, x) + dist, 
                                       border_width=0, 
                                       bgcolor=x >= down and x <= up ? vup_color : up_color))
        array.set(vol_bars, x + cnum, box.new(bar_index - bbars + 1 + math.round(array.get(volumes, x)), 
                                              array.get(levels5, x + 1) - dist, 
                                              bar_index - bbars + 1 + math.round(array.get(volumes, x)) + math.round(array.get(volumes, x + cnum)), 
                                              array.get(levels5, x) + dist, 
                                              border_width=0, 
                                              bgcolor=x >= down and x <= up ? vdown_color : down_color))

    poc_level = (array.get(levels5, poc) + array.get(levels5, poc + 1)) / 2
    var line poc_line = na
    line.delete(poc_line)
    poc_line := line.new(bar_index - bbars + 1, poc_level, bar_index - bbars + 2, poc_level, extend=extend.right, color=poc_color, width=poc_width)

    if show_poc
        var label poc_label = na
        label.delete(poc_label)
        poc_label := label.new(bar_index + 15, poc_level, 
                               text = "POC: " + str.tostring(math.round_to_mintick(poc_level)),
                               style = close >= poc_level ? label.style_label_up : label.style_label_down)

dashOn = input(true, 'Dashboard On / Off')

dashDist = input(93, 'Dashboard Distance')
dashColor = input.color(color.new(#000000, 0), 'Dashboard Color', inline='Dash Line')
dashTextColor = input.color(color.new(#00c8ff, 0), 'Text Color', inline='Dash Line')

atr9 = ta.atr(14)
stdAtr = 2 * ta.stdev(atr9, 20)
smaAtr = ta.sma(atr9, 20)
topAtrDev = smaAtr + stdAtr
bottomAtrDev = smaAtr - stdAtr
calcDev = (atr9 - bottomAtrDev) / (topAtrDev - bottomAtrDev)
percentVol = 40 * calcDev + 30

volumeDash = volume

rsiDash = ta.rsi(close, 14)

ema9 = ta.ema(close, 9)
totalSentTxt = ema9 > ema9[2] ? 'Bullish' : ema9 < ema9[2] ? 'Bearish' : 'Flat'

sma = ta.sma(close, 50)
oneM = request.security(syminfo.tickerid, '1', sma, barmerge.gaps_off, barmerge.lookahead_off)
fiveM = request.security(syminfo.tickerid, '5', sma, barmerge.gaps_off, barmerge.lookahead_off)
fifteenM = request.security(syminfo.tickerid, '15', sma, barmerge.gaps_off, barmerge.lookahead_off)
thirtyM = request.security(syminfo.tickerid, '30', sma, barmerge.gaps_off, barmerge.lookahead_off)
oneH = request.security(syminfo.tickerid, '60', sma, barmerge.gaps_off, barmerge.lookahead_off)
twoH = request.security(syminfo.tickerid, '120', sma, barmerge.gaps_off, barmerge.lookahead_off)
fourH = request.security(syminfo.tickerid, '240', sma, barmerge.gaps_off, barmerge.lookahead_off)
weekly = request.security(syminfo.tickerid, 'W', sma, barmerge.gaps_off, barmerge.lookahead_off)
monthly = request.security(syminfo.tickerid, 'M', sma, barmerge.gaps_off, barmerge.lookahead_off)
daily = request.security(syminfo.tickerid, 'D', sma, barmerge.gaps_off, barmerge.lookahead_off)

oneMUp = oneM > oneM[1]
fiveMUp = fiveM > fiveM[1]
fifteenMUp = fifteenM > fifteenM[1]
thirtyMUp = thirtyM > thirtyM[1]
oneHUp = oneH > oneH[1]
twoHUp = twoH > twoH[1]
fourHUp = fourH > fourH[1]
weeklyUp = weekly > weekly[1]
monthlyUp = monthly > monthly[1]
dailyUp = daily > daily[1]

up7 = '????'
down = '????'
oneMTrend = oneMUp ? up7 : down
fiveMTrend = fiveMUp ? up7 : down
fifteenMTrend = fifteenMUp ? up7 : down
thirtyMTrend = thirtyMUp ? up7 : down
oneHTrend = oneHUp ? up7 : down
twoHTrend = twoHUp ? up7 : down
fourHTrend = fourHUp ? up7 : down
weeklyTrend = weeklyUp ? up7 : down
monthlyTrend = monthlyUp ? up7 : down
dailyTrend = dailyUp ? up7 : down

if dashOn
    label lemonLabel = label.new(time, close, text='☁️ TABLETA MEGA POWER V3  ☁️' + '\n━━━━━━━━━━━━━━━━━' + '\n           ???? informacion de mercado ????' + '\n━━━━━━━━━━━━━━━━━' + '\n????   Volatilidad                     | ' + str.tostring(percentVol, '##.##') + '%' + '\n???? Volumen                           | ' + str.tostring(volumeDash, '##.##') + '\n???? RSI                                           | ' + str.tostring(rsiDash, '##.##') + '\n???? Sentimiento mercado | ' + totalSentTxt + '\n━━━━━━━━━━━━━━━━━' + '\n               ???? Trend Panel ????' + '\n━━━━━━━━━━━━━━━━━' + '\n     1 Minute | ' + oneMTrend + '         2 Hour | ' + twoHTrend + '\n     5 Minute | ' + fiveMTrend + '         4 Hour | ' + fourHTrend + '\n        15 Minute | ' + fifteenMTrend + '         Weekly | ' + weeklyTrend + '\n        30 Minute | ' + thirtyMTrend + '       Monthly |     ' + monthlyTrend + '\n        1 Hour | ' + oneHTrend + '                Daily | ' + dailyTrend + '\n━━━━━━━━━━━━━━━━━' + '\n                     ????SimpleForexTools ????', color=dashColor, xloc=xloc.bar_time, style=label.style_label_left, textcolor=dashTextColor, textalign=text.align_left)

    label.set_x(lemonLabel, label.get_x(lemonLabel) + math.round(ta.change(time) * dashDist))
    label.delete(lemonLabel[1])

src = input(close, title='Tipo EMA')
len = input.int(minval=1, defval=200, title='EMA 200')
ema_color = input(color.rgb(255, 242, 0), title="Color de la EMA")  // Nuevo input para el color de la EMA

ema = ta.ema(src, len)

long = close > ema
short = close < ema

plot(ema, color=ema_color, title="EMA")
plot(ema)

ShowPAC = input(false, title='Show EMA Wave')
ShowBarColor = input(true, title='Show Coloured GRaB Candles')

PACLen = input.int(34, minval=2, title='EMA Wave Length (34 by default)')
src2 = input(close, title='Source for Wave centre EMA')

DodgerBlue = #1e8fff

green100 = #00FF00FF
lime100 = #00FF00FF
red100 = #FF0000FF
blue100 = color.rgb(255, 255, 255)
aqua100 = color.rgb(255, 255, 255)
darkred100 = #FF0000FF

pacCe = ta.ema(src, PACLen)
pacLo = ta.ema(low, PACLen)
pacHi = ta.ema(high, PACLen)

L = plot(ShowPAC ? pacLo : na, color=color.new(color.red, 20), linewidth=1, title='High Wave EMA')
H = plot(ShowPAC ? pacHi : na, color=color.new(color.green, 20), linewidth=1, title='Low Wave EMA')
C = plot(ShowPAC ? pacCe : na, color=color.new(color.black, 20), linewidth=1, title='Centre Wave EMA')
fill(L, H, color=color.new(color.gray, 9), title='Fill Channel')

bColour = close >= open ? close >= pacHi ? lime100 : close <= pacLo ? red100 : aqua100 : close >= pacHi ? green100 : close <= pacLo ? darkred100 : blue100
barcolor(ShowBarColor ? bColour : na, title='Bar Colours')

sensitivity = input.string("Low", "Sensitivity", ["Low", "Medium", "High"])
suppRes     = input.bool(false, "Support & Resistance")
breaks      = input.bool(false, "Breaks")
usePsar     = input.bool(false, "PSAR")
emaEnergy   = input.bool(true, "EMA Energy")
channelBal  = input.bool(true, "Channel Balance")
autoTL      = input.bool(false, "Auto Trend Lines")

supertrend(_src, factor, atrLen) =>
    atr = ta.atr(atrLen)
    upperBand = _src + factor * atr
    lowerBand = _src - factor * atr
    prevLowerBand = nz(lowerBand[1])
    prevUpperBand = nz(upperBand[1])
    lowerBand := lowerBand > prevLowerBand or close[1] < prevLowerBand ? lowerBand : prevLowerBand
    upperBand := upperBand < prevUpperBand or close[1] > prevUpperBand ? upperBand : prevUpperBand
    int direction = na
    float superTrend = na
    prevSuperTrend = superTrend[1]
    if na(atr[1])
        direction := 1
    else if prevSuperTrend == prevUpperBand
        direction := close > upperBand ? -1 : 1
    else
        direction := close < lowerBand ? 1 : -1
    superTrend := direction == -1 ? lowerBand : upperBand
    [superTrend, direction]
lr_slope(_src, _len) =>
    x = 0.0, y = 0.0, x2 = 0.0, xy = 0.0
    for i = 0 to _len - 1
        val = _src[i]
        per = i + 1
        x += per
        y += val
        x2 += per * per
        xy += val * per
    _slp = (_len * xy - x * y) / (_len * x2 - x * x)
    _avg = y / _len
    _int = _avg - _slp * x / _len + _slp
    [_slp, _avg, _int]
lr_dev(_src, _len, _slp, _avg, _int) =>
    upDev = 0.0, dnDev = 0.0
    val = _int
    for j = 0 to _len - 1
        price = high[j] - val
        if price > upDev
            upDev := price
        price := val - low[j]
        if price > dnDev
            dnDev := price
        price := _src[j]
        val += _slp
    [upDev, dnDev]

ocAvg       = math.avg(open, close)
sma1        = ta.sma(close, 8)
sma2        = ta.sma(close, 9)
sma3        = ta.sma(close, 10)
sma4        = ta.sma(close, 11)
sma5        = ta.sma(close, 12)
sma6        = ta.sma(close, 13)
sma7        = ta.sma(close, 14)
sma8        = ta.sma(close, 15)
sma9        = ta.sma(close, 15)

psar        = ta.sar(0.02, 0.02, 0.2)
[middleKC1, upperKC1, lowerKC1] = ta.kc(close, 80, 10.5)
[middleKC2, upperKC2, lowerKC2] = ta.kc(close, 80, 9.5)
[middleKC3, upperKC3, lowerKC3] = ta.kc(close, 80, 8)
[middleKC4, upperKC4, lowerKC4] = ta.kc(close, 80, 3)
[supertrend, direction] = supertrend(close, sensitivity == "Low" ? 5 : sensitivity == "Medium" ? 2.5 : 2, 11)
barsL       = 10
barsR       = 10
pivotHigh = fixnan(ta.pivothigh(barsL, barsR)[1])
pivotLow = fixnan(ta.pivotlow(barsL, barsR)[1])
source = close, period = 150
[s, a, i] = lr_slope(source, period)
[upDev, dnDev] = lr_dev(source, period, s, a, i)

green       = #1ab3d5, green2   = #00DD00
red         = #e4ab1a, red2     = #DD0000
emaEnergyColor(ma) => emaEnergy ? (close >= ma ? green : red) : na

k1 = plot(ta.ema(upperKC1, 50), "", na, editable=false)
k2 = plot(ta.ema(upperKC2, 50), "", na, editable=false)
k3 = plot(ta.ema(upperKC3, 50), "", na, editable=false)
k4 = plot(ta.ema(upperKC4, 50), "", na, editable=false)
k5 = plot(ta.ema(lowerKC4, 50), "", na, editable=false)
k6 = plot(ta.ema(lowerKC3, 50), "", na, editable=false)
k7 = plot(ta.ema(lowerKC2, 50), "", na, editable=false)
k8 = plot(ta.ema(lowerKC1, 50), "", na, editable=false)
fill(k1, k2, channelBal ? color.new(red2, 40) : na, editable=false)
fill(k2, k3, channelBal ? color.new(red2, 65) : na, editable=false)
fill(k3, k4, channelBal ? color.new(red2, 90) : na, editable=false)
fill(k5, k6, channelBal ? color.new(green2, 90) : na, editable=false)
fill(k6, k7, channelBal ? color.new(green2, 65) : na, editable=false)
fill(k7, k8, channelBal ? color.new(green2, 40) : na, editable=false)
plot(sma1, "", emaEnergyColor(sma1), editable=false)
plot(sma2, "", emaEnergyColor(sma2), editable=false)
plot(sma3, "", emaEnergyColor(sma3), editable=false)
plot(sma4, "", emaEnergyColor(sma4), editable=false)
plot(sma5, "", emaEnergyColor(sma5), editable=false)
plot(sma6, "", emaEnergyColor(sma6), editable=false)
plot(sma7, "", emaEnergyColor(sma7), editable=false)
plot(sma8, "", emaEnergyColor(sma8), editable=false)
plot(sma9, "", emaEnergyColor(sma9), editable=false)

p3 = plot(ocAvg, "", na, editable=false)
p4 = plot(psar, "PSAR", usePsar ? (close > psar ? green : red) : na, 1, plot.style_circles, editable=false)
fill(p3, p4, usePsar ? (close > psar ? color.new(green, 90) : color.new(red, 90)) : na, editable=false)
y1 = low - (ta.atr(30) * 1.6), y1B = low - ta.atr(30)
y2 = high + (ta.atr(30) * 1.6), y2B = high + ta.atr(30)
bull = ta.crossover(close, supertrend) and close >= sma9
bear = ta.crossunder(close, supertrend) and close <= sma9
buy  = bull ? label.new(bar_index, y1, "▲", xloc.bar_index, yloc.price, #102bf8, label.style_label_up, color.white, size.normal) : na
sell = bear ? label.new(bar_index, y2, "▼", xloc.bar_index, yloc.price, #b4060d, label.style_label_down, color.white, size.normal) : na
plot(pivotHigh, "Resistance", not suppRes or ta.change(pivotHigh) ? na : red, 2, offset=-(barsR + 1), editable=false)
plot(pivotLow, "Support", not suppRes or ta.change(pivotLow) ? na : green, 2, offset=-(barsR + 1), editable=false)
upB = breaks and ta.crossover(close, pivotHigh) ? label.new(bar_index, y1B, "B", xloc.bar_index, yloc.price, green, label.style_label_up, color.white, size.small) : na
dnB = breaks and ta.crossunder(close, pivotLow) ? label.new(bar_index, y2B, "B", xloc.bar_index, yloc.price, red, label.style_label_down, color.white, size.small) : na
x1 = bar_index - period + 1, _y1 = i + s * (period - 1), x2 = bar_index, _y2 = i
upperTL = autoTL ? line.new(x1, _y1 + upDev, x2, _y2 + upDev, xloc.bar_index, extend.none, red) : na
line.delete(upperTL[1])
middleTL = autoTL ? line.new(x1, _y1, x2, _y2, xloc.bar_index, extend.none, color.white) : na
line.delete(middleTL[1])
lowerTL = autoTL ? line.new(x1, _y1 - dnDev, x2, _y2 - dnDev, xloc.bar_index, extend.none, green) : na
line.delete(lowerTL[1])

indicator("@simpleforextools NOSTRADAMUS"
  , overlay = true
  , max_labels_count = 500
  , max_lines_count = 500
  , max_boxes_count = 500
  , max_bars_back = 500)

indicator_name = "Simplealgo.io - MEGAPOWER "

changeCond =  bull  or bear //NECESARIO PARA EL MODULO DE TPS 

groupEnTpSl = "======= Module - Signals ======="
plot(na)

levels_tip = "Habilita etiquetas compra/venta /SL"
atrLen_tip = "Atr para el Calculo de Stoploss y TakeProfit"
atrRisk_tip = " ATR Risk Multiplier: Recommended 1.5 or 1.9 / Multiplicador de Riesgo ATR: Recomendado 1.5 o 1.9"
tpLen_tip = "Distance in percentage between TakeProfits / Distancia en porcentaje entre TakeProfits"
tpSL_tip = "Distance in percentage for SL / Distance in percentage for SL"

numTP_tip = " Number of Take Profit Levels, min 1 max 10 / Number of Take Profit Levels, min 1 max 10 "
numTP = input.int(3, "Number of Take Profit Levels ????", minval=1, maxval=5,tooltip =numTP_tip ,group=groupEnTpSl)

PercentOrATR_tip="Select the calculation method for TakeProfits / Select the calculation method for TakeProfits" 

var string PercentOrATR = input.string("ATR", "Calculation method for TakeProfit (% or ATR)", options=["ATR", "PERCENTAGE","PREDICTUM"], inline="TPS", group=groupEnTpSl,tooltip=PercentOrATR_tip)

levels = input(title='Show Entry Labels/SL/TP /Mostrar Etiquetas de Entrada/SL/TP', defval=true, group=groupEnTpSl, tooltip=levels_tip) 

atrLen   = input.int(14, "ATR Length TP", group=groupEnTpSl, tooltip=atrLen_tip)
atrRisk  = input.float(1.0, "Riesgo trade", group=groupEnTpSl,tooltip=atrRisk_tip )
tpLen = input.float(2.0, "TP [%] ????", step=0.1, group=groupEnTpSl, tooltip=tpLen_tip)
tpLenpre_tip = "Initial TP for Predictum type calculation / Initial TP for Predictum type calculation"
tpLenpre = input.float(0.5, "TP Initial Predictum [%] ????", minval=0.3, step=0.1, group=groupEnTpSl, tooltip=tpLenpre_tip)
tpSL = input.float(3.0, "SL [%] ????️", step=0.1, group=groupEnTpSl, tooltip=tpSL_tip)
lvlDecimals = input.int(3, "Decimals", 1, 16, inline="lvlDecimals",group=groupEnTpSl)
decimals = lvlDecimals == 1 ? "#.#" : lvlDecimals == 2 ? "#.##" : lvlDecimals == 3 ? "#.###" : lvlDecimals == 4 ? "#.####" : lvlDecimals == 5 ? "#.#####" : lvlDecimals == 6 ? "#.######" : lvlDecimals == 7 ? "#.#######" : lvlDecimals == 8 ? "#.########" : lvlDecimals == 9 ? "#.#########" : lvlDecimals == 10 ? "#.##########" : lvlDecimals == 11 ? "#.###########" : lvlDecimals == 12 ? "#.############" : lvlDecimals == 13 ? "#.#############" : lvlDecimals == 14 ? "#.##############" : lvlDecimals == 15 ? "#.###############" : "#.################"

lvlLines    = input.bool(true, "Show TP/SL lines ? / Mostart Lineas TP/SL? ", inline="levels2",group=groupEnTpSl)
linesStyle  = input.string("DOTTED", "", ["SOLID", "DASHED", "DOTTED"], inline="levels2",group=groupEnTpSl)
lvlDistance = input.int(3, "Distance / Distancia", 1, inline="levels2",group=groupEnTpSl)
stylelvl = linesStyle == "SOLID" ? line.style_solid : linesStyle == "DASHED" ? line.style_dashed : line.style_dotted
lvlLinesw = input.int(title=' TP/SL Line Thickness / TP/SL Line Thickness', defval=1, minval=1,inline="levels2",group=groupEnTpSl)
filllvlLines  = input.int(79, "Fill TP/SL Line Alpha %", minval=1, maxval=98,group=groupEnTpSl, inline="levels2")
filllvlLineson    = input.bool(true, "Show TP/SL Fill lines ? / Mostart Relleno Lineas TP/SL? ", inline="levels2",group=groupEnTpSl)

trigger = bull  ? 1 : 0
atrBand = ta.atr(atrLen) * atrRisk
atrStop = trigger == 1 ? low - atrBand : high + atrBand

lastTrade(src) => ta.valuewhen(changeCond, src, 0 )

DistanceTp =  close * tpLen / 100 
Distance_CTp = trigger == 1 ? close - DistanceTp : close + DistanceTp

DistanceSL =  close * tpSL / 100 
Distance_CSL = trigger == 1 ? low - DistanceSL : high + DistanceSL

DistanceTppre =  close * tpLenpre / 1

Показано первые 50% кода (символов: 31952)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
3 195,20₽ ≈ $39.05