Все четко и как планировали.
Коммуникация и реализация были на высоте.
Рекомендую как порядочного фрилансера.
Будем обращаться еще для реализации новых идей.
Оставляйте заявку только если у вас есть опыт разработки индикаторов и вы готовы обсудить проект в зуме
Необходимо разработать индикатор
Вот приблизительный пример того что мы хотим получить в результате
https://docs.google.com/document/d/1aJPD7W-6p5LP3NGwZsJcTr3AlZGPTYyvSbhhfEWzsLc/edit?tab=t.0
Более детальное ТЗ и правки предоставлю исполнителю
Бюджет: 4000 UAH Срок: 2 дня
Я системный архитектор и мне интересно реализовать этот проект с вами.
Моё предложение: я делаю всё строго по вашему ТЗ, но дополнительно внедряю свой алгоритм фильтрации.
Для вас это не будет стоить ни копейки сверху, но на выходе система будет работать в 2-3 раза эффективнее любого стандартного решения.
По сути, вы получаете то, что заказывали, плюс "подушку безопасности", которая отсекает ложные входы и сохраняет депозит. Выгоду почувствуете сразу на дистанции.
Бюджет: 3235 UAH Срок: 1 день
Добрый день. Готов реализовать индикатор. Большой опыт написания индикаторов как для TV, так и кастомных на Python. Прямо сейчас занимаюсь идентичными задачами - могу показать в личных сообщениях или при демонстрации экрана во время звонка.
Бюджет: 20000 UAH Срок: 30 дней
Добрый день! Пишу индикаторы, торговые эксперты на разных языках. Обращайтесь, обсудим детали.
Здравствуйте. С v5 дел имел не мало. Потому вопрос, а криптой вы сможете оплатить? У вас в коде кстати не рассмотрен вариант когда нет ни одной выбранной биржи
Скриптов открытого интереса вагон. Или что именно вы хотите отследить? Аномалию?
Пин ниже. Могу ускорить интеграцию в 3–5 раз, + устойчивость системы до х2 за счёт стандартизированного API и контроля режима.
//@version=6
indicator("AIF-ilter — Guard Controller PRO v6", overlay=false, max_labels_count=500)
// ======================================================
// Add-on: AUTO profile (switches Conservative/Balanced/Aggressive by volatility)
// - Volatility proxy: ATR% + |Z|
// - Auto picks profile each bar (and shows it in banner/table)
// ======================================================
// ===================== INPUTS ======================
grpMode = "Mode"
grpCore = "Core"
grpCtrl = "Controller"
grpGuard = "Guard / Kill-switch"
grpAuto = "Auto Profile"
grpViz = "Visual"
mode = input.string("Guard", "Mode", options=["Basic","Pro","Guard"], group=grpMode)
profileSel = input.string("Auto", "Profile", options=["Auto","Conservative","Balanced","Aggressive"], group=grpMode,
tooltip="Auto: профиль выбирается по волатильности (ATR% + |Z|)")
src = input.source(close, "Source", group=grpCore)
lenMA = input.int(55, "Trend MA", minval=1, group=grpCore)
lenMom = input.int(10, "Momentum (ROC)", minval=1, group=grpCtrl)
lenZ = input.int(80, "Stability window", minval=20, group=grpCtrl)
lenATR = input.int(14, "ATR length", minval=1, group=grpCtrl)
baseThr = input.float(65.0, "Base threshold", minval=1, maxval=99, step=0.5, group=grpCtrl)
adaptive = input.bool(true, "Adaptive threshold", group=grpCtrl)
biasLong = input.float(0.0, "Long bias", step=0.5, group=grpCtrl)
biasShort= input.float(0.0, "Short bias", step=0.5, group=grpCtrl)
// Auto profile cutoffs (loose by default)
atrLow = input.float(0.8, "ATR% low", step=0.1, group=grpAuto, tooltip="Ниже — можно Aggressive")
atrHigh = input.float(1.8, "ATR% high", step=0.1, group=grpAuto, tooltip="Выше — Conservative")
zHigh = input.float(2.5, "|Z| high", step=0.1, group=grpAuto, tooltip="Если |Z| выше — Conservative")
useGuard = input.bool(true, "Enable guard", group=grpGuard)
gapPctIn = input.float(1.2, "Gap block (%)", step=0.1, group=grpGuard)
spikeZIn = input.float(4.0, "Spike block (Z)", step=0.5, group=grpGuard)
freezeIn = input.int(3, "Freeze bars after guard", minval=0, group=grpGuard)
showBands = input.bool(true, "Show thresholds", group=grpViz)
showMarks = input.bool(true, "Show marks", group=grpViz)
showTable = input.bool(true, "Show table", group=grpViz)
showBanner = input.bool(true, "Show status banner", group=grpViz)
heatmap = input.bool(true, "Heatmap background", group=grpViz)
heatStr = input.int(85, "Heat intensity (0..100)", minval=0, maxval=100, group=grpViz)
// ===================== HELPERS ======================
clamp(x, lo, hi) => math.max(lo, math.min(hi, x))
pct(x) => str.tostring(x, "#.00") + "%"
// ===================== MODE FLAGS ======================
isBasic = mode == "Basic"
isGuard = mode == "Guard"
guardEnabled = (isGuard and useGuard)
// ===================== CORE =========================
c = src
ma = ta.ema(c, lenMA)
trendUp = c > ma
trendDn = c < ma
// ===================== VOL METRICS (for AUTO) =========
atr = ta.atr(lenATR)
atrPct = c != 0 ? (atr / c) * 100.0 : 0.0
// Z-score of 1-bar returns (stability)
ret1 = nz(c[1]) != 0 ? (c - c[1]) / c[1] * 100.0 : 0.0
mu = ta.sma(ret1, lenZ)
sd = ta.stdev(ret1, lenZ)
z = sd != 0 ? (ret1 - mu) / sd : 0.0
absZ = math.abs(z)
// ===================== PICK PROFILE ===================
// Auto logic:
// - If very stable (ATR% low AND |Z| low): Aggressive
// - If very unstable (ATR% high OR |Z| high): Conservative
// - Else: Balanced
string prof =
profileSel != "Auto" ? profileSel :
(atrPct <= atrLow and absZ <= (zHigh * 0.6)) ? "Aggressive" :
(atrPct >= atrHigh or absZ >= zHigh) ? "Conservative" :
"Balanced"
// ===================== PROFILE PARAMS =================
// Threshold, gains, guard sensitivity
thrAdj =
prof == "Conservative" ? 8.0 :
prof == "Aggressive" ? -6.0 : 0.0
momGain =
prof == "Conservative" ? 5.0 :
prof == "Aggressive" ? 7.5 : 6.0
stabPenalty =
prof == "Conservative" ? 14.0 :
prof == "Aggressive" ? 9.0 : 12.0
gapPct =
prof == "Conservative" ? gapPctIn * 0.85 :
prof == "Aggressive" ? gapPctIn * 1.25 : gapPctIn
spikeZ =
prof == "Conservative" ? spikeZIn * 0.85 :
prof == "Aggressive" ? spikeZIn * 1.25 : spikeZIn
freezeN =
prof == "Conservative" ? freezeIn + 2 :
prof == "Aggressive" ? math.max(freezeIn - 1, 0) : freezeIn
// ===================== CONTROLLER ======================
// Momentum
mom = ta.roc(c, lenMom)
scoreMom = clamp(50.0 + mom * momGain, 0.0, 100.0)
// Stability score
scoreStab = clamp(100.0 - absZ * stabPenalty, 0.0, 100.0)
// Trend score
scoreTrend = trendUp ? 100.0 : trendDn ? 0.0 : 50.0
// Confidence fusion
confBase = 0.45*scoreTrend + 0.35*scoreMom + 0.20*scoreStab
confLong = clamp(confBase + biasLong, 0.0, 100.0)
confShort = clamp((100.0 - confBase) + biasShort, 0.0, 100.0)
// Threshold (optional adaptive by |Z|)
thrBase = clamp(baseThr + thrAdj, 50.0, 95.0)
thr = adaptive ? clamp(thrBase + absZ * 3.0, 50.0, 95.0) : thrBase
upper = thr
lower = 100.0 - thr
// ===================== GUARD / KILL SWITCH ==========
gap = nz(c[1]) != 0 ? math.abs((open - c[1]) / c[1]) * 100.0 : 0.0
gapBad = gap > gapPct
spikeBad = absZ > spikeZ
naBad = na(c) or na(open)
guardHit = guardEnabled and (gapBad or spikeBad or naBad)
var int freeze = 0
if barstate.isnew
freeze := math.max(freeze - 1, 0)
if guardHit
freeze := freezeN
guardOK = (not guardEnabled) or (freeze == 0 and not guardHit)
guardReason =
not guardEnabled ? "OFF" :
naBad ? "NA" :
gapBad ? "GAP" :
spikeBad ? "SPIKE" :
guardHit ? "BLOCK" :
(freeze > 0 ? "FREEZE" : "OK")
// ===================== SIGNALS =======================
longOk = (not isBasic) and guardOK and trendUp and confLong >= upper
shortOk = (not isBasic) and guardOK and trendDn and confShort >= upper
longEdge = longOk and not longOk[1]
shortEdge = shortOk and not shortOk[1]
// ===================== HEATMAP =======================
heatAlpha = clamp(100 - heatStr, 0, 100)
isHotLong = confLong >= upper and trendUp
isHotShort = confShort >= upper and trendDn
bg =
not heatmap ? na :
not guardOK ? color.new(color.orange, 85) :
isHotLong ? color.new(color.lime, heatAlpha) :
isHotShort ? color.new(color.red, heatAlpha) :
color.new(color.gray, 95)
bgcolor(bg)
// ===================== PLOTS =========================
hline(50, "Mid", color=color.new(color.gray, 70))
plot(confBase, "Confidence", linewidth=2)
plot(showBands ? upper : na, "Thr (Long)", color=color.new(color.lime, 0))
plot(showBands ? lower : na, "Thr (Short)", color=color.new(color.red, 0))
plotshape(showMarks and (not isBasic) and longEdge, title="LONG", style=shape.triangleup, location=location.bottom, text="L", color=color.new(color.lime, 0), size=size.tiny)
plotshape(showMarks and (not isBasic) and shortEdge, title="SHORT", style=shape.triangledown, location=location.top, text="S", color=color.new(color.red, 0), size=size.tiny)
plotshape(showMarks and guardEnabled and guardHit, title="GUARD", style=shape.circle, location=location.top, text="G", color=color.new(color.orange, 0), size=size.tiny)
// Alerts
alertcondition(longEdge, title="AIF-ilter LONG", message="AIF-ilter LONG on {{ticker}} (profile=" + prof + ")")
alertcondition(shortEdge, title="AIF-ilter SHORT", message="AIF-ilter SHORT on {{ticker}} (profile=" + prof + ")")
alertcondition(guardHit, title="AIF-ilter GUARD", message="AIF-ilter GUARD (reason=" + guardReason + ", profile=" + prof + ") on {{ticker}}")
// ===================== STATUS BANNER ==================
var label banner = na
if showBanner and barstate.islast
label.delete(banner)
status =
guardEnabled and not guardOK ? "GUARD: " + guardReason :
longOk ? "READY: LONG" :
shortOk ? "READY: SHORT" :
"STANDBY"
statusColor =
guardEnabled and not guardOK ? color.new(color.orange, 0) :
longOk ? color.new(color.lime, 0) :
shortOk ? color.new(color.red, 0) :
color.new(color.silver, 0)
banner := label.new(bar_index, confBase,
"AIF-ilter PRO • " + mode + " • " + prof + " • " + status,
style=label.style_label_left,
textcolor=color.black,
color=statusColor)
// ===================== INFO TABLE ======================
var table t = table.new(position.top_right, 2, 12, frame_width=2, border_width=1,
bgcolor=color.new(color.black, 88))
if showTable and barstate.islast
table.cell(t, 0, 0, "Metric", text_color=color.white, bgcolor=color.new(color.blue, 70))
table.cell(t, 1, 0, "Value", text_color=color.white, bgcolor=color.new(color.blue, 70))
table.cell(t, 0, 1, "Mode")
table.cell(t, 1, 1, mode)
table.cell(t, 0, 2, "Profile")
table.cell(t, 1, 2, prof, text_color = prof == "Conservative" ? color.orange : prof == "Aggressive" ? color.lime : color.white)
table.cell(t, 0, 3, "Confidence")
table.cell(t, 1, 3, str.tostring(confBase, "#.0"))
table.cell(t, 0, 4, "Threshold")
table.cell(t, 1, 4, str.tostring(upper, "#.0") + (adaptive ? " (A)" : ""))
table.cell(t, 0, 5, "Trend")
tr = trendUp ? "UP" : trendDn ? "DOWN" : "FLAT"
table.cell(t, 1, 5, tr, text_color = trendUp ? color.lime : trendDn ? color.red : color.silver)
table.cell(t, 0, 6, "ATR%")
table.cell(t, 1, 6, pct(atrPct), text_color = atrPct >= atrHigh ? color.orange : atrPct <= atrLow ? color.lime : color.white)
table.cell(t, 0, 7, "ROC(" + str.tostring(lenMom) + ")")
table.cell(t, 1, 7, pct(mom), text_color = mom >= 0 ? color.lime : color.red)
table.cell(t, 0, 8, "|Z|")
table.cell(t, 1, 8, str.tostring(absZ, "#.00"), text_color = absZ >= zHigh ? color.orange : color.white)
table.cell(t, 0, 9, "Gap %")
table.cell(t, 1, 9, pct(gap), text_color = gapBad ? color.orange : color.white)
table.cell(t, 0, 10, "Guard")
table.cell(t, 1, 10, guardReason,
text_color = not guardEnabled ? color.gray : guardReason == "OK" ? color.lime : color.orange)
sig = longEdge ? "LONG" : shortEdge ? "SHORT" : "NONE"
table.cell(t, 0, 11, "Signal")
table.cell(t, 1, 11, sig, text_color = longEdge ? color.lime : shortEdge ? color.red : color.gray)
Уже готово:
Отдельный сервис с API вместо встраивания в код, корректную работу с временем (dt) при лагах и джиттере, правильное хранение истории данных без искажений, фильтрацию шума на входе, устойчивое управление выходом и явные метрики состояния системы — сложность, управляющий сигнал, стабильность и ошибку. Теперь это можно подключать к любому источнику данных и использовать в продакшене без переписывания логики.
Могу доп: (патентная разработка)
Авторизацию и лимиты, алерты и мониторинг, автонастройку параметров под режим, дополнительные метрики сложности, масштабирование и деплой под Docker/Kubernetes.
#1 Дополнительно, что заметили из предыдущего объема изменений: Есть несколько клиентов, которые забронировали «Discovery Calls», но не получили ссылку-приглашение от Calendly, как и мы. Кроме того, событие не отобразилось в нашем календаре MS Outlook. Так было настроено изначально. Можете ли вы это исправить? Последние два раза мы сами отправляли электронные письма, чтобы предоставить клиентам ссылку на встречу. Подключите календари MS Outlook по адресам sebastian leap-key.com и mj leap-key.com к Calendly. А подтверждения о забронированных встречах отправляйте на эти два же адреса электронной почты. #2 Еще одна подобная тема касается счетов-фактур от WIX. Я вижу на WIX, что последний счет-фактура имеет номер 5, но должно быть еще два: № 6 и № 7. WIX было настроено так, чтобы создавать счет-фактуру и отправлять ее на электронную почту клиента и на нашу электронную почту (sebastian leap-key.com), но этого не происходит. Важно, чтобы клиенты и мы получали счета-фактуры непосредственно. Исключениями будут те продукты с индивидуальными ценами, для которых мы будем использовать WIX для формирования счетов-фактур. - Цены на товары № 4 устанавливаются индивидуально, поэтому я должен выписывать на них счета-фактуры. Товары № 1, 2, 3 имеют фиксированные цены, и счета-фактуры на них можно генерировать автоматически. - Я попытался пройти весь процесс, забронировав встречу по товарам № 1, 2, 3 со своей личной электронной почты svuinovich gmail.com, но счета-фактуры не получил. Кажется, я получил электронное письмо с подтверждением забронированной встречи. Сейчас уже не помню. - Подтверждение и счет-фактуру следует отправлять клиенту, а также на адреса sebastian leap-key.com и mj leap-key.com. Счета-фактуры не были отправлены ни Sebastian, ни MJ из Leap Key, а также мне как клиенту на мою личную электронную почту.
надо онлайн казино, сайт bkb телегам приложение без разницы у кого какие варианты есть предлагайте, работаю только через сайт и без предоплат цены до 1000$
Ниже пример подробного технического задания для разработки мобильного приложения. Составление текстов Техническое задание Проект Мобильное приложение для случайного общения (рулетка) Платформы: Android iOS 1. Назначение проекта Создать современное мобильное приложение для знакомств, общения и поиска собеседников по принципу случайного выбора (Chat Roulette), с возможностью фильтрации пользователей по заданным критериям. Приложение должно поддерживать: текстовый чат; голосовой чат; видеочат; мгновенное переключение на следующего собеседника; поиск по интересам; поиск по стране; поиск по языку; поиск по полу; поиск по возрасту; расширенные фильтры; систему модерации; административную панель. 2. Типы общения Письменный чат Возможности: обмен сообщениями; отправка Emoji; GIF; стикеры; фотографии; видео; документы; голосовые сообщения; удаление сообщений; редактирование сообщений; ответ на сообщение; пересылка сообщений; закрепление сообщений. Голосовой чат Возможности: звонок одному пользователю; случайный голосовой собеседник; переключение Next; отключение микрофона; регулировка громкости; запись разговора (если разрешено); шумоподавление; HD Voice. Видеочат Возможности: Full HD 2K 4K (при поддержке устройства) Функции: переключение камер; размытие фона; виртуальный фон; отключение видео; демонстрация экрана; запись; скриншот; режим картинка-в-картинке; мгновенное переключение Next. 3. Принцип рулетки Пользователь нажимает кнопку Старт После чего система автоматически подбирает случайного собеседника. Есть кнопки Следующий Пауза Стоп При отсутствии совпадений отображается сообщение "Поиск собеседника..." 4. Фильтры поиска Возраст 18–25 25–35 35–45 45+ Пол мужчина женщина любой Страна Любая страна мира Город По желанию Язык Все основные языки Интересы музыка кино путешествия спорт программирование автомобили игры животные медицина бизнес политика образование любые собственные теги Онлайн сейчас онлайн недавно онлайн Тип общения текст голос видео 5. Регистрация Способы регистрации Email Google Apple ID Facebook Telegram номер телефона анонимный режим Подтверждение Email SMS CAPTCHA 6. Профиль пользователя Фото Видео Имя Никнейм Возраст Пол Страна Город Интересы Языки Описание Статус Дата регистрации Последний онлайн Верификация Рейтинг 7. Личный кабинет История общения Избранные пользователи Черный список Настройки Уведомления Подписка Premium Покупки История платежей 8. Premium Без рекламы Приоритетный поиск Выбор региона Расширенные фильтры Неограниченные лайки Неограниченные переключения HD-видео VIP-значок Невидимый режим 9. Монетизация Подписка Разовые покупки VIP Подарки Монеты Реклама 10. Административная панель Управление пользователями Блокировка Удаление Модерация фотографий Модерация видео Модерация сообщений Просмотр жалоб Статистика Онлайн Доход Платежи Push-уведомления Новости Баннеры Настройки приложения Логи Резервное копирование 11. Система жалоб Пожаловаться Причины: спам мошенничество оскорбления порнография насилие несовершеннолетние реклама другое 12. Безопасность SSL HTTPS Шифрование сообщений Двухфакторная аутентификация CAPTCHA Антиспам Антибот Определение VPN/Proxy Автоматическая модерация AI-модерация 13. Push-уведомления Новое сообщение Пропущенный звонок Новый собеседник Ответ на жалобу Новости Обновления 14. Технологии Frontend Flutter или React Native Backend Node.js NestJS База данных PostgreSQL Redis Хранилище файлов Amazon S3 Видео и голос WebRTC Push Firebase Cloud Messaging Apple Push Notification Service Админ-панель React Vue.js 15. Производительность Время поиска собеседника до 3 секунд. Поддержка не менее 1 000 000 зарегистрированных пользователей. До 100 000 пользователей онлайн одновременно. 16. Дополнительные функции Перевод сообщений в реальном времени Голосовой перевод ИИ-помощник Автоматическое распознавание речи Автоматические субтитры Маски дополненной реальности (AR) Размытие фона Виртуальные комнаты Групповые видеочаты Стриминг Создание собственных комнат Приглашение друзей QR-код профиля Темная и светлая темы Многоязычный интерфейс Встроенная система аналитики 17. Соответствие требованиям Приложение должно соответствовать требованиям Google Play и Apple App Store, а также обеспечивать защиту персональных данных (GDPR) и поддержку пользовательского согласия на обработку данных. Это ТЗ подходит как основа для коммерческой разработки. При необходимости его можно расширить до полноценного документа на 100–150 страниц с UX/UI-прототипами, архитектурой базы данных, API, схемами экранов, ролями пользователей, системой модерации, монетизацией, AI-подбором собеседников и детальным описанием каждого раздела.
Лендинг на 3 языках - английском, немецком и чешском. Бизнес - изготовление и монтаж вентиляционных систем. Основные блоки - есть видение дизайна и содержания, есть макет. Версия - десктоп и мобильная. Настройка SEO - нужна, договоримся после согласования дизайна.
Необходимо разработать отдельную CRM-систему для централизованной обработки всех розничных заказов из различных каналов продаж (Prom, Rozetka, собственные сайты и ручные заказы). Основные требования: Единый реестр заказов из всех источников с сохранением информации о источнике и его статусе. Отдельный внутренний статус CRM, который работает независимо от статуса на маркетплейсе или сайте, с двусторонней синхронизацией статусов там, где это поддерживается. Гибкая интеграция с 1С: для каждого источника администратор может отдельно включить или выключить автоматическую выгрузку заказов. Интеграция с перевозчиками для автоматического создания ТТН, сохранения её номера в CRM и передачи номера ТТН на Prom и Rozetka. Интеграция с Checkbox для создания проектов чеков, используя настраиваемое соответствие способов оплаты, с последующим контролем фискализации. Поддержка ручного создания заказов (телефон, Viber, Telegram, Direct и т.д.) с полным последующим циклом обработки через CRM. Все API-ключи и настройки интеграций должны управляться администратором через интерфейс CRM без участия программиста. Полный журнал действий и логирование интеграций для контроля работы системы. Основная цель Менеджер должен иметь возможность полностью обработать заказ в одном интерфейсе CRM — от получения заказа до создания документа в 1С, ТТН, проекта чека и завершения заказа, без необходимости заходить в кабинеты Prom, Rozetka, сайтов, перевозчиков или Checkbox.