diff --git a/preview/app.js b/preview/app.js
new file mode 100644
index 0000000..4190865
--- /dev/null
+++ b/preview/app.js
@@ -0,0 +1,30 @@
+initLangSwitch();
+initNavMagnet();
+
+function syncTaglineFit(){
+ const heroBrandInner = document.getElementById('heroBrandInner');
+ const logo = heroBrandInner?.querySelector('.logo');
+ const tagline = heroBrandInner?.querySelector('.tagline');
+ if (!logo || !tagline) return;
+
+ document.documentElement.style.setProperty('--hero-tagline-fit', '1');
+ const logoW = logo.getBoundingClientRect().width;
+ const taglineW = tagline.scrollWidth;
+ const fit = taglineW > 0 ? Math.min(1, logoW / taglineW) : 1;
+ document.documentElement.style.setProperty('--hero-tagline-fit', fit.toFixed(4));
+}
+
+initHeroScroll({
+ section: document.querySelector('.hero'),
+ stage: document.querySelector('.hero-stage'),
+ brand: document.querySelector('.hero-brand'),
+ brandInner: document.getElementById('heroBrandInner'),
+ mobileAnimClass: 'hero--mobile-anim',
+ scrollDrivenClass: 'hero--scroll-driven',
+ brandScaleAnimation: 'hero-brand-scale',
+ syncFit: syncTaglineFit,
+ subtractRunwayOnMobile: false
+});
+
+initReveal();
+initContactForm();
diff --git a/preview/common.js b/preview/common.js
new file mode 100644
index 0000000..9ca7892
--- /dev/null
+++ b/preview/common.js
@@ -0,0 +1,470 @@
+// ---------- SHARED UTILITIES ----------
+function readCssPx(name, fallback, el = document.documentElement){
+ const value = getComputedStyle(el).getPropertyValue(name).trim();
+ const parsed = parseFloat(value);
+ return Number.isFinite(parsed) ? parsed : fallback;
+}
+
+const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
+
+// ---------- ЯЗЫК (переключатель = ссылки на статические URL) ----------
+function initLangSwitch(){
+ const root = document.getElementById('langSwitch');
+ if (!root) return;
+
+ root.querySelectorAll('a[data-set-lang]').forEach(link => {
+ link.addEventListener('click', () => {
+ const lang = link.getAttribute('data-set-lang');
+ if (lang === 'ru' || lang === 'en' || lang === 'ua') {
+ localStorage.setItem('lang', lang);
+ }
+ });
+ });
+}
+
+// ---------- NAV MAGNET (как ghost / EclipseButton) ----------
+function initNavMagnet(){
+ const canHover = window.matchMedia('(hover: hover) and (pointer: fine)').matches;
+ if (prefersReducedMotion || !canHover) return;
+
+ document.querySelectorAll('.main-nav a:not(.nav-cta)').forEach(link => {
+ let raf = 0;
+ let tx = 0;
+ let ty = 0;
+ let ts = 1;
+ let cx = 0;
+ let cy = 0;
+ let cs = 1;
+
+ function tick(){
+ cx += (tx - cx) * 0.18;
+ cy += (ty - cy) * 0.18;
+ cs += (ts - cs) * 0.18;
+ link.style.transform = `translate3d(${cx}px, ${cy}px, 0) scale(${cs})`;
+ const done = Math.abs(tx - cx) + Math.abs(ty - cy) + Math.abs(ts - cs) < 0.04;
+ raf = done ? 0 : requestAnimationFrame(tick);
+ }
+
+ function schedule(){
+ if (!raf) raf = requestAnimationFrame(tick);
+ }
+
+ link.addEventListener('mousemove', (e) => {
+ const rect = link.getBoundingClientRect();
+ tx = (e.clientX - rect.left - rect.width / 2) * 0.15;
+ ty = (e.clientY - rect.top - rect.height / 2) * 0.15;
+ ts = 1.02;
+ schedule();
+ });
+
+ link.addEventListener('mouseleave', () => {
+ tx = 0;
+ ty = 0;
+ ts = 1;
+ schedule();
+ });
+ });
+}
+
+// ---------- HERO LOGO SCROLL ANIMATION ----------
+function initHeroScroll(config){
+ const {
+ section,
+ stage,
+ brand,
+ brandInner,
+ mobileAnimClass,
+ scrollDrivenClass,
+ brandScaleAnimation,
+ syncFit,
+ brandGapFromSection = false,
+ clampMobileScale = null,
+ clearSectionVars = null,
+ setMobileScaleVar = false,
+ subtractRunwayOnMobile = true
+ } = config;
+
+ const siteHeader = document.querySelector('.site-header');
+ const mainNav = document.querySelector('.main-nav');
+
+ let cachedBaseHeight = 0;
+ let cachedBrandGap = 32;
+ let cachedMaxScale = 1.9;
+ let cachedMaxBrandHeight = 0;
+ let cachedMinBrandHeight = 0;
+ let cachedNavHeight = 0;
+ let heroRunway = 0;
+ let heroStartY = 0;
+ let heroResizeTimer = 0;
+ let heroIsMobile = false;
+ let heroUseScrollTimeline = false;
+ let lastHeroScrollStep = -1;
+ let postHeroLift = null;
+
+ const heroRoot = document.documentElement;
+
+ function clearHeroAnimationVars(){
+ heroRoot.style.removeProperty('--hero-scale');
+ heroRoot.style.removeProperty('--hero-brand-height');
+ heroRoot.style.removeProperty('--hero-stage-height');
+ heroRoot.style.removeProperty('--hero-brand-max-h');
+ heroRoot.style.removeProperty('--hero-brand-min-h');
+ heroRoot.style.removeProperty('--hero-nav-shift');
+ heroRoot.style.removeProperty('--hero-nav-shift-max');
+ heroRoot.style.removeProperty('--hero-scroll-start');
+ heroRoot.style.removeProperty('--hero-scroll-end');
+ if (brandInner){
+ brandInner.style.removeProperty('animation-range');
+ brandInner.style.removeProperty('animation-timeline');
+ brandInner.style.removeProperty('animation');
+ }
+ if (mainNav){
+ mainNav.style.removeProperty('animation-range');
+ mainNav.style.removeProperty('animation-timeline');
+ mainNav.style.removeProperty('animation');
+ mainNav.style.removeProperty('transform');
+ }
+ if (postHeroLift){
+ postHeroLift.style.removeProperty('animation-range');
+ postHeroLift.style.removeProperty('animation-timeline');
+ postHeroLift.style.removeProperty('animation');
+ postHeroLift.style.removeProperty('transform');
+ delete postHeroLift.dataset.heroLiftExited;
+ }
+ if (clearSectionVars) clearSectionVars(section);
+ }
+
+ function ensurePostHeroLift(){
+ if (postHeroLift?.isConnected) return postHeroLift;
+ postHeroLift = section?.parentElement?.querySelector(':scope > .post-hero-lift') || null;
+ return postHeroLift;
+ }
+
+ function applyHeroScrollAnimations(range){
+ brandInner.style.animation = `${brandScaleAnimation} ease-out both`;
+ brandInner.style.animationTimeline = 'scroll(root block)';
+ brandInner.style.animationRange = range;
+ mainNav.style.animation = 'hero-nav-lift ease-out both';
+ mainNav.style.animationTimeline = 'scroll(root block)';
+ mainNav.style.animationRange = range;
+ ensurePostHeroLift();
+ if (postHeroLift){
+ postHeroLift.style.animation = 'hero-content-lift ease-out both';
+ postHeroLift.style.animationTimeline = 'scroll(root block)';
+ postHeroLift.style.animationRange = range;
+ postHeroLift.style.removeProperty('transform');
+ delete postHeroLift.dataset.heroLiftExited;
+ }
+ }
+
+ function setHeroMobileMode(enabled){
+ if (!section) return;
+ section.classList.toggle(mobileAnimClass, enabled);
+ section.classList.toggle(scrollDrivenClass, enabled && heroUseScrollTimeline);
+ if (enabled) ensurePostHeroLift();
+ }
+
+ function getHeroScrollRunwayMultiplier(){
+ return readCssPx('--hero-scroll-runway-multiplier', 1);
+ }
+
+ function getHeroEffectiveRunway(){
+ return heroRunway * getHeroScrollRunwayMultiplier();
+ }
+
+ function getHeroAnimationRange(){
+ return `${heroStartY}px ${heroStartY + getHeroEffectiveRunway()}px`;
+ }
+
+ function easeOutCubic(t){
+ return 1 - (1 - t) ** 3;
+ }
+
+ function getHeroScrollProgress(){
+ return Math.min(Math.max(window.scrollY - heroStartY, 0), getHeroEffectiveRunway());
+ }
+
+ function updateHeroContentLift(){
+ if (!heroIsMobile || prefersReducedMotion || !section){
+ if (postHeroLift) postHeroLift.style.removeProperty('transform');
+ return;
+ }
+
+ ensurePostHeroLift();
+ if (!postHeroLift) return;
+
+ if (heroUseScrollTimeline){
+ const exited = section.getBoundingClientRect().bottom <= 0;
+ if (exited){
+ if (postHeroLift.dataset.heroLiftExited !== '1'){
+ postHeroLift.style.animation = 'none';
+ postHeroLift.style.transform = 'translate3d(0, 0, 0)';
+ postHeroLift.dataset.heroLiftExited = '1';
+ }
+ return;
+ }
+ if (postHeroLift.dataset.heroLiftExited === '1'){
+ delete postHeroLift.dataset.heroLiftExited;
+ const range = getHeroAnimationRange();
+ postHeroLift.style.animation = 'hero-content-lift ease-out both';
+ postHeroLift.style.animationTimeline = 'scroll(root block)';
+ postHeroLift.style.animationRange = range;
+ postHeroLift.style.removeProperty('transform');
+ }
+ return;
+ }
+
+ if (section.getBoundingClientRect().bottom <= 0){
+ postHeroLift.style.transform = 'translate3d(0, 0, 0)';
+ return;
+ }
+ const navShift = getComputedStyle(heroRoot).getPropertyValue('--hero-nav-shift').trim() || '0px';
+ postHeroLift.style.transform = `translate3d(0, ${navShift}, 0)`;
+ }
+
+ function isHeroMobileViewport(){
+ return window.innerWidth < 600;
+ }
+
+ function getHeroMaxScale(){
+ const mobile = window.innerWidth < 600;
+ const scope = section || document.documentElement;
+ return readCssPx(mobile ? '--hero-max-scale-mobile' : '--hero-max-scale', mobile ? 1.6 : 2.2, scope);
+ }
+
+ function syncSiteHeaderHeight(){
+ if (!siteHeader) return;
+ const height = siteHeader.getBoundingClientRect().height;
+ document.documentElement.style.setProperty('--site-header-height', `${Math.ceil(height)}px`);
+ }
+
+ function getHeroBrandHeight(scale){
+ return cachedBaseHeight * scale + cachedBrandGap;
+ }
+
+ function getHeroStickyTop(){
+ return readCssPx('--site-header-height', 57) + readCssPx('--hero-stage-offset', 80);
+ }
+
+ function measureHero(){
+ syncSiteHeaderHeight();
+ heroIsMobile = isHeroMobileViewport();
+ lastHeroScrollStep = -1;
+
+ if (!brandInner || !brand || !section || !stage || prefersReducedMotion){
+ heroUseScrollTimeline = false;
+ setHeroMobileMode(false);
+ clearHeroAnimationVars();
+ syncFit();
+ return;
+ }
+
+ const gapScope = brandGapFromSection ? section : document.documentElement;
+ cachedBrandGap = readCssPx('--hero-brand-gap', 32, gapScope);
+ cachedMaxScale = getHeroMaxScale();
+ clearHeroAnimationVars();
+ brandInner.style.removeProperty('transform');
+
+ syncFit();
+ cachedBaseHeight = brandInner.offsetHeight;
+ if (heroIsMobile){
+ if (clampMobileScale){
+ cachedMaxScale = clampMobileScale(cachedMaxScale, brand, brandInner, section);
+ }
+ cachedMaxBrandHeight = getHeroBrandHeight(cachedMaxScale);
+ cachedMinBrandHeight = getHeroBrandHeight(1);
+ } else {
+ cachedMaxBrandHeight = getHeroBrandHeight(1);
+ cachedMinBrandHeight = getHeroBrandHeight(1 / cachedMaxScale);
+ }
+ cachedNavHeight = mainNav ? mainNav.offsetHeight : 0;
+ heroRunway = Math.max(cachedMaxBrandHeight - cachedMinBrandHeight, 0);
+ heroStartY = stage.getBoundingClientRect().top + window.scrollY - getHeroStickyTop();
+
+ heroUseScrollTimeline = heroIsMobile
+ && typeof CSS !== 'undefined'
+ && CSS.supports('animation-timeline', 'scroll()');
+
+ if (heroIsMobile){
+ setHeroMobileMode(true);
+ if (setMobileScaleVar){
+ section.style.setProperty('--hero-max-scale-mobile', cachedMaxScale.toFixed(4));
+ }
+ heroRoot.style.setProperty('--hero-brand-max-h', `${cachedMaxBrandHeight}px`);
+ heroRoot.style.setProperty('--hero-brand-min-h', `${cachedMinBrandHeight}px`);
+ heroRoot.style.setProperty('--hero-brand-height', `${cachedMaxBrandHeight}px`);
+ heroRoot.style.setProperty('--hero-stage-height', `${cachedMaxBrandHeight + cachedNavHeight}px`);
+ heroRoot.style.setProperty('--hero-nav-shift-max', `${-(cachedMaxBrandHeight - cachedMinBrandHeight)}px`);
+ if (heroUseScrollTimeline){
+ applyHeroScrollAnimations(getHeroAnimationRange());
+ }
+ } else {
+ setHeroMobileMode(false);
+ }
+
+ updateHeroBrand();
+ updateHeroContentLift();
+ }
+
+ function updateHeroBrand(){
+ if (!brandInner || !brand || !stage || prefersReducedMotion || cachedBaseHeight <= 0) return;
+ if (heroUseScrollTimeline) return;
+
+ const scrolled = getHeroScrollProgress();
+ const effectiveRunway = getHeroEffectiveRunway();
+ const linearProgress = effectiveRunway > 0 ? scrolled / effectiveRunway : 1;
+ const progress = easeOutCubic(Math.min(linearProgress, 1));
+
+ if (heroIsMobile){
+ const scale = cachedMaxScale - progress * (cachedMaxScale - 1);
+ const brandHeight = cachedBaseHeight * scale + cachedBrandGap;
+ const navShift = cachedMaxBrandHeight - brandHeight;
+
+ heroRoot.style.setProperty('--hero-scale', scale.toFixed(4));
+ heroRoot.style.setProperty('--hero-nav-shift', `${-navShift}px`);
+ updateHeroContentLift();
+ return;
+ }
+
+ if (scrolled === lastHeroScrollStep) return;
+ lastHeroScrollStep = scrolled;
+
+ const brandHeight = cachedMaxBrandHeight - progress * (cachedMaxBrandHeight - cachedMinBrandHeight);
+ const scale = (brandHeight - cachedBrandGap) / cachedBaseHeight;
+
+ heroRoot.style.setProperty('--hero-scale', scale.toFixed(4));
+ heroRoot.style.setProperty('--hero-brand-height', `${brandHeight}px`);
+ heroRoot.style.setProperty('--hero-stage-height', `${brandHeight + cachedNavHeight}px`);
+ }
+
+ let heroScrollRaf = 0;
+ let heroLastScrollY = -1;
+
+ function runHeroScrollFrame(){
+ heroScrollRaf = 0;
+ const scrollY = window.scrollY;
+
+ if (heroIsMobile) updateHeroContentLift();
+ if (!heroUseScrollTimeline) updateHeroBrand();
+
+ if (scrollY !== heroLastScrollY){
+ heroLastScrollY = scrollY;
+ scheduleHeroScrollFrame();
+ }
+ }
+
+ function scheduleHeroScrollFrame(){
+ if (heroScrollRaf) return;
+ heroScrollRaf = requestAnimationFrame(runHeroScrollFrame);
+ }
+
+ function onHeroScroll(){
+ scheduleHeroScrollFrame();
+ }
+
+ function initHeroAnimation(){
+ measureHero();
+ }
+
+ function scheduleHeroMeasure(){
+ clearTimeout(heroResizeTimer);
+ heroResizeTimer = setTimeout(initHeroAnimation, 120);
+ }
+
+ function getNavScrollOffset(){
+ return readCssPx('--site-header-height', 57) + 24;
+ }
+
+ function getSectionScrollInset(target){
+ const paddingTop = parseFloat(getComputedStyle(target).paddingTop);
+ return Number.isFinite(paddingTop) ? paddingTop : 0;
+ }
+
+ function scrollToSection(target){
+ const offset = getNavScrollOffset();
+ let top = target.getBoundingClientRect().top + window.scrollY - offset + getSectionScrollInset(target);
+ const belowHero = section
+ && (section.compareDocumentPosition(target) & Node.DOCUMENT_POSITION_FOLLOWING);
+ const canSubtractRunway = subtractRunwayOnMobile || !heroIsMobile;
+ if (belowHero && heroRunway > 0 && canSubtractRunway && window.scrollY < heroStartY + heroRunway){
+ top -= heroRunway;
+ }
+
+ window.scrollTo({
+ top: Math.max(top, 0),
+ behavior: prefersReducedMotion ? 'auto' : 'smooth'
+ });
+ }
+
+ window.addEventListener('scroll', onHeroScroll, { passive: true });
+ window.addEventListener('resize', scheduleHeroMeasure);
+ window.addEventListener('load', initHeroAnimation);
+
+ if (brandInner && window.ResizeObserver){
+ const heroResizeObserver = new ResizeObserver(scheduleHeroMeasure);
+ heroResizeObserver.observe(brandInner);
+ }
+
+ if (siteHeader && window.ResizeObserver){
+ const headerResizeObserver = new ResizeObserver(scheduleHeroMeasure);
+ headerResizeObserver.observe(siteHeader);
+ }
+
+ initHeroAnimation();
+
+ document.querySelectorAll('.main-nav a[href^="#"]').forEach(link => {
+ link.addEventListener('click', e => {
+ const target = document.querySelector(link.getAttribute('href'));
+ if (!target) return;
+
+ e.preventDefault();
+ scrollToSection(target);
+ });
+ });
+}
+
+// ---------- REVEAL ON SCROLL ----------
+function initReveal(){
+ const observer = new IntersectionObserver((entries) => {
+ entries.forEach(entry => {
+ if (entry.isIntersecting){
+ entry.target.classList.add('visible');
+ observer.unobserve(entry.target);
+ }
+ });
+ }, { threshold: 0.15 });
+
+ document.querySelectorAll('.reveal').forEach(el => observer.observe(el));
+}
+
+// ---------- МОДАЛКА + ФОРМА ----------
+function initContactForm(){
+ const modal = document.getElementById('contactModal');
+ document.getElementById('openContactForm').addEventListener('click', () => modal.classList.add('open'));
+ document.getElementById('closeContactForm').addEventListener('click', () => modal.classList.remove('open'));
+ modal.addEventListener('click', e => { if (e.target === modal) modal.classList.remove('open'); });
+
+ const form = document.getElementById('contactForm');
+ const status = document.getElementById('formStatus');
+
+ form.addEventListener('submit', async (e) => {
+ e.preventDefault();
+ status.textContent = form.dataset.statusLoading || '...';
+
+ const data = Object.fromEntries(new FormData(form).entries());
+
+ try {
+ const res = await fetch('/api/contact', {
+ method: 'POST',
+ headers: { 'Content-Type': 'application/json' },
+ body: JSON.stringify(data)
+ });
+ if (!res.ok) throw new Error('request_failed');
+ status.textContent = form.dataset.statusSuccess || '✓';
+ form.reset();
+ setTimeout(() => modal.classList.remove('open'), 1200);
+ } catch (err) {
+ status.textContent = form.dataset.statusError || 'Error';
+ }
+ });
+}
diff --git a/preview/en/index.html b/preview/en/index.html
new file mode 100644
index 0000000..2051526
--- /dev/null
+++ b/preview/en/index.html
@@ -0,0 +1,454 @@
+
+
+
+
+
+428th _ Crypto · Trading · Wealth Management
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
About
+
428th — part of the SIMPLE CRYPTO team
+
United by the idea of effective capital management. We've been working with crypto assets since 2018. We share our decisions with subscribers who respects. With those who don't — we don't.
+
+
+
+
Artemii
+
+ Manual and algo-trading
+ Automation
+
+
+
+
Ivan
+
+ FA and macro
+ Polymarket
+ Investing
+
+
+
+
Andrei
+
+ DeFi specialist
+ Retro hunter
+ Betting enthusiast
+
+
+
+
Danylo
+
+ Software engineer
+ TradFi maniac
+
+
+
+
+
+
+
+
+
+
Premium
+
Working together as the team
+
A private chat split into topics where we communicate with our members personally. UA/RU mostly.
+
+
+ 01 Every day — a conference call or technical video market review for Crypto + TradFi. Current situation, expectations, setup hunting, key levels.
+ 02 24/7 trend setups from proprietary algorithms on 15-min and 6h timeframes. Clear entry, stop, take-profit, and chart.
+ 03 Q&A, breakdowns of trading systems and tricks.
+ 04 Fundamental analysis of markets and assets.
+ 05 Recommendations on Retro, DeFi, and Polymarket.
+
+
+
+
+ Ways to join (any of these)
+
+
+ $500 for the educational course, with 12 months of Premium included. It's just easier for us to work with people who know the basics.
+ $50/month subscription. Don't want to learn — pay extra for laziness.
+ Connected BingX copy trading with a $3,000+ deposit. The top option for those who already trust us.
+ $500k+/month crypto volume on a partner Bybit or BingX account. For whales, all doors are open.
+
+
+
+
+
+
+
+
+
Education
+
Author's trading course
+
Each topic includes a text lecture and video practice. 1–1.5 months at your own pace. Lessons average 20 minutes. Price: $500.
+
+
+
+
What's included
+
+ Lifetime access to the student chat, course updates, conferences, proprietary indicators
+ All trading styles: intraday, medium-term, portfolio
+ Support from us and students from past cohorts
+
+
+
+
Methods
+
+ Classic TA + PA + VSA + LRA + SM
+ Proven nuances of common analysis methods
+ New approaches and strategies as you study and practice
+
+
+
+
+
+
Elliott Wave Analysis (EWA) isn't included yet — that's the next level. You can trade just fine without it. If you want, use our wave markings.
+
+
+
+
+
+
+
+
Copy Trading on BingX
+
Semi-automated trading
+
Artemii trades alongside bots on two futures master accounts — short-term and medium-term. Easy money button! (when it works)
+
+
+ 01 Two master accounts: short-term and medium-term futures trading.
+ 02 Available only for BingX referrals. Unlocks free Premium-group access.
+ 03 Connect if you're ready to experiment or trust us about as much as yourself — or more.
+
+
+
+
There's little stats so far and it doesn't mean much — the tech solution was just launched. Connect consciously.
+
+
+
+
+
+
+
+
Auto Trading _ Terminal
+
Automation via TradingView indicators
+
Got a working indicator that looks awesome but trading it manually is madness? Connect signals and watch it trade.
+
+
+ 01 Sign up, connect your BingX, ByBit, or MEXC account via API. You need to be our referral or pay up.
+ 02 Modify your script for our webhooks. It's not scary.
+ 03 Set up alerts, enjoy. The bot won't break if you trade alongside it and manually adjust its positions.
+ 04 Not much of a programmer? We'll help rewrite the script and get you connected — for free.
+
+
+
+
+
+
+
+
+
+
+ Fund
+ Closed to new participants (sorry, investments are in the red for now)
+
+
Multi-family office
+
For those who want to ride the crypto trend and earn from capital — without managing the market themselves.
+
+
+
+
To manage on your own you need
+
+ Time for constant market monitoring
+ A foundation for systematic analysis
+ Experience working safely with blockchains
+
+
+
+
Alternatively — trust us with everything
+
+ Capital planning and allocation
+ Position management
+ Reporting and payouts
+
+
+
+
+
+
If you work the market on your own — that's the best approach , and we support it fully.
+
If not — we provide access to crypto returns without diving into every action.
+
+
+
+
+
+
+
+
Crypto Admin Streams
+
admins.stream service
+
Admins come together to host a conference for subscribers and exchange traffic. Sponsors welcome.
+
+
+ 01 We assemble a group of admins, set talk topics, stream date, announcement posts schedule and prizes.
+ 02 Admins publish announcement posts, people register in a TG bot. They need to subscribe to each admin.
+ 03 All viewers are tracked — who came from where and all that. Anyone who floods with bots — gets banned. But we're prepared: captchas in the bot, captchas on stream.
+ 04 We run the conference — admins together on a call, and viewers watch the stream and chat in the broadcast interface.
+ 05 Among those who attended the conference (everyone gets a unique link), selected prizes are raffled off.
+ 06 Admins are happy with engaged live traffic, subscribers are happy with top-notch content and rewards.
+
+
+
+
Interested? Reach out, let's talk.
+
+
+
+
+
+
+
+
Exchange service
+
428th Exchange
+
Our partners for financial solutions. Simply the best. Work worldwide.
+
+
+ Buying and selling crypto for cash.
+ Working with bank cards and accounts.
+ Cash relocation.
+ Paying invoices and payment links.
+ Working with e-money and payment systems.
+ Paying CNY to AliPay and WeChat Pay cards.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/preview/en/terminal/index.html b/preview/en/terminal/index.html
new file mode 100644
index 0000000..606f4b6
--- /dev/null
+++ b/preview/en/terminal/index.html
@@ -0,0 +1,304 @@
+
+
+
+
+
+428th Terminal — auto trading via TradingView signals
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Features
+
Link a TradingView indicator with an exchange
+
Basically, that's the main reason we built the terminal. Say you or someone else has a great indicator:
+
+
+
+
Trade signals manually
+
+ You need to sit at your computer or phone 24/7
+ Easy to miss a signal
+ You might not get in on time
+
+
+
+
Connect to the terminal
+
+ Position opens automatically
+ Stop and take-profit set right away
+ If needed, do whatever you want with it manually
+
+
+
+
+
+
The point is to automate trading with an indicator you like.
+
+
+
+ 01 Sign up, connect your BingX, ByBit, or MEXC account via API. You need to be our referral or pay up.
+ 02 Modify your script for our webhooks. It's not scary.
+ 03 Set up alerts, enjoy. The bot won't break even if you trade alongside it and manually adjust its positions.
+ 04 Not much of a programmer? We'll help rewrite the script and get you connected — for free.
+
+
+
We originally built the terminal for auto trading with our own indicators. So it does exactly what we need:
+
+
+ Accepts webhooks from TradingView.
+ Opens positions on BingX, ByBit, or MEXC accordingly.
+ Accepts manual edits: you can close positions, reduce their sizes, or move SL/TPs on the exchange.
+ Shows trading statistics.
+
+
+
+
Now we're coming up with and adding new features. Want something? DM us.
+
+
+
+
+
+
+
+
Pricing
+
This is actually the fun part
+
Work for free if your account is our referral. If not — it'll be expensive :(
+
+
+ We couldn't come up with a payment option more convenient than the exchange partner system.
+ If it's really important for you to trade without our referral, you probably don't care how much you pay anyway.
+ Direct service payment — $500/month per API key.
+ Reminder: no payment needed for trading on a referral account. Your commission bonuses are enough for us.
+ If you're an influencer and a partner of your chosen exchange — DM us, we'll work something out.
+
+
+
+
Being our referral is cool either way.
+
+
+
+ 01 With $500k+/month in crypto volume, you get free Premium group access. More info — here .
+ 02 Your trading fees drop by 30-50%, and if you're a whale, we'll arrange cashbacks.
+ 03 Exchange questions or issues can be solved through us quickly. Especially on BingX — they're true bros for real.
+ 04 Downsides? None. Registration links are at the bottom of the page.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/preview/index.html b/preview/index.html
new file mode 100644
index 0000000..0a43578
--- /dev/null
+++ b/preview/index.html
@@ -0,0 +1,454 @@
+
+
+
+
+
+428th _ Crypto · Trading · Wealth Management
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Кто мы
+
428th — часть команды SIMPLE CRYPTO
+
Объединены идеей эффективного управления капиталом. С 2018 года работаем с крипто-активами. Своими решениями делимся с уважаемыми подписчиками. С неуважаемыми — не делимся.
+
+
+
+
Артемий
+
+ Ручной и алго-трейдинг
+ Автоматизация
+
+
+
+
Иван
+
+ ФА и макро
+ Polymarket
+ Инвестиции
+
+
+
+
Андрей
+
+ DeFi specialist
+ Retro hunter
+ Betting enthusiast
+
+
+
+
Данило
+
+ Software engineer
+ TradFi maniac
+
+
+
+
+
+
+
+
+
+
Premium
+
Работа в команде
+
Закрытый чат, разделённый на темы, в котором мы общаемся с вами лично.
+
+
+ 01 Каждый день — конференция или технический видео-обзор рынка Crypto + TradFi. Текущая ситуация, ожидания, поиск сетапов, расстановка ориентиров.
+ 02 24/7 трендовые сетапы от авторских алгоритмов по таймфреймам 15 мин и 6ч. Чёткий вход, стоп, тейк и график.
+ 03 Ответы на вопросы, разборы торговых систем и фишек.
+ 04 Фундаментальный разбор рынков и активов.
+ 05 Рекомендации по направлениям Retro, DeFi, Polymarket.
+
+
+
+
+ Варианты входа (любой из них)
+
+
+ 500$ за обучение, в подарок 12 месяцев подписки на Premium. Нам просто лучше работать с теми, кто знает базу.
+ Подписка 50$/мес. Не хотите учиться — доплата за лень.
+ Подключённый копитрейдинг BingX на депозит $3 000+. Топовый вариант для тех, кто уже доверяет.
+ Оборот криптой на партнёрском аккаунте Bybit или BingX на $500k+/мес. Для китов все двери открыты.
+
+
+
+
+
+
+
+
+
Обучение
+
Авторский курс по трейдингу
+
По каждой теме — текстовая лекция и видео-практика. 1-1.5 месяца в свободном режиме. Уроки по 20 минут в среднем. Цена 500$.
+
+
+
+
Что входит
+
+ Бессрочный доступ в чат учеников, обновления курса, конференции, авторские индикаторы
+ Все стили торговли: интрадей, среднесрок, портфель
+ Поддержка от нас и учеников прошлых потоков
+
+
+
+
Методы
+
+ Классический ТА + PA + VSA + LRA + SM
+ Проверенные тонкости распространённых методов анализа
+ Новые подходы и стратегии по мере изучения и отработки
+
+
+
+
+
+
Волнового анализа (EWA) сейчас нет — это следующий уровень. Торговать нормально и без него. По желанию — опирайтесь на наши разметки.
+
+
+
+
+
+
+
+
Копитрейдинг на BingX
+
Полуавтоматическая торговля
+
Артемий вместе с ботами торгует на двух фьючерсных мастер-аккаунтах — краткосрок и среднесрок. Кнопка бабло!
+
+
+ 01 Два мастер-аккаунта: краткосрочная и среднесрочная торговля на фьючерсах.
+ 02 Доступно только для рефералов BingX. Открывает возможность бесплатного входа в Premium.
+ 03 Подключайтесь, если готовы к эксперименту или доверяете нам примерно как себе — или сильнее.
+
+
+
+
Статистики пока мало и она ничего не даёт — техническое решение только запущено. Подключайтесь осознанно.
+
+
+
+
+
+
+
+
Автотрейдинг _ Terminal
+
Автоматизация по индикаторам TradingView
+
Есть рабочий индикатор, на вид офигенный, но работать руками — дичь? Подключайте сигналы и наблюдайте за торговлей.
+
+
+ 01 Регистрируетесь, подключаете по API аккаунт на BingX, ByBit или MEXC. Нужно быть нашим рефералом или дать денег.
+ 02 Модифицируете скрипт под наши webhook. Это не страшно.
+ 03 Настраиваете алерты, кайфуете. Бот не сломается, даже если вы будете торговать вместе с ним и менять его позиции руками.
+ 04 Вы не особо программист? Мы поможем переписать скрипт и подключиться — бесплатно.
+
+
+
+
+
+
+
+
+
+
+ Фонд
+ Закрыт для новых участников (сори, инвестиции пока в минусе)
+
+
Multi-family office
+
Для тех, кто хочет быть в крипто-тренде и получать доход от капитала — без самостоятельной работы с рынком.
+
+
+
+
Для самостоятельного управления нужно
+
+ Время на постоянное наблюдение за рынком
+ База для системного анализа
+ Опыт безопасной работы с блокчейнами
+
+
+
+
Как вариант — доверить всё нам
+
+ Планирование и распределение капитала
+ Управление позициями
+ Отчётность и выплаты
+
+
+
+
+
+
Если работаете с рынком своей головой и руками — это лучший подход , мы его поддерживаем максимально.
+
Если нет — мы предоставляем доступ к крипто-доходности без погружения в каждое действие.
+
+
+
+
+
+
+
+
Стримы крипто-админов
+
Сервис admins.stream
+
Админы собираются вместе, чтобы провести конференцию для подписчиков и обменяться трафиком. Можно подключить спонсоров.
+
+
+ 01 Собираем группу админов, фиксируем темы выступлений, дату стрима, расписание постов-анонсов, призы.
+ 02 Админы выпускают посты-анонсы, люди регистрируются в тг-боте. Им нужно подписаться на каждого админа.
+ 03 Все зрители фиксируются в базе, кто откуда пришёл и всё такое. Кто нальёт ботов — прибью. Но мы подготовились: капчи в боте, капчи на стриме.
+ 04 Проводим конференцию — админы на созвоне, а зрители смотрят стрим и могут пообщаться в чате трансляции.
+ 05 Среди тех, кто пришёл на конференцию (у всех индивидуальная ссылка), разыгрываются выбранные призы.
+ 06 Админы довольны живым заинтересованным трафиком, подписчики радуются качественному контенту и наградам.
+
+
+
+
Интересно? Обращайтесь, договоримся.
+
+
+
+
+
+
+
+
Обменный сервис
+
428th Exchange
+
Наши партнеры по решению финансовых вопросов. Просто лучшие. Работают по всему миру.
+
+
+ Покупка и продажа крипты за наличные.
+ Работа с банковскими картами и счетами.
+ Перестановка наличных.
+ Оплата инвойсов и ссылок.
+ Работа с электронными деньгами и платежными системами.
+ Оплата Юаня на карты AliPay, WeChat Pay.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/preview/styles.css b/preview/styles.css
new file mode 100644
index 0000000..a17481f
--- /dev/null
+++ b/preview/styles.css
@@ -0,0 +1,836 @@
+:root{
+ --bg:#000000;
+ --accent:#C4622A;
+ --heading:#F2F1EE;
+ --logo:#FFFFFF;
+ --text:#B4B2AC;
+ --border: rgba(255,255,255,0.14);
+ --card-bg: rgba(255,255,255,0.04);
+ --metal-fill: linear-gradient(180deg,
+ #ffffff 0%,
+ #f7f7f7 12%,
+ #ececec 24%,
+ #e0e0e0 38%,
+ #d2d2d2 52%,
+ #c8c8c8 66%,
+ #d0d0d0 80%,
+ #bdbdbd 100%
+ );
+ --transition: 0.35s ease;
+
+ /* Hero animation tuning — see comments in .hero block below */
+ --hero-logo-size: clamp(64px, 12vw, 140px);
+ --hero-tagline-ratio: calc(15 / 140);
+ --hero-tagline-fit: 1;
+ --hero-max-scale: 2.2;
+ --hero-max-scale-mobile: 1.6;
+ --hero-active-scale: var(--hero-max-scale);
+ --hero-scroll-runway-multiplier: 12;
+ --hero-brand-gap: 48px;
+ --hero-stage-offset: 28px;
+ --hero-bottom-gap: 80px;
+ --site-header-height: 57px;
+}
+
+*{box-sizing:border-box;}
+html,body{margin:0;padding:0;background:var(--bg);}
+
+body{
+ font-family:'Inter', -apple-system, sans-serif;
+ font-size:16px;
+ font-weight:300;
+ line-height:1.6;
+ background:var(--bg);
+ color:var(--text);
+ -webkit-font-smoothing:antialiased;
+ -moz-osx-font-smoothing:grayscale;
+ transition: background var(--transition), color var(--transition);
+ overflow-x:hidden;
+}
+
+.ambient{
+ position:fixed;
+ inset:0;
+ z-index:0;
+ pointer-events:none;
+ overflow:hidden;
+}
+.ambient::after{
+ content:'';
+ position:absolute;
+ inset:0;
+ opacity:0.045;
+ mix-blend-mode:overlay;
+ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
+}
+.ambient-glow{
+ /* Hollow ring centered off-canvas past the top-right corner.
+ The circle itself never enters the viewport; only the inner
+ falloff of the rim clips the upper-right. */
+ position:absolute;
+ inset:0;
+ filter:blur(48px);
+ transform-origin:118% -8%;
+ background:radial-gradient(circle 120vmax at 45% 50%,
+ transparent 0%,
+ transparent 22%,
+ rgba(255,255,255,0.035) 32%,
+ rgba(255,255,255,0.08) 42%,
+ rgba(255,255,255,0.15) 52%,
+ rgba(255,255,255,0.07) 62%,
+ transparent 74%
+ );
+ animation:ambient-breathe 8s ease-in-out infinite;
+}
+.ambient-orb{
+ display:none;
+}
+@keyframes ambient-breathe{
+ 0%,100%{opacity:0.78; transform:scale(1);}
+ 50%{opacity:1; transform:scale(1.018);}
+}
+@keyframes metal-sheen{
+ 0%,100%{background-position:0% 0%;}
+ 50%{background-position:0% 100%;}
+}
+@keyframes idle-float{
+ 0%,100%{transform:translateY(0);}
+ 50%{transform:translateY(-6px);}
+}
+
+.container {
+ max-width: 1120px;
+ margin: 0 auto;
+ padding: 0 24px;
+ width: 100%;
+}
+
+h1,h3,h5{
+ color:var(--heading);
+ font-weight:600;
+ margin:0 0 16px;
+}
+
+h2{
+ color:var(--heading);
+ font-size:clamp(36px, 5vw, 56px);
+ font-weight:200;
+ line-height:1.18;
+ letter-spacing:-0.005em;
+ margin:0 0 28px;
+}
+
+h4{
+ color:var(--text);
+ font-weight:400;
+ margin:0 0 16px;
+}
+
+a{color:var(--accent); text-decoration:none; transition:opacity var(--transition);}
+a:hover{opacity:0.7;}
+
+.fw-400{font-weight:400;}
+
+/* Header */
+.site-header{
+ position:sticky; top:0; z-index:50;
+ background:rgba(0,0,0,0.35);
+ backdrop-filter:blur(16px);
+ -webkit-backdrop-filter:blur(16px);
+ border-bottom:1px solid rgba(255,255,255,0.08);
+}
+main, .site-footer{
+ position:relative;
+ z-index:1;
+}
+.header-inner{
+ display:flex; justify-content:space-between; align-items:center;
+ padding-top:16px;
+ padding-bottom:16px;
+}
+.lang-switch{font-size:13px; letter-spacing:0.05em; display:flex; align-items:center; gap:6px; line-height:1; transform:translateY(1px);}
+.lang-switch a{
+ background:none; border:none; cursor:pointer; padding:0; margin:0;
+ color:var(--text); font-family:inherit; font-size:13px; font-weight:inherit;
+ line-height:1; display:inline-flex; align-items:center;
+ text-decoration:none;
+ transition: color var(--transition);
+}
+.lang-switch a.active{color:var(--accent); font-weight:500;}
+
+.header-actions{
+ display:flex; align-items:center; gap:28px; line-height:1;
+}
+.home-link{
+ font-size:13px; letter-spacing:0.05em; line-height:1;
+ color:var(--text); text-decoration:none;
+ font-family:inherit; font-weight:400;
+ display:inline-flex; align-items:center;
+ transform:translateY(1px);
+ transition: color var(--transition);
+}
+.home-link:hover{color:var(--accent);}
+
+/* Hero
+ Size: --hero-logo-size, --hero-active-scale (max render → scale down on scroll)
+ Motion: --hero-scroll-runway-multiplier — во сколько раз дольше скроллить (1 = как было)
+ Spacing: --hero-brand-gap — отступ под логотипом
+ --hero-stage-offset — отступ hero-stage от site-header
+ --hero-bottom-gap — отступ hero до следующей секции
+ Sticky: --site-header-height — высота шапки (JS) */
+.hero{
+ --hero-max-scale:1.95;
+ --hero-active-scale:var(--hero-max-scale);
+ --hero-logo-size:clamp(60px, 11vw, 128px);
+ position:relative;
+ padding-top:var(--hero-stage-offset);
+ padding-bottom:var(--hero-bottom-gap);
+ text-align:left;
+}
+.hero-stage{
+ position:sticky;
+ top:calc(var(--site-header-height) + var(--hero-stage-offset));
+ z-index:1;
+ contain:layout style;
+ height:var(--hero-stage-height, auto);
+}
+.hero-brand{
+ position:relative;
+ left:0;
+ padding-bottom:var(--hero-brand-gap);
+ overflow:hidden;
+ contain:layout style;
+ height:var(--hero-brand-height, auto);
+}
+.hero-brand-inner{
+ position:absolute;
+ left:0;
+ top:0;
+ transform-origin:left top;
+ transform:translate3d(0, 0, 0) scale(var(--hero-scale, 1));
+ will-change:transform;
+ backface-visibility:hidden;
+ -webkit-backface-visibility:hidden;
+}
+.hero-brand-lockup{
+ display:inline-grid;
+ grid-template-columns:max-content;
+}
+.logo{
+ position:relative;
+ font-size:var(--hero-logo-size);
+ font-weight:600;
+ letter-spacing:-0.03em;
+ line-height:0.9;
+ margin:0 0 8px -0.022em;
+ color:transparent;
+ background-image:var(--metal-fill);
+ background-size:100% 180%;
+ background-position:0% 0%;
+ -webkit-background-clip:text;
+ background-clip:text;
+ filter:drop-shadow(0 0 0.35px rgba(210,210,210,0.55));
+ animation:metal-sheen 10s ease-in-out infinite;
+}
+.tagline{
+ font-size:calc(var(--hero-logo-size) * var(--hero-tagline-ratio) * var(--hero-tagline-fit, 1));
+ letter-spacing:0.08em;
+ text-transform:uppercase;
+ color:var(--text);
+ margin:0;
+ white-space:nowrap;
+ width:0;
+ min-width:100%;
+}
+@media (prefers-reduced-motion: no-preference){
+ .hero-brand-inner .logo{
+ font-size:calc(var(--hero-logo-size) * var(--hero-active-scale));
+ margin-bottom:calc(8px * var(--hero-active-scale));
+ }
+ .hero-brand-inner .tagline{
+ font-size:calc(var(--hero-logo-size) * var(--hero-tagline-ratio) * var(--hero-active-scale) * var(--hero-tagline-fit, 1));
+ }
+}
+@media (prefers-reduced-motion: no-preference) and (max-width:600px){
+ .hero-brand-inner .logo{
+ font-size:var(--hero-logo-size);
+ margin-bottom:8px;
+ }
+ .hero-brand-inner .tagline{
+ font-size:calc(var(--hero-logo-size) * var(--hero-tagline-ratio) * var(--hero-tagline-fit, 1));
+ }
+}
+.main-nav{
+ display:flex;
+ flex-wrap:wrap;
+ justify-content:stretch;
+ gap:12px 16px;
+ width:100%;
+ border:none;
+ padding:0;
+ overflow:visible;
+}
+.main-nav a{
+ position:relative;
+ display:inline-flex;
+ align-items:center;
+ justify-content:center;
+ flex:1 1 calc(25% - 12px);
+ max-width:none;
+ box-sizing:border-box;
+ min-height:48px;
+ padding:0 12px;
+ font-size:15px;
+ line-height:1;
+ color:var(--text);
+ letter-spacing:0.03em;
+ text-align:center;
+ border-radius:999px;
+ border:1px solid rgba(255,255,255,0.09);
+ background:linear-gradient(165deg, rgba(255,255,255,0.028) 0%, rgba(255,255,255,0.006) 42%, rgba(255,255,255,0.014) 100%);
+ backdrop-filter:blur(22px) saturate(1.35);
+ -webkit-backdrop-filter:blur(22px) saturate(1.35);
+ box-shadow:inset 0 1px 0 rgba(255,255,255,0.07);
+ overflow:visible;
+ will-change:transform;
+ transition: background var(--transition), color var(--transition), border-color var(--transition);
+}
+.main-nav a:hover,
+.main-nav a:focus-visible{
+ z-index:2;
+ background:linear-gradient(165deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 100%);
+ color:var(--heading);
+ border-color:rgba(255,255,255,0.18);
+ opacity:1;
+}
+.main-nav a:focus-visible{
+ outline:none;
+ box-shadow:inset 0 1px 0 rgba(255,255,255,0.1), 0 0 0 2px #000, 0 0 0 4px rgba(255,255,255,0.28);
+}
+.main-nav .nav-cta{
+ color:var(--accent);
+ overflow:hidden;
+}
+.main-nav .nav-cta > span:first-child{
+ display:inline-block;
+ transition:transform 0.3s ease;
+}
+.main-nav .nav-cta .btn-arrow{
+ position:absolute;
+ right:14px;
+ opacity:0;
+ transform:translateX(18px);
+ transition:transform 0.3s ease, opacity 0.3s ease;
+}
+.main-nav .nav-cta:hover,
+.main-nav .nav-cta:focus-visible{
+ background:var(--accent);
+ color:#fff;
+ border-color:var(--accent);
+}
+.main-nav .nav-cta:hover > span:first-child,
+.main-nav .nav-cta:focus-visible > span:first-child{transform:translateX(-8px);}
+.main-nav .nav-cta:hover .btn-arrow,
+.main-nav .nav-cta:focus-visible .btn-arrow{opacity:1; transform:translateX(0);}
+
+/* Sections */
+.section{
+ --section-padding-y:80px;
+ padding:var(--section-padding-y) 0;
+ border-top:1px solid var(--border);
+ scroll-margin-top:calc(var(--site-header-height) + 24px + var(--section-padding-y));
+}
+.eyebrow{
+ display:inline-block; font-size:17px; font-weight:400;
+ letter-spacing:0.1em;
+ color:var(--accent); text-transform:uppercase;
+ vertical-align:middle; margin-bottom:16px;
+}
+.section-labels{
+ display:flex; align-items:center; flex-wrap:wrap;
+ gap:12px; margin-bottom:16px;
+}
+.section-labels .eyebrow{margin-bottom:0;}
+.section-labels .badge{margin-left:0;}
+.badge{
+ display:inline-block; vertical-align:middle;
+ margin-left:12px; padding:4px 10px;
+ font-size:12px; border:1px solid var(--border); border-radius:4px;
+ color:var(--text);
+}
+.lead{
+ width:100%;
+ max-width:none;
+ margin-bottom:40px;
+}
+
+.numbered-list{list-style:none; margin:0 0 32px; padding:0;}
+.numbered-list li{
+ display:grid;
+ grid-template-columns:28px 20px 1px 20px minmax(0, 1fr);
+ align-items:center;
+ padding:20px 0;
+ border-top:1px solid var(--border);
+}
+.numbered-list li::before{
+ content:'';
+ grid-column:3;
+ grid-row:1;
+ width:1px;
+ background:var(--border);
+ align-self:stretch;
+}
+.numbered-list li:first-child{border-top:none;}
+.num{
+ grid-column:1;
+ display:flex;
+ align-items:center;
+ justify-content:center;
+ color:var(--accent);
+ font-weight:500;
+}
+.numbered-list p{grid-column:5; margin:0; line-height:1.7;}
+
+.dash-list{list-style:none; padding:0; margin:0;}
+.dash-list--block{margin-bottom:32px;}
+.dash-list li{
+ position:relative; padding-left:28px; margin-bottom:14px;
+}
+.dash-list li::before{
+ content:"—"; position:absolute; left:0; color:var(--accent);
+}
+
+.two-col{display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-bottom:32px;}
+.two-col h4{
+ font-size:15px; font-weight:600; color:var(--text);
+ line-height:1.3; margin-bottom:16px;
+ text-transform:uppercase; letter-spacing:0.05em;
+}
+
+.note-box,
+.two-col > div,
+.team-card,
+.entry-options{
+ border:1px solid rgba(255,255,255,0.09);
+ border-radius:18px;
+ background:linear-gradient(165deg, rgba(255,255,255,0.028) 0%, rgba(255,255,255,0.006) 42%, rgba(255,255,255,0.014) 100%);
+ backdrop-filter:blur(22px) saturate(1.35);
+ -webkit-backdrop-filter:blur(22px) saturate(1.35);
+ box-shadow:
+ inset 0 1px 0 rgba(255,255,255,0.07),
+ inset 0 -1px 0 rgba(255,255,255,0.02);
+}
+.note-box{
+ border-left:2px solid var(--accent);
+ padding:24px 28px;
+}
+.two-col > div{
+ padding:24px 26px;
+}
+.note-box:not(:last-child){margin-bottom:32px;}
+.note-box p{margin:0 0 8px; line-height:1.6;}
+.note-box p:last-child{margin:0;}
+
+.numbered-list + .lead{margin-top:40px;}
+
+.team-grid{
+ display:grid;
+ grid-template-columns:repeat(4, minmax(0, 1fr));
+ justify-content:stretch;
+ align-items:stretch;
+ gap:16px;
+ width:100%;
+ max-width:100%;
+ margin-top:32px;
+ box-sizing:border-box;
+}
+.team-card{
+ position:relative;
+ text-align:left;
+ padding:22px 16px;
+ min-width:0;
+}
+.team-card h3{
+ font-size:16px;
+ line-height:1.2;
+ margin-bottom:16px;
+ white-space:nowrap;
+}
+.team-card ul{list-style:none; padding:0; margin:0;}
+.team-card li{
+ margin-bottom:6px;
+ color:var(--text);
+ font-size:14px;
+ white-space:nowrap;
+}
+.team-card .dash-list li{padding-left:20px;}
+
+.entry-options{
+ margin-top:8px;
+ padding:24px 28px;
+}
+.entry-options .dash-list li:last-child{margin-bottom:0;}
+.sublabel{
+ font-size:13px; text-transform:uppercase;
+ letter-spacing:0.05em; color:var(--text);
+ font-weight:600; display:block; margin-bottom:16px;
+}
+.sublabel-note{color:#9A9A94; font-weight:600;}
+
+.more-link{font-size:inherit;}
+
+.contact-section{text-align:center;}
+.contact-section .eyebrow{margin-bottom:36px;}
+.center{
+ display:flex; flex-direction:column; align-items:center;
+ gap:0;
+}
+.contact-section .center > p:first-of-type{margin:0 0 16px;}
+.contact-section .center > p:nth-of-type(2){margin:0 0 36px;}
+.btn-outline{
+ position:relative;
+ display:inline-flex;
+ align-items:center;
+ justify-content:center;
+ overflow:hidden;
+ border:1px solid var(--accent); color:var(--accent);
+ padding:12px 28px; border-radius:999px; font-size:14px; font-weight:400;
+ margin-bottom:28px;
+ transition: background var(--transition), color var(--transition);
+ animation:idle-float 8s ease-in-out infinite;
+ animation-delay:-2.5s;
+}
+.btn-outline > span:first-child{
+ display:inline-block;
+ transition:transform 0.3s ease;
+}
+.btn-outline .btn-arrow{
+ position:absolute;
+ right:14px;
+ opacity:0;
+ transform:translateX(18px);
+ transition:transform 0.3s ease, opacity 0.3s ease;
+}
+.btn-outline:hover,
+.btn-outline:focus-visible{background:var(--accent); color:#fff; opacity:1;}
+.btn-outline:hover > span:first-child,
+.btn-outline:focus-visible > span:first-child{transform:translateX(-8px);}
+.btn-outline:hover .btn-arrow,
+.btn-outline:focus-visible .btn-arrow{opacity:1; transform:translateX(0);}
+.link-underline{
+ background:none; border:none; cursor:pointer;
+ color:var(--text); text-decoration:underline; font-family:inherit; font-size:13px;
+}
+
+/* Footer */
+.site-footer{
+ border-top:1px solid var(--border);
+ padding:48px 0 24px;
+ font-size:13px;
+}
+.site-footer h5{
+ font-size:12px; text-transform:uppercase;
+ letter-spacing:0.05em; color:var(--text);
+}
+.site-footer .dash-list{margin-top:8px;}
+.footer-bottom{
+ display:flex; justify-content:space-between; align-items:center;
+ margin-top:40px; padding-top:24px;
+ border-top:1px solid var(--border);
+ font-size:12px; color:var(--text);
+}
+.footer-wolf{
+ font-size:1.5em;
+ line-height:1;
+ opacity:1;
+}
+.footer-copy{opacity:0.7;}
+
+/* Modal */
+.modal-overlay{
+ position:fixed; inset:0; background:rgba(0,0,0,0.5);
+ display:flex; align-items:center; justify-content:center;
+ opacity:0; visibility:hidden; transition: opacity var(--transition);
+ z-index:100;
+}
+.modal-overlay.open{opacity:1; visibility:visible;}
+.modal-box{
+ background:var(--bg);
+ border:1px solid rgba(255,255,255,0.28);
+ border-radius:8px; padding:32px;
+ max-width:420px; width:90%; position:relative;
+ transform:translateY(20px); transition:transform var(--transition);
+}
+.modal-overlay.open .modal-box{transform:translateY(0);}
+.modal-close{
+ position:absolute; top:12px; right:16px; background:none; border:none;
+ font-size:22px; cursor:pointer; color:var(--text);
+}
+#contactForm label{display:block; margin-bottom:20px; font-size:13px; color:var(--text);}
+#contactForm .hp-field{
+ position:absolute !important;
+ left:-10000px !important;
+ top:auto !important;
+ width:1px !important;
+ height:1px !important;
+ margin:0 !important;
+ padding:0 !important;
+ overflow:hidden !important;
+ clip:rect(0,0,0,0) !important;
+ border:0 !important;
+ opacity:0 !important;
+ pointer-events:none !important;
+}
+#contactForm .hp-field input{
+ width:1px !important;
+ height:1px !important;
+ margin:0 !important;
+ padding:0 !important;
+ border:0 !important;
+}
+#contactForm input, #contactForm textarea{
+ width:100%; margin-top:6px; padding:10px; border:1px solid var(--border);
+ border-radius:4px; background:transparent; color:var(--heading); font-family:inherit;
+ font-size:14px; font-weight:400;
+}
+.btn-solid{
+ background:var(--accent); color:#fff; border:none;
+ padding:12px 24px; border-radius:999px; cursor:pointer; width:100%;
+}
+.form-status{font-size:13px; margin-top:12px; min-height:16px;}
+
+/* Reveal animation */
+.reveal{opacity:0; transform:translateY(18px); transition: opacity 0.8s ease, transform 0.8s ease;}
+.reveal.visible{opacity:1; transform:translateY(0);}
+
+@media (prefers-reduced-motion: reduce){
+ .hero-stage,
+ .terminal-stage{position:static; height:auto !important;}
+ .hero-brand,
+ .terminal-brand{height:auto !important;}
+ .hero-brand-inner,
+ .terminal-brand-inner{position:static; transform:none !important; will-change:auto; animation:none !important;}
+ .hero--mobile-anim .main-nav,
+ .terminal--mobile-anim .main-nav{transform:none !important; animation:none !important;}
+ .ambient-glow,
+ .ambient-orb,
+ .logo,
+ .terminal-logo-main,
+ .btn-outline{animation:none !important; filter:none;}
+ .main-nav a{transform:none !important; will-change:auto;}
+}
+
+/* Mobile: compositor-only hero animation (no height changes while scrolling) */
+@media (max-width:600px){
+ .hero--mobile-anim .hero-stage,
+ .hero--mobile-anim .hero-brand{
+ contain:none;
+ }
+ .hero--mobile-anim .main-nav{
+ transform:translate3d(0, var(--hero-nav-shift, 0), 0);
+ will-change:transform;
+ backface-visibility:hidden;
+ -webkit-backface-visibility:hidden;
+ }
+ .post-hero-lift{
+ will-change:transform;
+ backface-visibility:hidden;
+ -webkit-backface-visibility:hidden;
+ }
+}
+
+@media (max-width:600px){
+ .terminal--mobile-anim .terminal-stage,
+ .terminal--mobile-anim .terminal-brand{
+ contain:none;
+ }
+ .terminal--mobile-anim .main-nav{
+ transform:translate3d(0, var(--hero-nav-shift, 0), 0);
+ will-change:transform;
+ backface-visibility:hidden;
+ -webkit-backface-visibility:hidden;
+ }
+}
+
+@supports (animation-timeline: scroll(root)){
+ @media (prefers-reduced-motion: no-preference) and (max-width:600px){
+ .hero--scroll-driven .hero-brand-inner{
+ will-change:transform;
+ }
+ .hero--scroll-driven .main-nav{
+ will-change:transform;
+ }
+ .hero--scroll-driven + .post-hero-lift{
+ will-change:transform;
+ }
+ .terminal--scroll-driven .terminal-brand-inner,
+ .terminal--scroll-driven .main-nav{
+ will-change:transform;
+ }
+ .terminal--scroll-driven + .post-hero-lift{
+ will-change:transform;
+ }
+ }
+}
+
+@keyframes hero-brand-scale{
+ from{transform:translate3d(0, 0, 0) scale(var(--hero-max-scale-mobile));}
+ to{transform:translate3d(0, 0, 0) scale(1);}
+}
+@keyframes terminal-brand-scale{
+ from{transform:translate3d(-50%, 0, 0) scale(var(--hero-max-scale-mobile));}
+ to{transform:translate3d(-50%, 0, 0) scale(1);}
+}
+@keyframes hero-nav-lift{
+ from{transform:translate3d(0, 0, 0);}
+ to{transform:translate3d(0, var(--hero-nav-shift-max), 0);}
+}
+@keyframes hero-content-lift{
+ from{transform:translate3d(0, 0, 0);}
+ to{transform:translate3d(0, var(--hero-nav-shift-max), 0);}
+}
+
+/* Terminal landing page — hero + 3-col nav */
+.terminal-hero{
+ --hero-max-scale:2.55;
+ --hero-active-scale:var(--hero-max-scale);
+ --hero-logo-size:clamp(72px, 13.5vw, 158px);
+ --hero-terminal-overflow:1.14;
+ --hero-brand-gap:var(--hero-bottom-gap);
+ position:relative;
+ padding-top:var(--hero-stage-offset);
+ padding-bottom:var(--hero-bottom-gap);
+ text-align:center;
+ overflow:visible;
+}
+.terminal-stage{
+ position:sticky;
+ top:calc(var(--site-header-height) + var(--hero-stage-offset));
+ z-index:1;
+ contain:layout style;
+ height:var(--hero-stage-height, auto);
+}
+.terminal-brand{
+ position:relative;
+ padding-bottom:var(--hero-brand-gap);
+ overflow:visible;
+ contain:layout style;
+ height:var(--hero-brand-height, auto);
+}
+.terminal-brand-inner{
+ position:absolute;
+ left:50%;
+ top:0;
+ transform-origin:center top;
+ transform:translate3d(-50%, 0, 0) scale(var(--hero-scale, 1));
+ will-change:transform;
+ backface-visibility:hidden;
+ -webkit-backface-visibility:hidden;
+}
+.terminal-logo{
+ display:inline-flex;
+ align-items:baseline;
+ gap:0.06em;
+ font-size:var(--hero-logo-size);
+ font-weight:600;
+ letter-spacing:-0.03em;
+ line-height:0.9;
+ color:var(--logo);
+ margin:0;
+}
+.terminal-logo .accent{
+ color:var(--accent);
+ font-size:0.62em;
+}
+.terminal-logo-main{
+ position:relative;
+ color:transparent;
+ background-image:var(--metal-fill);
+ background-size:100% 180%;
+ background-position:0% 0%;
+ -webkit-background-clip:text;
+ background-clip:text;
+ filter:drop-shadow(0 0 0.35px rgba(210,210,210,0.55));
+ animation:metal-sheen 10s ease-in-out infinite;
+}
+@media (prefers-reduced-motion: no-preference){
+ .terminal-brand-inner .terminal-logo{
+ font-size:calc(var(--hero-logo-size) * var(--hero-active-scale) * var(--hero-terminal-fit, 1));
+ }
+}
+@media (prefers-reduced-motion: no-preference) and (max-width:600px){
+ .terminal-brand-inner .terminal-logo{
+ font-size:calc(var(--hero-logo-size) * var(--hero-terminal-fit, 1));
+ }
+}
+.terminal-nav{
+ justify-content:center;
+ width:100%;
+}
+.terminal-nav a{
+ flex:1 1 calc(33.333% - 11px);
+ max-width:none;
+}
+
+/* Responsive */
+@media (max-width:900px){
+ .section{--section-padding-y:64px;}
+ .main-nav:not(.terminal-nav) a{
+ flex:1 1 calc(50% - 8px);
+ max-width:none;
+ }
+ .two-col{grid-template-columns:1fr;}
+}
+@media (max-width:600px){
+ .header-inner{
+ padding-top:12px;
+ padding-bottom:12px;
+ }
+ .hero{
+ padding-top:var(--hero-stage-offset);
+ padding-bottom:var(--hero-bottom-gap);
+ }
+ .terminal-hero{
+ --hero-terminal-overflow:1;
+ }
+ :root{
+ --site-header-height: 49px;
+ --hero-logo-size: clamp(72px, 18vw, 120px);
+ --hero-brand-gap: 24px;
+ --hero-bottom-gap: 24px;
+ --hero-max-scale-mobile: 2;
+ --hero-active-scale: 1;
+ }
+ .section{--section-padding-y:48px;}
+ .main-nav:not(.terminal-nav) a{
+ flex:1 1 calc(50% - 8px);
+ max-width:none;
+ min-height:44px;
+ padding:0 12px;
+ font-size:14px;
+ }
+ .terminal-nav,
+ .terminal-nav a{
+ width:100%;
+ }
+ .terminal-nav a{
+ flex:1 1 100%;
+ max-width:100%;
+ min-height:44px;
+ padding:0 12px;
+ font-size:14px;
+ }
+ h2{font-size:clamp(28px, 8vw, 40px);}
+ .team-grid{
+ grid-template-columns:1fr;
+ justify-content:stretch;
+ gap:24px;
+ }
+ .team-card,
+ .team-card--ivan,
+ .team-card--andrey,
+ .team-card--danylo{
+ padding:20px 16px;
+ text-align:left;
+ }
+}
\ No newline at end of file
diff --git a/preview/terminal.js b/preview/terminal.js
new file mode 100644
index 0000000..adbfc4b
--- /dev/null
+++ b/preview/terminal.js
@@ -0,0 +1,48 @@
+initLangSwitch();
+initNavMagnet();
+
+const terminalHero = document.querySelector('.terminal-hero');
+const terminalBrand = document.querySelector('.terminal-brand');
+const terminalBrandInner = document.getElementById('terminalBrandInner');
+
+function syncTerminalLogoFit(){
+ const logo = terminalBrandInner?.querySelector('.terminal-logo');
+ if (!logo || !terminalBrand) return;
+
+ document.documentElement.style.setProperty('--hero-terminal-fit', '1');
+ const brandWidth = terminalBrand.clientWidth;
+ const logoW = terminalBrandInner.offsetWidth;
+ const overflow = readCssPx('--hero-terminal-overflow', 1, terminalHero);
+ const targetWidth = brandWidth * overflow;
+ const fit = logoW > 0 ? targetWidth / logoW : 1;
+ document.documentElement.style.setProperty('--hero-terminal-fit', fit.toFixed(4));
+}
+
+initHeroScroll({
+ section: terminalHero,
+ stage: document.querySelector('.terminal-stage'),
+ brand: terminalBrand,
+ brandInner: terminalBrandInner,
+ mobileAnimClass: 'terminal--mobile-anim',
+ scrollDrivenClass: 'terminal--scroll-driven',
+ brandScaleAnimation: 'terminal-brand-scale',
+ syncFit: syncTerminalLogoFit,
+ brandGapFromSection: true,
+ setMobileScaleVar: true,
+ subtractRunwayOnMobile: true,
+ clearSectionVars(section){
+ if (section) section.style.removeProperty('--hero-max-scale-mobile');
+ },
+ clampMobileScale(maxScale, brand, brandInner, section){
+ const brandWidth = brand.clientWidth;
+ const unscaledWidth = brandInner.offsetWidth;
+ const overflow = readCssPx('--hero-terminal-overflow', 1, section);
+ if (brandWidth > 0 && unscaledWidth > 0){
+ return Math.min(maxScale, (brandWidth * overflow) / unscaledWidth);
+ }
+ return maxScale;
+ }
+});
+
+initReveal();
+initContactForm();
diff --git a/preview/terminal/index.html b/preview/terminal/index.html
new file mode 100644
index 0000000..d4d48ee
--- /dev/null
+++ b/preview/terminal/index.html
@@ -0,0 +1,304 @@
+
+
+
+
+
+428th Terminal — автотрейдинг по TradingView сигналам
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Функционал
+
Связать TradingView индикатор с биржей
+
В общем, это главное, для чего мы сделали терминал. Предположим, у вас или у кого-то есть крутой индикатор:
+
+
+
+
Торговать по сигналам руками
+
+ Надо сидеть 24/7 у компа или телефона
+ Легко пропустить сигнал
+ Можно не успеть войти
+
+
+
+
Подключить к терминалу
+
+ Позиция откроется автоматически
+ Сразу поставит стоп и тейк
+ Если нужно, делайте с ней руками что угодно
+
+
+
+
+
+
Смысл в том, чтобы автоматизировать торговлю по индикатору, который вам нравится.
+
+
+
+ 01 Регистрируетесь, подключаете по API аккаунт на BingX, ByBit или MEXC. Нужно быть нашим рефералом или дать денег.
+ 02 Модифицируете скрипт под наши Webhook. Это не страшно.
+ 03 Настраиваете алерты, кайфуете. Бот не сломается, даже если вы будете торговать вместе с ним и менять его позиции руками.
+ 04 Вы не особо программист? Мы поможем переписать скрипт и подключиться — бесплатно.
+
+
+
Изначально мы делали терминал для автотрейдинга по своим индикаторам. Поэтому он делает ровно то, что нам нужно:
+
+
+ Принимает Webhook c TradingView.
+ Реализует на его основе позицию на BingX, ByBit или MEXC.
+ Принимает ручные правки: на бирже позицию можно закрыть, сократить, подвинуть стоп или тейк.
+ Показывает торговую статистику.
+
+
+
+
Теперь мы придумываем и добавляем новые функции. Если что-то хотите — напишите в лс.
+
+
+
+
+
+
+
+
Цены
+
Это самое смешное
+
Работайте бесплатно, если ваш аккаунт — наш реферал. Если нет — будет дорого :(
+
+
+ Мы не смогли придумать вариант оплаты, который удобнее, чем биржевая партнерская система.
+ Если вам очень важно торговать без нашей рефералки, значит вам и так пофиг сколько платить.
+ Цена за прямую оплату сервиса — $500 в месяц за каждый API ключ.
+ Напомним, за торговлю на реферальном аккаунте платить не нужно. Нам хватит бонусов от ваших комиссий.
+ А если вы инфлюенсер и партнер выбранной для работы биржи — напишите в лс, договоримся.
+
+
+
+
Быть нашим рефералом — круто в любом случае.
+
+
+
+ 01 При обороте криптой $500k+ в месяц вы станете участником Premium группы бесплатно. Больше инфы — здесь .
+ 02 Ваша комиссия за торговлю станет ниже на 30-50%, а если вы вообще кит, то договоримся на кешбеки.
+ 03 Ваши вопросы или проблемы с биржей можно решить через нас и быстро. Особенно на BingX, там братья вообще.
+ 04 Минусы? Их нет. А ссылки для регистрации — внизу страницы.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/preview/ua/index.html b/preview/ua/index.html
new file mode 100644
index 0000000..1e99473
--- /dev/null
+++ b/preview/ua/index.html
@@ -0,0 +1,454 @@
+
+
+
+
+
+428th _ Crypto · Trading · Wealth Management
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Хто ми
+
428th — частина команди SIMPLE CRYPTO
+
Об'єднані ідеєю ефективного управління капіталом. З 2018 року працюємо з крипто-активами. Своїми рішеннями ділимося з шанобливими підписниками. З нешанобливими — не ділимося.
+
+
+
+
Артемій
+
+ Ручний та алго-трейдинг
+ Автоматизація
+
+
+
+
Іван
+
+ ФА і макро
+ Polymarket
+ Інвестиції
+
+
+
+
Андрій
+
+ DeFi specialist
+ Retro hunter
+ Betting enthusiast
+
+
+
+
Данило
+
+ Software engineer
+ TradFi maniac
+
+
+
+
+
+
+
+
+
+
Premium
+
Робота в команді
+
Закритий чат, розділений на теми, в якому ми спілкуємося з вами особисто. В основному російською, але кому як зручно.
+
+
+ 01 Щодня — конференція або технічний відео-огляд ринку Crypto + TradFi. Поточна ситуація, очікування, пошук сетапів, орієнтири.
+ 02 24/7 трендові сетапи від авторських алгоритмів за таймфреймами 15 хв і 6 год. Чіткий вхід, стоп, тейк і графік.
+ 03 Відповіді на питання, розбори торгових систем і фішок.
+ 04 Фундаментальний розбір ринків і активів.
+ 05 Рекомендації щодо напрямків Retro, DeFi, Polymarket.
+
+
+
+
+ Варіанти входу (будь-який з них)
+
+
+ 500$ за навчання, у подарунок 12 місяців підписки на Premium. Нам просто краще працювати з тими, хто знає базу.
+ Підписка 50$/міс. Не хочете вчитися — доплата за лінь.
+ Підключений копітрейдинг BingX на депозит $3 000+. Топовий варіант для тих, хто вже довіряє.
+ Оборот криптою на партнерському акаунті Bybit або BingX на $500k+/міс. Для китів усі двері відкриті.
+
+
+
+
+
+
+
+
+
Навчання
+
Авторський курс з трейдингу
+
За кожною темою — текстова лекція і відео-практика. 1–1,5 місяці у вільному режимі. Уроки по 20 хвилин в середньому. Ціна 500$.
+
+
+
+
Що входить
+
+ Безстроковий доступ у чат учнів, оновлення курсу, конференції, авторські індикатори
+ Усі стилі торгівлі: інтрадей, середньострок, портфель
+ Підтримка від нас і учнів минулих потоків
+
+
+
+
Методи
+
+ Класичний ТА + PA + VSA + LRA + SM
+ Перевірені тонкощі поширених методів аналізу
+ Нові підходи і стратегії в міру вивчення та відпрацювання
+
+
+
+
+
+
Теорії хвиль Елліота (EWA) зараз немає — це наступний рівень. Торгувати нормально можна і без нього. За бажанням — спирайтеся на наші розмітки.
+
+
+
+
+
+
+
+
Копітрейдинг на BingX
+
Напівавтоматична торгівля
+
Артемій разом із ботами торгує на двох ф'ючерсних мастер-акаунтах — короткострок і середньострок. Кнопка бабло!
+
+
+ 01 Два мастер-акаунти: короткострокова і середньострокова торгівля на ф'ючерсах.
+ 02 Доступно лише для рефералів BingX. Відкриває можливість безкоштовного входу в Premium.
+ 03 Підключайтеся, якщо готові до експерименту або довіряєте нам приблизно як собі — або сильніше.
+
+
+
+
Статистики поки мало і вона нічого не дає — технічне рішення лише нещодавно почало працювати. Підключайтеся усвідомлено.
+
+
+
+
+
+
+
+
Автотрейдинг _ Terminal
+
Автоматизація за індикаторами TradingView
+
Є робочий індикатор, на вигляд офігенний, але працювати руками тупо? Підключайте сигнали і спостерігайте за торгівлею.
+
+
+ 01 Реєструєтеся, підключаєте по API акаунт на BingX, ByBit або MEXC. Потрібно бути нашим рефералом або дати грошей.
+ 02 Модифікуєте скрипт під наші webhook. Це не страшно.
+ 03 Налаштовуєте алерти, кайфуєте. Бот не зламається, навіть якщо ви будете торгувати разом із ним і змінювати його позиції руками.
+ 04 Ви не те щоб програміст? Ми допоможемо переписати скрипт і підключитися — безкоштовно.
+
+
+
+
+
+
+
+
+
+
+ Фонд
+ Закритий для нових учасників (сорі, інвестиції поки в мінусі)
+
+
Multi-family office
+
Для тих, хто хоче бути в крипто-тренді і отримувати дохід від капіталу без самостійної роботи з ринком.
+
+
+
+
Для самостійного управління потрібно
+
+ Час на постійне спостереження за ринком
+ База для системного аналізу
+ Досвід безпечної роботи з блокчейнами
+
+
+
+
Як варіант — довірити все нам
+
+ Планування і розподіл капіталу
+ Управління позиціями
+ Звітність і виплати
+
+
+
+
+
+
Якщо працюєте з ринком своєю головою і руками — це найкращий підхід , ми його підтримуємо максимально.
+
Якщо ні — ми надаємо доступ до крипто-дохідності без занурення в кожну дію.
+
+
+
+
+
+
+
+
Стріми крипто-адмінів
+
Сервіс admins.stream
+
Адміни збираються разом, щоб провести конференцію для підписників і обмінятися трафіком. Можна підключити спонсорів.
+
+
+ 01 Збираємо групу адмінів, фіксуємо теми виступів, дату стріму, розклад постів-анонсів, призи.
+ 02 Адміни випускають пости-анонси, люди реєструються в тг-боті. Їм потрібно підписатися на кожного адміна.
+ 03 Усі глядачі фіксуються в базі, хто звідки прийшов і все таке. Хто нальє ботів — приб'ю. Але ми підготувалися: капчі в боті, капчі на стрімі.
+ 04 Проводимо конференцію — адміни на дзвінку, а глядачі дивляться стрім і можуть поспілкуватися в чаті трансляції.
+ 05 Серед тих, хто прийшов на конференцію (у всіх індивідуальне посилання), розігруються обрані призи.
+ 06 Адміни задоволені живим зацікавленим трафіком, підписники радіють якісному контенту і нагородам.
+
+
+
+
Цікаво? Звертайтеся, домовимося.
+
+
+
+
+
+
+
+
Обмінний сервіс
+
428th Exchange
+
Наші партнери з вирішення фінансових питань. Просто найкращі. Працюють по всьому світу.
+
+
+ Купівля та продаж крипти за готівку.
+ Робота з банківськими картками та рахунками.
+ Перестановка готівки.
+ Оплата інвойсів і посилань.
+ Робота з електронними грошима та платіжними системами.
+ Оплата юаня на картки AliPay, WeChat Pay.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/preview/ua/terminal/index.html b/preview/ua/terminal/index.html
new file mode 100644
index 0000000..92a7c88
--- /dev/null
+++ b/preview/ua/terminal/index.html
@@ -0,0 +1,304 @@
+
+
+
+
+
+428th Terminal — автотрейдинг за сигналами TradingView
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Функціонал
+
Зв'язати індикатор TradingView з біржею
+
Загалом, це головне, для чого ми зробили термінал. Припустимо, у вас або в когось є крутий індикатор:
+
+
+
+
Торгувати за сигналами руками
+
+ Треба сидіти 24/7 біля компа або телефона
+ Легко пропустити сигнал
+ Можна не встигнути увійти
+
+
+
+
Підключити до терміналу
+
+ Позиція відкриється автоматично
+ Одразу поставить стоп і тейк
+ Якщо треба, робіть з нею руками що завгодно
+
+
+
+
+
+
Сенс у тому, щоб автоматизувати торгівлю за індикатором, який вам подобається.
+
+
+
+ 01 Реєструєтеся, підключаєте по API акаунт на BingX, ByBit або MEXC. Потрібно бути нашим рефералом або дати грошей.
+ 02 Модифікуєте скрипт під наші Webhook. Це не страшно.
+ 03 Налаштовуєте алерти, кайфуєте. Бот не зламається, навіть якщо ви будете торгувати разом із ним і змінювати його позиції руками.
+ 04 Ви не те щоб програміст? Ми допоможемо переписати скрипт і підключитися — безкоштовно.
+
+
+
Спочатку ми робили термінал для автотрейдингу за своїми індикаторами. Тому він робить рівно те, що нам потрібно:
+
+
+ Приймає Webhook з TradingView.
+ Реалізує на його основі позицію на BingX, ByBit або MEXC.
+ Приймає ручні правки: на біржі позицію можна закрити, скоротити, посунути стоп або тейк.
+ Показує торгову статистику.
+
+
+
+
Тепер ми придумуємо і додаємо нові функції. Якщо щось хочете — напишіть в лс.
+
+
+
+
+
+
+
+
Ціни
+
Це смішне
+
Працюйте безкоштовно, якщо ваш акаунт — наш реферал. Якщо ні — буде дорого :(
+
+
+ Ми не змогли придумати варіант оплати, який зручніший за біржову партнерську систему.
+ Якщо вам дуже важливо торгувати без нашої рефералки, значить вам і так байдуже скільки платити.
+ Ціна за пряму оплату сервісу — $500 на місяць за кожен API ключ.
+ Нагадаємо, за торгівлю на реферальному акаунті платити не потрібно. Нам вистачить бонусів від ваших комісій.
+ А якщо ви інфлюенсер і партнер обраної для роботи біржі — напишіть в лс, домовимося.
+
+
+
+
Бути нашим рефералом — круто в будь-якому випадку.
+
+
+
+ 01 При обороті криптою $500k+ на місяць ви станете учасником Premium групи безкоштовно. Більше інфи — тут .
+ 02 Ваша комісія за торгівлю стане нижчою на 30-50%, а якщо ви взагалі кит, то домовимося ще й на кешбеки.
+ 03 Ваші питання або проблеми з біржею можна вирішити через нас і швидко. Особливо на BingX, там братани взагалі.
+ 04 Мінуси? Їх немає. А посилання для реєстрації — внизу сторінки.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+