Gold Smart Money Flow - COT Enhanced
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «gold smart money flow - cot enhanced.pine» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Gold Smart Money Flow - COT Enhanced — это индикатор для TradingView, написанный на Pine Script v5, предназначенный для анализа потоков денег на рынке золота. Он разделяет институциональный и розничный денежные потоки, отображая их в виде двух отдельных линий на графике.
Индикатор рассчитывает институциональный поток на основе крупных объёмов торгов, изменения цен и соотношения закрытия к диапазону, а розничный — на основе импульса RSI и сигналов MACD. При включённой опции дополнительно подтягиваются данные COT (Commitments of Traders) по золотым фьючерсам с недельного таймфрейма и смешиваются с расчётными значениями.
Визуально индикатор отображает две линии (красная — институциональный, бирюзовый — розничный), горизонтальные уровни 0, 1 и -1, заливку фона при доминировании одной из сторон, а также графические отметки при пересечениях линий, экстремальном расхождении и торговых установках. В правом верхнем углу отображается информационная таблица с текущими значениями.
Индикатор поддерживает пять условий оповещений TradingView: переход контроля к институциям или розничным трейдерам, бычья и медвежья установки, а также экстремальное расхождение. Параметры настраиваются пользователем через стандартный интерфейс TradingView.
Настройки программы
| Настройка | Описание |
|---|---|
| length | Длина расчёта — Период расчёта скользящих средних и нормализации денежных потоков (целое число, минимум 1). |
| smoothing | Период сглаживания — Период сглаживания итоговых линий денежных потоков (целое число, минимум 1). |
| volThreshold | Порог объёма для институциональных сделок (золото) — Пороговое значение объёма для определения институциональных сделок на золоте — число, кратное среднему объёму (числовое значение, минимум 0.5, шаг 0.1). |
| useCOT | Показать данные COT (только фьючерсы) — Включает или отключает интеграцию данных COT по золотым фьючерсам с недельного таймфрейма (логический переключатель). |
Поиск по коду файла
indicator("Gold Smart Money Flow - COT Enhanced", overlay=false)
length = input.int(20, "Calculation Length", minval=1)
smoothing = input.int(5, "Smoothing Period", minval=1)
volThreshold = input.float(1.8, "Institutional Volume Threshold (Gold)", minval=0.5, step=0.1)
useCOT = input.bool(true, "Show COT Data (Futures Only)")
typicalPrice = hlc3
avgVolume = ta.sma(volume, length)
largeVolume = volume > (avgVolume * volThreshold)
priceChange = close - close[1]
institutionalFlow = 0.0
institutionalFlow := largeVolume ? institutionalFlow[1] + (priceChange * volume) : institutionalFlow[1] * 0.98
closePosition = (close - low) / math.max(high - low, 0.01)
institutionalMF = ta.ema(closePosition * volume * (largeVolume ? 2.5 : 1), length)
institutionalRaw = (institutionalMF - ta.sma(institutionalMF, length * 2)) / math.max(ta.stdev(institutionalMF, length), 1)
institutionalLine = ta.sma(institutionalRaw, smoothing)
rsi = ta.rsi(close, 14)
retailMomentum = (rsi - 50) / 50
retailVolume = volume > avgVolume * 1.2 and volume < avgVolume * volThreshold
retailFlow = 0.0
retailFlow := retailVolume ? retailFlow[1] + (priceChange * volume * 0.6) : retailFlow[1] * 0.95
macdLine = ta.ema(close, 12) - ta.ema(close, 26)
macdSignal = ta.ema(macdLine, 9)
retailMacd = (macdLine - macdSignal) / close * 10000
retailRaw = (retailMomentum + retailMacd) / 2
retailLine = ta.sma(retailRaw, smoothing)
cotCommercial = request.security("CFTC:088691_FO_L_ALL", "W", close, gaps=barmerge.gaps_on, ignore_invalid_symbol=true)
cotLargeSpec = request.security("CFTC:088691_F_L_ALL", "W", close, gaps=barmerge.gaps_on, ignore_invalid_symbol=true)
cotSmallSpec = request.security("CFTC:088691_FO_L_ALL_CR", "W", close, gaps=barmerge.gaps_on, ignore_invalid_symbol=true)
cotInstitutional = 0.0
cotRetail = 0.0
if useCOT
if not na(cotCommercial)
cotInstitutional := ta.sma((cotCommercial - ta.sma(cotCommercial, 52)) / math.max(ta.stdev(cotCommercial, 52), 1), 4)
if not na(cotSmallSpec)
cotRetail := ta.sma((cotSmallSpec - ta.sma(cotSmallSpec, 52)) / math.max(ta.stdev(cotSmallSpec, 52), 1), 4)
finalInstitutional = (useCOT and not na(cotInstitutional) and cotInstitutional != 0) ? (institutionalLine * 0.7 + cotInstitutional * 0.3) : institutionalLine
finalRetail = (useCOT and not na(cotRetail) and cotRetail != 0) ? (retailLine * 0.7 + cotRetail * 0.3) : retailLine
plot(finalInstitutional, "Institutional / Commercial", color=color.new(color.red, 0), linewidth=3)
plot(finalRetail, "Retail / Small Specs", color=color.new(#00CED1, 0), linewidth=3)
hline(0, "Zero", color=color.gray, linestyle=hline.style_solid, linewidth=2)
hline(1, "Strong Bullish", color=color.new(color.green, 70), linestyle=hline.style_dashed)
hline(-1, "Strong Bearish", color=color.new(color.red, 70), linestyle=hline.style_dashed)
bgColor = finalInstitutional > finalRetail ? color.new(color.red, 94) : color.new(#00CED1, 94)
bgcolor(bgColor, title="Dominant Money")
crossOver = ta.crossover(finalInstitutional, finalRetail)
crossUnder = ta.crossunder(finalInstitutional, finalRetail)
plotshape(crossOver, "Institutional Takeover", shape.triangleup, location.bottom, color.red, text="INST", size=size.small)
plotshape(crossUnder, "Retail Takeover", shape.triangledown, location.top, color.aqua, text="RETAIL", size=size.small)
extremeDivergence = (finalInstitutional > 1 and finalRetail < -0.5) or (finalInstitutional < -1 and finalRetail > 0.5)
plotshape(extremeDivergence, "Extreme Divergence", shape.diamond, location.absolute, color.yellПоказано первые 50% кода (символов: 6215)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.