PlacidPlan — All-in-One SaaS Workspace for Creative Teams
A full SaaS workspace for creative teams: project boards, team chat, cloud storage, invoicing, an AI assistant and an MCP server, built on custom WordPress.
Custom Telegram bots, MetaTrader 5 trading robots, TradingView strategies, AI assistants, and WordPress solutions — engineered to the highest performance standards.
From Telegram automation to algorithmic trading — everything your digital business needs, under one roof.
Pre-built bots for e-commerce, booking, support, and sales automation. Deploy instantly.
Fully bespoke bots connected to databases, external APIs, and a dedicated admin panel.
Expert Advisors and automated trading bots for MetaTrader 5 with backtesting and optimization.
Advanced Pine Script development — SMC, ICT, automated strategy scripts with alerts and webhooks.
EMA 21/55 crossover filtered by the 200 EMA trend and RSI — plots BUY/SELL signals on the chart and fires TradingView alerts for automation.
//@version=6 // HakimiTech Consensus v3 — 9-member trend-consensus system for BTC / ETH perpetuals // Run on the 1H chart (Binance BTCUSDT.P / ETHUSDT.P or any exchange). One chart = one coin. // Members (each votes +1 / 0 / −1): // 1 TSM 20/60 (1D) 2 Supertrend 10/3 (4H) 3 Hull MA 55 slope (4H) // 4 Ichimoku (4H) 5 Ichimoku (1D) 6 Market structure BOS (4H) // 7 Market structure BOS (1D) 8 Squeeze release (4H) 9 Range mean-reversion (4H) // Score = average vote (−1..+1), evaluated once per 4H bar (only completed HTF bars are used → no repaint). // Entry: flat and |score| ≥ 0.5 → trade in score direction. Risk 2.5% (|score| r20 = close / close[20] - 1 r60 = close / close[60] - 1 math.sign(r20) == math.sign(r60) ? math.sign(r20) : 0.0 fSupertrend() => [stLine, dir] = ta.supertrend(3.0, 10) dir < 0 ? 1.0 : -1.0 fHull() => h = ta.hma(close, 55) math.sign(h - h[1]) fIchimoku() => ten = (ta.highest(high, 9) + ta.lowest(low, 9)) / 2 kij = (ta.highest(high, 26) + ta.lowest(low, 26)) / 2 spanA = ((ten + kij) / 2)[26] spanB = ((ta.highest(high, 52) + ta.lowest(low, 52)) / 2)[26] top = math.max(spanA, spanB) bot = math.min(spanA, spanB) close > top and ten > kij ? 1.0 : close < bot and ten < kij ? -1.0 : 0.0 fStructure() => var float lastPH = na var float lastPL = na var float st = 0.0 ph = ta.pivothigh(high, 5, 5) pl = ta.pivotlow(low, 5, 5) if not na(ph) lastPH := ph if not na(pl) lastPL := pl if not na(lastPH) and close > lastPH st := 1.0 else if not na(lastPL) and close < lastPL st := -1.0 st fSqueeze() => ma = ta.sma(close, 20) sd = ta.stdev(close, 20) a = ta.atr(20) sq = 2 * sd < 1.5 * a fired = sq[1] and not sq mom = close - (ta.highest(high, 20) + ta.lowest(low, 20) + 2 * ma) / 4 var float st = 0.0 var int age = 99 if fired st := math.sign(mom) age := 0 else age += 1 age er = math.abs(close - close[20]) / math.sum(math.abs(ta.change(close)), 20) z = (close - ta.sma(close, 20)) / ta.stdev(close, 20) er < 0.25 and math.abs(z) > 1.5 ? -math.sign(z) : 0.0 // completed higher-timeframe bars only: expr()[1] + lookahead_on = value of the previous (closed) HTF bar, // available from the first 1H bar of the next HTF bar. This is the standard non-repainting pattern. LA = barmerge.lookahead_on vTSM = request.security(syminfo.tickerid, "D", fTSM()[1], lookahead = LA) vST4 = request.security(syminfo.tickerid, "240", fSupertrend()[1], lookahead = LA) vHull = request.security(syminfo.tickerid, "240", fHull()[1], lookahead = LA) vIch4 = request.security(syminfo.tickerid, "240", fIchimoku()[1], lookahead = LA) vIchD = request.security(syminfo.tickerid, "D", fIchimoku()[1], lookahead = LA) vBos4 = request.security(syminfo.tickerid, "240", fStructure()[1], lookahead = LA) vBosD = request.security(syminfo.tickerid, "D", fStructure()[1], lookahead = LA) vSqz4 = request.security(syminfo.tickerid, "240", fSqueeze()[1], lookahead = LA) vMR4 = request.security(syminfo.tickerid, "240", fMeanRev()[1], lookahead = LA) atr4 = request.security(syminfo.tickerid, "240", ta.atr(14)[1], lookahead = LA) score = (nz(vTSM) + nz(vST4) + nz(vHull) + nz(vIch4) + nz(vIchD) + nz(vBos4) + nz(vBosD) + nz(vSqz4) + nz(vMR4)) / 9.0 // first 1H bar of each 4H bar (Binance 4H bars start at 00/04/08/12/16/20 UTC) new4h = hour(time, "UTC") % 4 == 0 // ───────── Monthly guard var float monthStartEq = strategy.initial_capital if ta.change(month(time, "UTC")) != 0 monthStartEq := strategy.equity guardOK = strategy.equity >= monthStartEq * (1 - monthCap) // ───────── Trading logic (decisions on the first 1H bar of a new 4H bar, filled at that bar's close) inWindow = time >= startDate pos = strategy.position_size if new4h and pos > 0 and score <= kOut strategy.close("Long", comment = "Consensus lost") if new4h and pos < 0 and -score = kIn risk = math.abs(score) >= 0.75 ? riskHigh : riskLow stopDist = stopATR * atr4 qty = risk * strategy.equity / stopDist if score > 0 strategy.entry("Long", strategy.long, qty = qty) strategy.exit("Long SL", from_entry = "Long", stop = close - stopDist) else if useShorts strategy.entry("Short", strategy.short, qty = qty) strategy.exit("Short SL", from_entry = "Short", stop = close + stopDist) // ───────── Visuals plotshape(new4h and score >= kIn, "Bull consensus", shape.triangleup, location.belowbar, color.new(color.teal, 40), size = size.tiny) plotshape(new4h and score = kIn ? color.lime : score = kIn ? "LONG" : score <= -kIn ? "SHORT" : "NONE", text_color = color.white) table.cell(info, 0, 2, "Month guard", text_color = color.white) table.cell(info, 1, 2, guardOK ? "OK" : "PAUSED", text_color = guardOK ? color.lime : color.orange)
Custom GPT-powered chatbots for online shops — product guidance, Q&A, and 24/7 automated support.
Professional, fast-loading websites built with Elementor Pro — fully SEO-optimized.
Off-the-shelf WordPress plugins with custom-written descriptions, ready to install and use.
Fully tailored WordPress plugins built to your exact specifications using modern PHP and JS.
Websites, Telegram bots and mobile apps — each running inside the device it was built for.
A full SaaS workspace for creative teams: project boards, team chat, cloud storage, invoicing, an AI assistant and an MCP server, built on custom WordPress.
No projects in this filter yet.
Four straightforward steps to launch your project.
We review your requirements and propose the right solution via Telegram or email.
You receive a transparent quote with fixed pricing and a realistic timeline.
Active development with regular progress updates and continuous access to builds.
Full handover with documentation and ongoing post-launch support included.
"The Telegram bot built for our store automated our entire sales process. Revenue increased 40% in the first month."
"His TradingView SMC indicator has been running live for 6 months with remarkably consistent results on crypto."
"Fast delivery, clean code, excellent communication. The MT5 EA runs flawlessly on our prop firm accounts."
Simple bots take 3–5 days. Advanced bots with databases and payment integration typically take 7–14 days.
Yes — every project comes with full, clean, commented source code. You own it completely after delivery.
Absolutely. We work worldwide and communicate in English. Payments accepted via crypto, PayPal, and bank transfer.
All markets on MetaTrader 5 — Forex, Crypto, Indices, Commodities, and Stocks.
Yes. All packages include a support period. Ongoing maintenance plans are also available.
Minor adjustments within scope are included. Larger changes get a transparent quote before starting.
Get in touch today — the first consultation is completely free.