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

Ema Vwap Trend Pro (Multi-VWAP)

ema vwap trend pro (multi-vwap).txt
Вы автор или правообладатель?

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

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

О программе

Индикатор «Ema Vwap Trend Pro (Multi-VWAP)» предназначен для анализа и отображения тренда на графике TradingView. Он строит сессионный VWAP и скользящую средую EMA 200, окрашивая их в зависимости от текущего тренда, и заполняет область между ними для наглядности.

Дополнительно индикатор отображает VWAP недельного и месячного таймфреймов, которые можно включать и отключать независимо. Это позволяет оценивать мультитаймфреймовый контекст.

Индикатор генерирует сигналы на основе пересечения быстрой и медленной скользящих средних EMA. При подтверждении сигнала на графике отмечаются уровень входа, стоп-лосс и несколько уровней фиксации прибыли с помощью линий и меток.

Индикатор поддерживает условия оповещений TradingView для сигналов покупки и продажи.

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

НастройкаОписание
showWeekly Включает или отключает отображение линии VWAP недельного таймфрейма на графике.
weeklyColor Задаёт цвет линии VWAP недельного таймфрейма.
weeklyWidth Устанавливает толщину линии VWAP недельного таймфрейма.
showMonthly Включает или отключает отображение линии VWAP месячного таймфрейма на графике.
monthlyColor Задаёт цвет линии VWAP месячного таймфрейма.
monthlyWidth Устанавливает толщину линии VWAP месячного таймфрейма.
emaFastLen Задаёт период расчёта быстрой скользящей средней EMA.
emaSlowLen Задаёт период расчёта медленной скользящей средней EMA.
atrPeriod Устанавливает период расчёта индикатора Average True Range (ATR).
slMult Задаёт множитель для расчёта уровня стоп-лосса относительно ATR.
tpMult Задаёт множитель для расчёта уровней фиксации прибыли относительно стоп-лосса.
Получить полный код

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

indicator("Ema Vwap Trend Pro (Multi-VWAP)", overlay=true, max_labels_count=500, max_lines_count=500)

val_vwap = ta.vwap(hlc3)
val_ema200 = ta.ema(close, 200)
dynamicColor = val_vwap > val_ema200 ? color.green : color.red

plot_vwap = plot(val_vwap, color=color.new(dynamicColor, 0), title="Session VWAP", linewidth=2)
plot_ema200 = plot(val_ema200, color=color.new(dynamicColor, 0), title="EMA 200", linewidth=2)
fill(plot_vwap, plot_ema200, color=color.new(dynamicColor, 80), title="Liquidity & Trend Zone")

group_mtf_vwap = "Multi-Timeframe VWAP"

showWeekly  = input.bool(true, "Show Weekly VWAP", group=group_mtf_vwap)
weeklyColor = input.color(color.blue, "Weekly VWAP Color", group=group_mtf_vwap)
weeklyWidth = input.int(2, "Weekly VWAP Width", minval=1, group=group_mtf_vwap)

showMonthly  = input.bool(true, "Show Monthly VWAP", group=group_mtf_vwap)
monthlyColor = input.color(color.orange, "Monthly VWAP Color", group=group_mtf_vwap)
monthlyWidth = input.int(2, "Monthly VWAP Width", minval=1, group=group_mtf_vwap)

val_vwap_weekly  = ta.vwap(hlc3, timeframe.change("W"))
val_vwap_monthly = ta.vwap(hlc3, timeframe.change("M"))

plot(showWeekly ? val_vwap_weekly : na, color=weeklyColor, title="Weekly VWAP", linewidth=weeklyWidth)
plot(showMonthly ? val_vwap_monthly : na, color=monthlyColor, title="Monthly VWAP", linewidth=monthlyWidth)
var table wm = table.new(position.bottom_right, 1, 1)
if barstate.isfirst
    table.cell(wm, 0, 0, "Telegram @free_fx_pro", text_color = color.new(color.gray, 70), text_size = size.large)

group_logic = "Logic Settings"
group_trade = "Trade Management"

emaFastLen = input.int(11, "EMA Fast", group=group_logic)
emaSlowLen = input.int(34, "EMA Slow", group=group_logic)
atrPeriod  = input.int(14, "ATR Period", group=group_trade)
slMult     = input.float(2.5, "SL Multiplier", group=group_trade)
tpMult     = input.float(1.5, "TP Multiplier (Relative to SL)", group=group_trade)

emaF = ta.ema(close, emaFastLen)
emaS = ta.ema(close, emaSlowLen)
atr  = ta.atr(atrPeriod)

longSignal  = ta.crossover(emaF, emaS)
shortSignal = ta.crossunder(emaF, emaS)

var float active_sl = na
var float active_tp1 = na, var float active_tp2 = na, var float active_tp3 = na, var float active_tp4 = na
var int active_dir = 0 
var bool tp1_hit = false, var bool tp2_hit = false, var bool tp3_hit = false, var bool tp4_hit = false

var label sigLabel = na
var line  slLine   = na
var line  entLine  = na
var array<line> tpLines = array.new<line>()
var array<label> hitLabels = array.new<label>()

cleanup() =>
    if not na(sigLabel)
        label.delete(sigLabel)
    if not na(slLine)
        line.delete(slLine)
    if not na(entLine)
        line.delete(entLine)
    if array.size(tpLines) > 0
        for i = 0 to array.size(tpLines) - 1
            line.delete(array.get(tpLines, i))
        array.clear(tpLines)
    if array.size(hitLabels) > 0
        for i = 0 to array.size(hitLabels) - 1
            label.delete(array.get(hitLabels, i))
        array.clear(hitLabels)

if (longSignal or shortSignal) and barstate.isconfirmed
    cleanup() 

    active_dir := longSignal ? 1 : -1
    float entry = close
    active_sl := entry - (active_dir * atr * slMult)

    tp1_hit := false, tp2_hit := false, tp3_hit := false, tp4_hit := false
    active_tp1 := entry + (active_dir * atr * slMult * tpMult * 1)
    active_tp2 := entry + (active_dir * atr * slMult * tpMult * 2)
    active_tp3 := entry + 

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

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

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

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

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

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

Стоимость полного кода
560,60₽ ≈ $6.85