Volume MAs Trading System | Multi-Filter v6.6 — FINAL
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «volume mas trading system multi-filter v6.6 — final (1).pine» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Volume MAs Trading System | Multi-Filter v6.6 — FINAL — это индикатор для TradingView, написанный на Pine Script v6. Он рассчитывает объёмно-взвешенную скользящую среднюю и формирует торговые сигналы на основе отклонения цены от этого показателя, а также дополнительных фильтров объёма.
Индикатор поддерживает выбор типа скользящей средней из 16 вариантов, настраиваемые фильтры Ultra Volume и Delta Volume, три режима логики комбинирования сигналов (Strict, Weighted, Levels) и настраиваемые веса каждого компонента. Каждый фильтр можно включить или отключить независимо.
Отображение включает метки входов Long/Short с указанием силы сигнала, цветовую индикацию баров и информационную панель с текущими данными. Также предусмотрены условия для оповещений TradingView для различных комбинаций сигналов и режимов логики.
Настройки программы
| Настройка | Описание |
|---|---|
| source | Источник данных, используемый для расчётов. |
| ma_type | Тип скользящей средней для расчёта объёмно-взвешенного показателя. |
| ma_length | Период скользящей средней, используемой в расчётах. |
| band_length | Период для расчёта полос волатильности на основе стандартного отклонения. |
| band_smooth | Коэффициент сглаживания перестройки полос от 0.0 до 1.0. |
| pos_mult | Множитель для расчёта верхней полосы. |
| neg_mult | Множитель для расчёта нижней полосы. |
| signal_mode | Режим генерации основного сигнала: Trend — трендовый, Reversion — реверсный. |
| use_ultra | Включение или отключение фильтра Ultra Volume. |
| ultra_len | Период скользящей средней для фильтра Ultra Volume. |
| ultra_mult | Множитель объёма для определения условия Ultra Volume. |
| use_delta | Включение или отключение фильтра Delta Volume. |
| delta_thr | Пороговое значение дельты объёма в процентах для фильтра Delta Volume. |
| logic_mode | Режим комбинирования сигналов: Strict — строгое совпадение всех фильтров, Weighted — взвешенная сумма, Levels — уровни силы сигнала. |
| w_main | Вес основного сигнала в режиме Weighted. |
| w_ultra | Вес фильтра Ultra Volume в режиме Weighted. |
| w_delta | Вес фильтра Delta Volume в режиме Weighted. |
| min_weight | Минимальный суммарный вес, необходимый для генерации сигнала в режиме Weighted. |
| show_labels | Отображение меток входа Long и Short на графике. |
| show_panel | Отображение информационной панели в правом верхнем углу графика. |
| col_long | Цвет, используемый для отображения сигналов Long. |
| col_short | Цвет, используемый для отображения сигналов Short. |
| col_strong | Цвет для меток STRONG в режиме Levels и STRICT в режиме Strict. |
| col_medium | Цвет для меток MEDIUM в режиме Levels. |
Поиск по коду файла
indicator("Volume MAs Trading System | Multi-Filter v6.6 — FINAL", overlay=true, max_labels_count=500, max_lines_count=500)
import LyroRS/LMAs/1 as MAs
g_main = "Основной осциллятор"
g_filter = "Фильтры объёма"
g_logic = "Логика сигналов"
g_disp = "Отображение"
source = input.source(close, "Источник", group=g_main)
ma_type = input.string("JMA", "Тип скользящей средней",
options=["SMA","EMA","WMA","VWMA","DEMA","TEMA","RMA","HMA","LSMA","SMMA","ALMA","ZLSMA","FRAMA","KAMA","JMA","T3"], group=g_main)
ma_length = input.int(30, "Длина MA", minval=2, group=g_main)
band_length = input.int(27, "Длина полос", minval=5, group=g_main)
band_smooth = input.float(0.8, "Сглаживание полос", minval=0.0, maxval=1.0, step=0.1, group=g_main)
pos_mult = input.float(1.8, "Множитель (+) полосы", minval=0.1, group=g_main)
neg_mult = input.float(-0.85, "Множитель (-) полосы", maxval=-0.1, group=g_main)
signal_mode = input.string("Trend", "Режим сигнала", options=["Trend", "Reversion"], group=g_main)
use_ultra = input.bool(true, "Ultra Volume фильтр", group=g_filter)
ultra_len = input.int(25, "Длина Ultra Volume", options=[8,13,21,25,34,55,89], group=g_filter)
ultra_mult = input.float(2.4, "Множитель Ultra Volume", minval=1.0, step=0.1, group=g_filter)
use_delta = input.bool(true, "Delta Volume фильтр", group=g_filter)
delta_thr = input.float(5.0, "Порог дельты (%)", minval=0.0, step=0.5, group=g_filter)
logic_mode = input.string("Weighted", "Режим логики", options=["Strict","Weighted","Levels"], group=g_logic)
w_main = input.int(50, "Вес основного сигнала", minval=0, maxval=100, group=g_logic)
w_ultra = input.int(30, "Вес Ultra Volume", minval=0, maxval=100, group=g_logic)
w_delta = input.int(20, "Вес Delta Volume", minval=0, maxval=100, group=g_logic)
min_weight = input.int(75, "Мин. вес для входа (%)", minval=50, maxval=100, group=g_logic)
show_labels = input.bool(true, "Метки входа", group=g_disp)
show_panel = input.bool(true, "Инфо-панель", group=g_disp)
col_long = input.color(#00ff88, "Цвет Long", group=g_disp)
col_short = input.color(#ff0044, "Цвет Short", group=g_disp)
col_strong = input.color(#FFD700, "Цвет STRONG", group=g_disp)
col_medium = input.color(#FFA500, "Цвет MEDIUM", group=g_disp)
float vwma = switch ma_type
"SMA" => MAs.SMA(source*volume, ma_length) / MAs.SMA(volume, ma_length)
"EMA" => MAs.EMA(source*volume, ma_length) / MAs.EMA(volume, ma_length)
"WMA" => MAs.WMA(source*volume, ma_length) / MAs.WMA(volume, ma_length)
"VWMA" => MAs.VWMA(source, volume, ma_length)
"DEMA" => MAs.DEMA(source*volume, ma_length) / MAs.DEMA(volume, ma_length)
"TEMA" => MAs.TEMA(source*volume, ma_length) / MAs.TEMA(volume, ma_length)
"RMA" => MAs.RMA(source*volume, ma_length) / MAs.RMA(volume, ma_length)
"HMA" => MAs.HMA(source*volume, ma_length) / MAs.HMA(volume, ma_length)
"LSMA" => MAs.LSMA(source*volume, ma_length, 0) / MAs.LSMA(volume, ma_length, 0)
"SMMA" => MAs.SMMA(source*volume, ma_length) / MAs.SMMA(volume, ma_length)
"ALMA" => MAs.ALMA(source*volume, ma_length, 0.0, 20) / MAs.ALMA(volume, ma_length, 0.0, 20)
"ZLSMA" => MAs.ZLSMA(source*volume, ma_length) / MAs.ZLSMA(volume, ma_length)
"FRAMA" => MAs.FRAMA(source*volume, ma_length) / MAs.FRAMA(volume, ma_length)
"KAMA" => MAs.KAMA(source*volume, ma_length) / MAs.KAMA(volume, ma_length)
"JMA" => MAs.JMA(source*volume, ma_length, 0) / MAs.JMA(volume, ma_length, 0)
"T3" => MAs.T3(source*volume, ma_length, 0.5) / MAs.T3(volume, ma_length, 0.5)
=> na
float diff = (source - vwma) / vwma * 100
float std = ta.stdev(diff, band_length)
var float upper_band = na
var float lower_band = na
upper_band := nz(upper_band[1]) * (1 - band_smooth) + (std * pos_mult) * band_smooth
lower_band := nz(lower_band[1]) * (1 - band_smooth) + (std * neg_mult) * band_smooth
var int main_sig = 0
main_sig := signal_mode == "Trend" ?
diff > upper_band ? 1 : diff < lower_band ? -1 : main_sig[1] :
diff > upper_band ? -1 : diff < lower_band ? 1 : main_sig[1]
float vol_ma = ta.wma(volume, ultra_len)
bool ultra_vol = volume >= vol_ma * ultra_mult
int ultra_sig = use_ultra and ultra_vol ? (close >= open ? 1 : -1) : 0
float delta_Показано первые 50% кода (символов: 7183)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.