Crypto HFT - Binary Market Trading Trade Polymarket's crypto binary markets with 4 automated strategies. Just say what you want! Available market durations (pick one): - 5-minute : BTC only - ultra-high frequency HFT - 15-minute : All assets (BTC, ETH, SOL, XRP) - balanced, most popular - 1-hour : All assets - faster swing trading - 4-hour : All assets - multi-hour trends - Daily : All assets - position trading, overnight holds Each round has UP/DOWN token pairs that settle at 0 or 1 using Chainlink price feeds. Starts in dry-run mode by default (no real orders). Test for free before going li…

+ Math.abs(n).toFixed(2); }\nfunction fmtPct(n: number): string { return (n >= 0 ? '+' : '') + n.toFixed(1) + '%'; }\n\n// ── Command Handler ─────────────────────────────────────────────────────────\n\nasync function execute(args: string): Promise\u003cstring> {\n const parts = args.trim().split(/\\s+/);\n const cmd = parts[0]?.toLowerCase() || 'help';\n\n try {\n switch (cmd) {\n case 'start': {\n if (engine) return 'Already running. `/crypto-hft stop` first.';\n\n const feed = await getFeed();\n if (!feed) return 'Crypto feed not available. Check that Binance WS is reachable.';\n const exec = await getExecution();\n\n // Check for preset\n const presetIdx = args.indexOf('--preset');\n let presetConfig: Record\u003cstring, any> = {};\n let presetStrategies: Record\u003cstring, boolean> | null = null;\n\n if (presetIdx !== -1) {\n const presetName = args.slice(presetIdx + 9).trim().split(/\\s+/)[0];\n const preset = loadPreset(presetName);\n if (!preset) return `Preset \"${presetName}\" not found. Use \\`/crypto-hft preset list\\`.`;\n presetConfig = preset.config;\n presetStrategies = preset.strategies;\n }\n\n // Parse inline flags (override preset)\n const assetArg = parts[1] && !parts[1].startsWith('-') ? parts[1] : null;\n const assets = assetArg ? assetArg.toUpperCase().split(',') : (presetConfig.assets ?? DEFAULT_CONFIG.assets);\n const dryRun = args.includes('--dry-run') || args.includes('--dry') || (presetConfig.dryRun ?? DEFAULT_CONFIG.dryRun);\n const sizeMatch = args.match(/--size\\s+(\\d+)/);\n const rawSize = sizeMatch ? parseInt(sizeMatch[1], 10) : NaN;\n const sizeUsd = !isNaN(rawSize) && rawSize > 0 ? rawSize : (presetConfig.sizeUsd ?? DEFAULT_CONFIG.sizeUsd);\n\n engine = createCryptoHftEngine(feed, exec, {\n ...presetConfig,\n assets,\n sizeUsd,\n dryRun,\n });\n\n if (presetStrategies) {\n for (const [name, val] of Object.entries(presetStrategies)) {\n engine.setStrategyEnabled(name, val);\n }\n }\n\n await engine.start();\n\n const mode = dryRun ? 'DRY RUN' : 'LIVE';\n const strats = Object.entries(engine.getEnabledStrategies()).filter(([, v]) => v).map(([k]) => k);\n return [\n `**Crypto HFT Started [${mode}]**`,\n `Assets: ${assets.join(', ')}`,\n `Size: ${sizeUsd}/trade`,\n `Strategies: ${strats.join(', ')}`,\n `TP: ${engine.getConfig().takeProfitPct}% | SL: ${engine.getConfig().stopLossPct}%`,\n `Ratchet: ${engine.getConfig().ratchetEnabled ? 'ON' : 'OFF'} | Trailing: ${engine.getConfig().trailingEnabled ? 'ON' : 'OFF'}`,\n `Entry: ${engine.getConfig().entryOrder.mode} | Exit: ${engine.getConfig().exitOrder.mode}`,\n ].join('\\n');\n }\n\n case 'stop': {\n if (!engine) return 'Not running.';\n const stats = engine.getStats();\n engine.stop();\n engine = null;\n // Clean up feed and execution service to prevent resource leaks\n if (feedInstance) {\n try { feedInstance.stop(); } catch { /* best effort */ }\n feedInstance = null;\n }\n if (execInstance) {\n try { (execInstance as any).cleanup?.(); } catch { /* best effort */ }\n execInstance = null;\n }\n return `Stopped. ${stats.totalTrades} trades, ${fmtUsd(stats.netPnlUsd)} net, ${stats.winRate.toFixed(0)}% WR, fees: ${stats.feesUsd.toFixed(2)}`;\n }\n\n case 'status': {\n if (!engine) return 'Not running. `/crypto-hft start`';\n const s = engine.getStats();\n const r = engine.getRoundInfo();\n const p = engine.getPositions();\n\n let out = `**Crypto HFT Status**\\n`;\n out += `Round: #${r.slot} | ${r.ageSec.toFixed(0)}s old | ${r.timeLeftSec.toFixed(0)}s left | ${r.canTrade ? 'TRADING' : 'WAITING'}\\n`;\n out += `Markets: ${engine.getMarkets().length} | Open: ${s.openPositions}\\n`;\n out += `Trades: ${s.totalTrades} (${s.wins}W/${s.losses}L) ${s.winRate.toFixed(0)}% WR\\n`;\n out += `Gross: ${fmtUsd(s.grossPnlUsd)} | Fees: ${s.feesUsd.toFixed(2)} | Net: ${fmtUsd(s.netPnlUsd)}\\n`;\n out += `Today: ${fmtUsd(s.dailyPnlUsd)} | Best: ${fmtPct(s.bestTradePct)} | Worst: ${fmtPct(s.worstTradePct)}\\n`;\n out += `Maker: entry ${s.makerEntryRate.toFixed(0)}% / exit ${s.makerExitRate.toFixed(0)}%\\n`;\n\n if (Object.keys(s.exitReasons).length > 0) {\n out += `Exits: ${Object.entries(s.exitReasons).map(([k, v]) => `${k}(${v})`).join(', ')}\\n`;\n }\n\n if (p.length > 0) {\n out += `\\n**Open Positions:**\\n`;\n for (const pos of p) {\n const pnl = pos.entryPrice !== 0 ? ((pos.currentPrice - pos.entryPrice) / pos.entryPrice) * 100 : 0;\n const secsLeft = Math.max(0, (pos.expiresAt - Date.now()) / 1000);\n out += ` ${pos.asset} ${pos.direction.toUpperCase()} @ ${pos.entryPrice.toFixed(2)} -> ${pos.currentPrice.toFixed(2)} (${fmtPct(pnl)}) [${pos.strategy}] ${secsLeft.toFixed(0)}s left\\n`;\n }\n }\n return out;\n }\n\n case 'positions': {\n if (!engine) return 'Not running.';\n const closed = engine.getClosed().slice(-20);\n if (closed.length === 0) return 'No closed trades yet.';\n\n let out = `**Last ${closed.length} Trades:**\\n`;\n for (const c of closed.reverse()) {\n out += ` ${c.asset} ${c.direction.toUpperCase()} ${fmtPct(c.netPnlPct)} (${fmtUsd(c.netPnlUsd)}) [${c.strategy}] ${c.exitReason} ${c.holdTimeSec.toFixed(0)}s ${c.wasMakerEntry ? 'M' : 'T'}->${c.wasMakerExit ? 'M' : 'T'}\\n`;\n }\n return out;\n }\n\n case 'markets': {\n const assets = parts[1] ? parts[1].toUpperCase().split(',') : DEFAULT_CONFIG.assets;\n const scanner = createMarketScanner({ ...DEFAULT_CONFIG, assets });\n const markets = await scanner.refresh();\n if (markets.length === 0) return 'No active 15-min crypto markets.';\n\n let out = `**Active Markets (${markets.length}):**\\n`;\n for (const m of markets) {\n const secsLeft = ((m.expiresAt - Date.now()) / 1000).toFixed(0);\n out += ` ${m.asset}: UP ${m.upPrice.toFixed(2)} / DOWN ${m.downPrice.toFixed(2)} -- ${secsLeft}s left -- round #${m.roundSlot}\\n`;\n }\n return out;\n }\n\n case 'round': {\n if (!engine) return 'Not running.';\n const r = engine.getRoundInfo();\n return `Round #${r.slot} | Age: ${r.ageSec.toFixed(0)}s | Left: ${r.timeLeftSec.toFixed(0)}s | ${r.canTrade ? 'CAN TRADE' : 'WAITING'}`;\n }\n\n case 'config': {\n if (!engine) return 'Not running.';\n\n const updates: Record\u003cstring, any> = {};\n const pairs: Array\u003c[RegExp, string, (v: string) => any]> = [\n [/--tp\\s+(\\d+)/, 'takeProfitPct', Number],\n [/--sl\\s+(\\d+)/, 'stopLossPct', Number],\n [/--size\\s+(\\d+)/, 'sizeUsd', Number],\n [/--max-pos\\s+(\\d+)/, 'maxPositions', Number],\n [/--max-loss\\s+(\\d+)/, 'maxDailyLossUsd', Number],\n [/--ratchet\\s+(on|off)/, 'ratchetEnabled', (v: string) => v === 'on'],\n [/--trailing\\s+(on|off)/, 'trailingEnabled', (v: string) => v === 'on'],\n ];\n\n for (const [re, key, transform] of pairs) {\n const m = args.match(re);\n if (m) updates[key] = transform(m[1]);\n }\n\n if (Object.keys(updates).length === 0) {\n const c = engine.getConfig();\n return [\n '**Current Config:**',\n `Size: ${c.sizeUsd} | Max Pos: ${c.maxPositions} | Max Loss: ${c.maxDailyLossUsd}`,\n `TP: ${c.takeProfitPct}% | SL: ${c.stopLossPct}%`,\n `Ratchet: ${c.ratchetEnabled ? 'ON' : 'OFF'} | Trailing: ${c.trailingEnabled ? 'ON' : 'OFF'}`,\n `Entry: ${c.entryOrder.mode} | Exit: ${c.exitOrder.mode}`,\n `Min time left: ${c.minTimeLeftSec}s | Force exit: ${c.forceExitSec}s`,\n '',\n 'Set: `/crypto-hft config --tp 15 --sl 12 --ratchet on`',\n ].join('\\n');\n }\n\n engine.updateConfig(updates);\n return `Updated: ${Object.entries(updates).map(([k, v]) => `${k}=${v}`).join(', ')}`;\n }\n\n case 'enable': {\n if (!engine) return 'Not running.';\n const s = parts[1];\n if (!s) return 'Usage: `/crypto-hft enable momentum`';\n engine.setStrategyEnabled(s, true);\n return `Enabled: ${s}`;\n }\n\n case 'disable': {\n if (!engine) return 'Not running.';\n const s = parts[1];\n if (!s) return 'Usage: `/crypto-hft disable expiry_fade`';\n engine.setStrategyEnabled(s, false);\n return `Disabled: ${s}`;\n }\n\n case 'preset': {\n const sub = parts[1]?.toLowerCase() || 'list';\n\n if (sub === 'list') {\n const presets = listPresets();\n if (presets.length === 0) return 'No presets.';\n let out = '**Presets:**\\n';\n for (const p of presets) {\n const strats = Object.entries(p.strategies).filter(([, v]) => v).map(([k]) => k);\n out += ` **${p.name}** -- ${p.description || 'No description'}\\n Strategies: ${strats.join(', ')}\\n`;\n }\n return out;\n }\n\n if (sub === 'save') {\n if (!engine) return 'Not running.';\n const name = parts[2];\n if (!name) return 'Usage: `/crypto-hft preset save my_preset`';\n const cfg = engine.getConfig();\n const strats = engine.getEnabledStrategies();\n savePreset(name, cfg, strats);\n return `Saved preset: ${name}`;\n }\n\n if (sub === 'load') {\n const name = parts[2];\n if (!name) return 'Usage: `/crypto-hft preset load scalper`';\n const preset = loadPreset(name);\n if (!preset) return `Preset \"${name}\" not found.`;\n\n if (engine) {\n engine.updateConfig(preset.config);\n for (const [k, v] of Object.entries(preset.strategies)) {\n engine.setStrategyEnabled(k, v);\n }\n return `Loaded preset \"${name}\" into running engine.`;\n }\n return `Preset \"${name}\" found. Use \\`/crypto-hft start --preset ${name}\\` to start with it.`;\n }\n\n if (sub === 'delete') {\n const name = parts[2];\n if (!name) return 'Usage: `/crypto-hft preset delete my_preset`';\n if (deletePreset(name)) return `Deleted: ${name}`;\n return `Preset \"${name}\" not found (built-in presets can't be deleted).`;\n }\n\n return 'Usage: `/crypto-hft preset [list|save|load|delete] [name]`';\n }\n\n default:\n return formatHelp({\n name: 'Crypto HFT',\n emoji: '\\u26A1',\n description: 'Trade 15-minute crypto binary markets on Polymarket with 4 automated strategies.',\n sections: [\n {\n title: 'Start/Stop',\n commands: [\n { cmd: '/crypto-hft start [BTC,ETH] [--size 20] [--dry-run] [--preset scalper]', description: 'Start the HFT engine' },\n { cmd: '/crypto-hft stop', description: 'Stop engine and show summary' },\n ],\n },\n {\n title: 'Monitor',\n commands: [\n { cmd: '/crypto-hft status', description: 'Stats, open positions, round info' },\n { cmd: '/crypto-hft positions', description: 'Recent closed trades' },\n { cmd: '/crypto-hft markets', description: 'Active 15-min markets' },\n { cmd: '/crypto-hft round', description: 'Current round timing' },\n ],\n },\n {\n title: 'Configure',\n commands: [\n { cmd: '/crypto-hft config [--tp N] [--sl N] [--ratchet on/off]', description: 'View or update config' },\n { cmd: '/crypto-hft enable \u003cstrategy>', description: 'Enable a strategy' },\n { cmd: '/crypto-hft disable \u003cstrategy>', description: 'Disable a strategy' },\n ],\n },\n {\n title: 'Presets',\n commands: [\n { cmd: '/crypto-hft preset list', description: 'Show all presets' },\n { cmd: '/crypto-hft preset save \u003cname>', description: 'Save current config as preset' },\n { cmd: '/crypto-hft preset load \u003cname>', description: 'Load a preset' },\n { cmd: '/crypto-hft preset delete \u003cname>', description: 'Delete a preset' },\n ],\n },\n ],\n envVars: [\n { name: 'POLY_PRIVATE_KEY', description: 'Polymarket wallet private key (or PRIVATE_KEY)', required: true },\n { name: 'POLY_API_KEY', description: 'Polymarket CLOB API key', required: true },\n { name: 'POLY_API_SECRET', description: 'Polymarket CLOB API secret', required: true },\n { name: 'POLY_API_PASSPHRASE', description: 'Polymarket CLOB API passphrase', required: true },\n { name: 'POLY_FUNDER_ADDRESS', description: 'Polymarket funder wallet address', required: true },\n { name: 'DRY_RUN', description: 'Set to \"true\" for paper trading' },\n ],\n seeAlso: [\n { cmd: '/hl', description: 'Hyperliquid perps trading' },\n { cmd: '/copy', description: 'Copy trading' },\n { cmd: '/execution', description: 'Execution service controls' },\n { cmd: '/strategy', description: 'Strategy management' },\n ],\n notes: [\n 'Shortcut: `/hft` is an alias for `/crypto-hft`.',\n 'Strategies: momentum, mean_reversion, penny_clipper, expiry_fade.',\n 'Built-in presets: conservative, aggressive, scalper, momentum_only.',\n ],\n });\n }\n } catch (error) {\n return wrapSkillError('Crypto HFT', cmd || 'command', error);\n }\n}\n\n// ── Skill Registration ──────────────────────────────────────────────────────\n\nexport default {\n name: 'crypto-hft',\n description: 'Trade 15-minute crypto binary markets on Polymarket with 4 automated strategies',\n commands: ['/crypto-hft', '/hft'],\n handle: execute,\n};\n","content_type":"text/typescript; charset=utf-8","language":"typescript","size":16853,"content_sha256":"f5653ea3806788fb638b17c5a7ffff64dffcfdf0cade4b828c318723358a4230"}],"content_json":{"type":"doc","content":[{"type":"heading","attrs":{"level":1},"content":[{"text":"Crypto HFT - Binary Market Trading","type":"text"}]},{"type":"paragraph","content":[{"text":"Trade Polymarket's crypto binary markets with 4 automated strategies. Just say what you want!","type":"text"}]},{"type":"paragraph","content":[{"text":"Available market durations","type":"text","marks":[{"type":"strong"}]},{"text":" (pick one):","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"5-minute","type":"text","marks":[{"type":"strong"}]},{"text":": BTC only - ultra-high frequency HFT","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"15-minute","type":"text","marks":[{"type":"strong"}]},{"text":": All assets (BTC, ETH, SOL, XRP) - balanced, most popular","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"1-hour","type":"text","marks":[{"type":"strong"}]},{"text":": All assets - faster swing trading","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"4-hour","type":"text","marks":[{"type":"strong"}]},{"text":": All assets - multi-hour trends","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Daily","type":"text","marks":[{"type":"strong"}]},{"text":": All assets - position trading, overnight holds","type":"text"}]}]}]},{"type":"paragraph","content":[{"text":"Each round has UP/DOWN token pairs that settle at 0 or 1 using Chainlink price feeds.","type":"text"}]},{"type":"paragraph","content":[{"text":"Starts in ","type":"text"},{"text":"dry-run mode","type":"text","marks":[{"type":"strong"}]},{"text":" by default (no real orders). Test for free before going live!","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Talk to Clodds Naturally","type":"text"}]},{"type":"paragraph","content":[{"text":"Just say what you want to trade:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"\"Trade 5-minute BTC markets\"\n→ /hft start --preset 5min-btc\n\n\"Start 1-hour trading on all assets\"\n→ /hft start --preset 1h-all\n\n\"I want 4-hour swing trades\"\n→ /hft start --preset 4h-all\n\n\"Show me daily market presets\"\n→ /hft preset list\n\n\"Trade conservatively on 15-minute markets\"\n→ /hft start --preset conservative\n\n\"Aggressive all-in on 15-min with all strategies\"\n→ /hft start --preset aggressive","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Quick Start","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"/crypto-hft start # 15-min (default): BTC,ETH,SOL,XRP\n/crypto-hft start --preset 5min-btc # 5-minute BTC (fast, aggressive)\n/crypto-hft start --preset 1h-all # 1-hour all assets\n/crypto-hft start --preset 4h-all # 4-hour all assets (swing)\n/crypto-hft start --preset daily-all # Daily all assets (position)\n/crypto-hft start BTC,ETH --dry-run # 15-min specific assets, dry run\n/crypto-hft status # Check stats + open positions\n/crypto-hft stop # Stop and show summary","type":"text"}]},{"type":"paragraph","content":[{"text":"For live trading, set Polymarket env vars and omit ","type":"text"},{"text":"--dry-run","type":"text","marks":[{"type":"code_inline"}]},{"text":":","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"export POLY_PRIVATE_KEY=\"...\"\nexport POLY_FUNDER_ADDRESS=\"...\"\nexport POLY_API_KEY=\"...\"\nexport POLY_API_SECRET=\"...\"\nexport POLY_API_PASSPHRASE=\"...\"","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Commands","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Start / Stop","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"/crypto-hft start [ASSETS] [--size N] [--dry-run] [--preset NAME]\n/crypto-hft stop","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Monitor","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"/crypto-hft status Stats, round info, open positions\n/crypto-hft positions Last 20 closed trades with PnL\n/crypto-hft markets Active markets from Gamma API (5-min or 15-min)\n/crypto-hft round Current round slot and timing","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Configure (while running)","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"/crypto-hft config Show current config\n/crypto-hft config --tp 15 --sl 12 Set take-profit/stop-loss %\n/crypto-hft config --size 30 --max-pos 4 Set trade size and max positions\n/crypto-hft config --ratchet on --trailing off Toggle exit features\n/crypto-hft config --max-loss 100 Set daily loss limit","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Strategy Control","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"/crypto-hft enable momentum Enable a strategy\n/crypto-hft disable expiry_fade Disable a strategy","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Presets","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"/crypto-hft preset list Show all presets\n/crypto-hft preset save my_config Save current config as preset\n/crypto-hft preset load scalper Load a preset (into running engine or for next start)\n/crypto-hft preset delete my_config Delete a saved preset","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Strategies","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Strategy","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Entry Condition","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Order Mode","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Best For","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"momentum","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Spot price moved, poly lagging","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"maker_then_taker","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Catching delayed reactions","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"mean_reversion","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Token mispriced, spot calm","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"maker (0% fee)","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Range-bound markets","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"penny_clipper","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Oscillating in zone, price below mean","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"maker (0% fee)","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Tight spread scalping","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"expiry_fade","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Near expiry, skewed pricing, flat spot","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"taker (speed)","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Late-round mean reversion","type":"text"}]}]}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Built-in Presets","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"By Market Duration","type":"text"}]},{"type":"heading","attrs":{"level":4},"content":[{"text":"5-Minute (BTC Only)","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Preset","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Size","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Max Pos","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Strategies","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Features","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"5min-btc","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"$15","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"1","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"All 4","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Aggressive - 10s min age","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"5min-btc-conservative","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"$10","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"1","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"MR, PC","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Conservative - 15s min age","type":"text"}]}]}]}]},{"type":"heading","attrs":{"level":4},"content":[{"text":"1-Hour (All Assets)","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Preset","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Size","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Max Pos","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Strategies","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Features","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"1h-all","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"$20","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"3","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"All 4","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Balanced - ratchet + trailing","type":"text"}]}]}]}]},{"type":"heading","attrs":{"level":4},"content":[{"text":"4-Hour (All Assets - Swing)","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Preset","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Size","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Max Pos","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Strategies","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Features","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"4h-all","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"$30","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"4","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Mom + MR","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Swing trading focus","type":"text"}]}]}]}]},{"type":"heading","attrs":{"level":4},"content":[{"text":"Daily (All Assets - Position)","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Preset","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Size","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Max Pos","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Strategies","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Features","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"daily-all","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"$50","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"4","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Mom + MR","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Position trading, tight ratchet","type":"text"}]}]}]}]},{"type":"heading","attrs":{"level":4},"content":[{"text":"15-Minute (Classic - All Assets)","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Preset","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Size","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Max Pos","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Strategies","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Risk","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"conservative","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"$10","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"2","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"MR, PC","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Low - dry run, tight stops","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"aggressive","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"$50","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"4","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"All 4","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"High - live, wide stops","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"scalper","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"$20","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"3","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"PC only","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Medium - ratchet on","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"momentum_only","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"$30","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"3","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Mom only","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Medium - ratchet + trailing","type":"text"}]}]}]}]},{"type":"paragraph","content":[{"text":"Legend:","type":"text","marks":[{"type":"strong"}]},{"text":" MR=mean_reversion, PC=penny_clipper, Mom=momentum","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Market Duration Comparison","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Aspect","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"5-Min","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"1-Hour","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"4-Hour","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Daily","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Assets","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"BTC","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"All","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"All","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"All","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Duration","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"300s","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"3,600s","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"14,400s","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"86,400s","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Min Round Age","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"10s","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"60s","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"120s","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"600s","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Min Time Left","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"50s","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"180s","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"600s","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"3,600s","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Force Exit","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"10s","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"60s","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"120s","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"600s","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Best For","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"HFT scalping","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Fast swing","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Swing trading","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Position trading","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Liquidity","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Thin","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Good","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Very good","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Excellent","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Fee Impact","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Critical","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Moderate","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Low","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Very low","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Daily Cycles","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"288","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"24","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"6","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"1","type":"text"}]}]}]}]},{"type":"paragraph","content":[{"text":"Trading Strategy by Duration:","type":"text","marks":[{"type":"strong"}]}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"5-min","type":"text","marks":[{"type":"strong"}]},{"text":": Ultra-high frequency, requires tight risk management, penny_clipper focus","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"1-hour","type":"text","marks":[{"type":"strong"}]},{"text":": Balanced entry points, good for mean reversion + momentum","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"4-hour","type":"text","marks":[{"type":"strong"}]},{"text":": Swing trading, catch multi-hour trends, focus on momentum","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Daily","type":"text","marks":[{"type":"strong"}]},{"text":": Position trading, macroeconomic drivers, long holding periods","type":"text"}]}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Exit Logic","type":"text"}]},{"type":"paragraph","content":[{"text":"Positions are monitored every 500ms with 9 exit types (in priority order):","type":"text"}]},{"type":"ordered_list","attrs":{"order":1,"listStyle":"number"},"content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Force exit","type":"text","marks":[{"type":"strong"}]},{"text":" - \u003c 30s before expiry (15-min) or \u003c 10s (5-min)","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Take profit","type":"text","marks":[{"type":"strong"}]},{"text":" - PnL >= TP% (default 15%)","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Stop loss","type":"text","marks":[{"type":"strong"}]},{"text":" - PnL \u003c= -SL% (default 12%)","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Ratchet floor","type":"text","marks":[{"type":"strong"}]},{"text":" - Progressive giveback from confirmed high-water mark","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Trailing stop","type":"text","marks":[{"type":"strong"}]},{"text":" - Tightens as expiry approaches","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Depth collapse","type":"text","marks":[{"type":"strong"}]},{"text":" - Orderbook depth dropped 60%+ while price dropping","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Stale profit","type":"text","marks":[{"type":"strong"}]},{"text":" - Profitable but bid unchanged for 7s","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Stagnant profit","type":"text","marks":[{"type":"strong"}]},{"text":" - At +3% for 13s with no progress","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Time exit","type":"text","marks":[{"type":"strong"}]},{"text":" - Approaching minimum time left","type":"text"}]}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Architecture","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"Binance WS (spot) --> CryptoFeed --> Strategy Evaluators --> Entry Signals\nGamma API ---------> MarketScanner --> Round Detection |\n v\nPoly Orderbook ----> OBI/Spread/Depth --> Exit Checks --> ExecutionService\n |\n PositionManager (ratchet, trailing, depth collapse)","type":"text"}]},{"type":"hr","attrs":{"markup":"---"}}]},"metadata":{"date":"2026-06-05","name":"crypto-hft","gates":{"envs":["POLY_PRIVATE_KEY","POLY_FUNDER_ADDRESS","POLY_API_KEY","POLY_API_SECRET","POLY_API_PASSPHRASE"]},"author":"@skillopedia","source":{"stars":306,"repo_name":"cloddsbot","origin_url":"https://github.com/alsk1992/cloddsbot/blob/HEAD/src/skills/bundled/crypto-hft/SKILL.md","repo_owner":"alsk1992","body_sha256":"94f84993ae716f00b1989b4b54dde4816d3fab42a37091e5ed21505a42c82491","cluster_key":"c23d1a1dc161186f370176852c5acae608854a554fb7f51da378ad7e42eac194","clean_bundle":{"format":"clean-skill-bundle-v1","source":"alsk1992/cloddsbot/src/skills/bundled/crypto-hft/SKILL.md","attachments":[{"id":"79226231-afd8-58d7-b1eb-8f73d2516cf1","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/79226231-afd8-58d7-b1eb-8f73d2516cf1/attachment.ts","path":"index.ts","size":16853,"sha256":"f5653ea3806788fb638b17c5a7ffff64dffcfdf0cade4b828c318723358a4230","contentType":"text/typescript; charset=utf-8"}],"bundle_sha256":"e40d0190ea309c490a5cbc5a7257af92c33a39b25cc692d7ace07663b4fb9105","attachment_count":1,"text_attachments":1,"attachment_storage":"skillopedia-attachments-v1","binary_attachments":0,"excluded_attachments":[]},"cluster_size":1,"skill_md_path":"src/skills/bundled/crypto-hft/SKILL.md","import_metadata":{"date":"2026-06-05","author":"@skillopedia","version":"v1","category":"finance-legal-compliance","category_label":"Finance"},"exact_dupes_collapsed_into_this":0},"version":"v1","category":"finance-legal-compliance","commands":["/crypto-hft","/hft"],"keywords":["5 minute","15 minute","1 hour","4 hour","daily","crypto trading","binary markets","polymarket","automated strategies","momentum","mean reversion","penny clipper","expiry fade"],"import_tag":"clean-skills-v1","description":"Trade crypto binary markets on Polymarket with 4 automated strategies. Support: 5-min BTC, 15-min/1h/4h/daily all assets (BTC, ETH, SOL, XRP)"}},"renderedAt":1782980481889}

Crypto HFT - Binary Market Trading Trade Polymarket's crypto binary markets with 4 automated strategies. Just say what you want! Available market durations (pick one): - 5-minute : BTC only - ultra-high frequency HFT - 15-minute : All assets (BTC, ETH, SOL, XRP) - balanced, most popular - 1-hour : All assets - faster swing trading - 4-hour : All assets - multi-hour trends - Daily : All assets - position trading, overnight holds Each round has UP/DOWN token pairs that settle at 0 or 1 using Chainlink price feeds. Starts in dry-run mode by default (no real orders). Test for free before going li…