πŸ€– Create New Bot

Configure your Martingale DCA strategy

{{ messageType === 'success' ? 'βœ…' : '❌' }} {{ message }}

πŸ›‘ Strategy Stop Mode

Step 1 of 4

Choose how the bot should behave when trend shifts

⚑ Instant Stop Recommended

Stop immediately if trend shifts (e.g., Short β†’ Neutral). Uses Switch Threshold for flip logic.

πŸ“… Scheduled Stop

Wait for specific conditions before stopping. Choose a sub-option below.

🎯 Price Target

Stop when price reaches your target

Current Info:
Avg: ${{ stopMode.avg_price || 'N/A' }} | Market: ${{ stopMode.market_price || 'N/A' }}
πŸ”„ End-of-Cycle

Finish current deal cycles, then stop. No new entries.

βœ“ Stops after current deals finish. Existing positions will be closed at Take Profit.
πŸ›‘οΈ Safety Logic

Use Switch Threshold to determine flip/hold behavior

Safety Order count that determines flip behavior

πŸ“Š How it works:
β€’ SOs < {{ stopMode.switch_threshold }}: Close & Flip (Light position)
β€’ SOs β‰₯ {{ stopMode.switch_threshold }}: Hold (Defense Mode) (Heavy position)

🎯 Target Coins

Step 2 of 4
{{ coin }} βœ•
No coins selected. Choose from below ↓

⚠️ OKX Minimum Order Requirements ({{ strategy.leverage }}x leverage)

Coin Contract Size Min Qty Min Margin
{{ coin.name }} {{ coin.contractSize }} {{ coin.name }} {{ (coin.contractSize * coin.minContracts).toFixed(4) }} {{ coin.name }} ${{ minMarginInfo[coin.symbol]?.min_margin?.toFixed(2) || '...' }}

* Initial Order must be β‰₯ Min Margin for the selected coin

Selected: {{ selectedCoins.length }} coin(s)

βš™οΈ DCA Strategy Settings

Step 3 of 4

Bot will evaluate SO/TP/SL conditions every N seconds using real-time ticker. Trend timeframe is fixed at 1d.

After a position closes, block opening a new position for N seconds. 0 = disabled.

Wait N seconds after the last fill (base or SO) before placing the next safety order. 0 = disabled.

How often the 1D trend is recomputed. Between refreshes the cached trend is reused, so the check interval above can run fast (down to 1s) without hammering the API. Min 5s, default 60s.

🎯 Trigger Settings

Initial price deviation for SO1

πŸ’° Order Sizing

πŸ“Š Multipliers

Each SO gap = prev Γ— this

Each SO size = prev Γ— this

πŸ›‘ Stop Loss

{{ stopLoss.enabled ? 'ON' : 'OFF' }}

Close position if loss exceeds this %

Stop Loss disabled - Position will not auto-close on loss

πŸ“ˆ Trend Mode

Mode 1m ROI 1m MDD 5s ROI 5s MDD
{{ mode.label }} {{ mode.roi1m }} {{ mode.mdd1m }} {{ mode.roi5s }} {{ mode.mdd5s }}

{{ trendModes.find(m => m.value === strategy.indicator_type)?.description || '' }}

{{ strategy.signal_lock_mode ? 'πŸ”’ Signal Lock: D+1 (ꢌμž₯)' : '⚑ Signal Lock: Live' }}
{{ strategy.signal_lock_mode ? '일봉 μ’…κ°€ ν™•μ • ν›„ μ‹ ν˜Έ κ³ μ • β€” λ°±ν…ŒμŠ€νŠΈμ™€ 동일 쑰건' : 'μ‹€μ‹œκ°„ μΊ”λ“€λ‘œ λ§€ 사이클 μž¬κ³„μ‚° β€” λ°±ν…ŒμŠ€νŠΈ 미검증' }}

πŸ“ˆ Trend Detection (EMA)

🏷️ Bot Identity

Step 4 of 4

{{ botNameError }}

Give your bot a memorable name

πŸ“‹ Summary

Target Coins
{{ selectedCoins.length }}
Total Budget
${{ strategy.total_budget }}
Direction
{{ strategy.direction }}
Estimated Capital Required:
${{ estimatedCapital.toFixed(2) }} USDT

Initial + All Safety Orders (per coin)

⚠️ Please fix the following:
  • {{ error }}
Cancel

πŸ“‹ Safety Order Preview

SO # Deviation (%) Margin (USDT) Notional (USDT)
{{ so.number }} πŸ’¨ βš”οΈ {{ so.deviation.toFixed(2) }}% ${{ so.margin.toFixed(2) }} ${{ so.notional.toFixed(2) }}
TOTAL - ${{ totalSOMargin.toFixed(2) }} ${{ totalSONotional.toFixed(2) }}

πŸ’¨ Light (SO < {{ effectiveThreshold }}) = Can flip on reversal | βš”οΈ Defense (SO β‰₯ {{ effectiveThreshold }}) = Hold if trend reverses