@simpleforextools NOSTRADAMUS
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «nostradamus.pine» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Этот индикатор 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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.