How to Use the DCA Futures Crypto Trading Bot Preset in Origami Tech

Introduction
The Futures | One Way | DCA Bot is an Origami Tech crypto trading bot preset designed to scale into perpetual futures positions gradually and manage exits through dynamic pricing.
The strategy uses current position data, one minute futures candles, predefined price offsets, position size and distance from the current entry to decide where the next order should be placed. When a position moves into profit, the bot can target a small take profit. During a drawdown, the strategy can add to the position again using a controlled distance between entries.
The result is an automated DCA strategy where position size changes according to market conditions and the state of the existing futures position.
This guide explains how the DCA crypto trading bot works, which markets are suitable for it, what its formulas control, how to launch the preset in Origami Tech and which parameters can be adjusted.
What Is the Futures One Way DCA Crypto Trading Bot?
DCA usually refers to gradually building a position through multiple entries instead of committing the entire intended size at once.
In this Origami Tech preset, those entries are driven by market and position conditions.
The bot operates in One Way position mode, where buy and sell activity modifies one net futures position. The strategy can therefore increase exposure, reduce it or switch direction as the position changes.
The preset is designed to:
- buy after price moves lower
- sell after price moves higher
- add to an existing position during adverse movement
- take relatively small profits when the position moves into profit
- adapt the distance between additional entries according to the current position size
- keep each additional order anchored to a predefined USD based notional amount
The strategy continuously reads the futures market and the existing position, then recalculates the next available crypto trading action.
How the DCA Strategy Works
The preset combines three main sources of information.
First, it reads the current futures position. This tells the crypto trading bot whether the account is currently long, short or effectively flat.
Second, it reads recent one minute futures candles. Candle prices are used as references for calculating new buy and sell prices.
Third, it compares the current position with parameters such as spread, max_gap and take_profit.
This allows the bot to change its behavior according to the state of the position.
When the market moves against the position, the strategy can place another DCA entry at a controlled distance.
When the position moves into profit, the bot can use the smaller take_profit distance to look for an exit.
Current Position
The preset reads the position with:
position_fetched =
position(grid().position_side, grid().margin_mode)
This gives the strategy access to position data such as available quantity and USD notional value.
The position is important because several other formulas change according to its direction and size.
The bot can therefore treat a positive position differently from a negative position and adapt the next order as exposure grows.
One Minute Futures Candles
The default preset uses:
candles_fetched = candles_futures('m1')
This means the strategy works with one minute candles.
The most recent candle provides price references for the buy and sell calculations.
The visible buy formula begins with:
candles_fetched[0].low * (1 - spread)
while the sell formula begins with:
candles_fetched[0].high * (1 + spread)
The complete formulas also contain conditional position logic. Their visible structure shows the basic pricing principle clearly.
The bot can place a buy below the recent candle low and a sell above the recent candle high, with the distance controlled by spread.
Spread
Default:
spread = 0.0001
This corresponds to:
0.01%
The spread variable creates a small offset from the candle price used as a reference.
For a buy, the visible calculation uses:
candle low × (1 - spread)
For a sell, it uses:
candle high × (1 + spread)
Suppose the latest one minute candle has a low of 100.
With the default spread:
100 × (1 - 0.0001) = 99.99
The spread adjusted reference price would therefore be 99.99.
A larger spread moves orders farther from recent candle prices. This usually reduces execution frequency and requires a larger price movement before an order can fill.
A smaller spread places orders closer to recent prices, increasing the probability of interaction with the market.
Fixed DCA Order Size
The current preset uses a fixed notional value in its buy and sell sizing formulas.
The visible formula contains:
11 / execute_price
The value 11 represents the quote value used to calculate the amount of the base asset.
For example, if the execution price is 2,000:
11 / 2000 = 0.0055
The resulting order amount would be approximately 0.0055 units of the base asset.
For a USDT quoted market, this represents approximately 11 USDT of notional size before fees and execution differences.
Using a fixed notional amount makes each DCA step predictable in USD terms.
As the price changes, the quantity of the base asset changes automatically because the fixed quote value is divided by execute_price.
Maximum Gap Between DCA Entries
One of the most important parameters is:
max_gap =
0.001 if position_fetched.notional_usd < 5000 else 0.02
The strategy therefore uses two different gap values depending on the current notional size of the position.
When position notional is below 5,000 USD:
max_gap = 0.001
or 0.1%.
When position notional reaches 5,000 USD or more:
max_gap = 0.02
or 2%.
This creates an important risk control inside the DCA logic.
At smaller position sizes, additional orders can be placed relatively close together.
As exposure becomes larger, the allowed gap expands significantly. The strategy therefore requires a larger price movement before adding further exposure.
This helps slow the rate at which the position grows once its notional size reaches the configured threshold.
Why max_gap Matters
DCA strategies can accumulate significant exposure during sustained directional movements.
Imagine a long position while the market keeps falling. Every additional buy increases the position.
A very small gap can cause the bot to add repeatedly during the same move.
A larger max_gap spaces those additions farther apart.
For this reason, max_gap directly affects how aggressively the crypto trading bot averages into drawdowns.
The default configuration already changes its behavior when position notional reaches 5,000 USD.
Take Profit
Default:
take_profit = 0.0005
This corresponds to:
0.05%
The preset description indicates that this value is used when the existing position is already profitable.
The bot can then look for a relatively small favorable move rather than continuing to add to the position.
A 0.05% target is intentionally small, which fits the strategy's repeated DCA and re entry structure.
Exchange fees should be considered carefully because a small gross price movement can leave considerably less net result after execution costs.
Dynamic Buy and Sell Prices
The preset calculates separate values for:
price_buy
and:
price_sell
The visible formulas use recent candle lows and highs together with spread.
The strategy also incorporates the existing position and its distance from the current average entry.
This means the next buy or sell price can change depending on whether the bot is opening exposure, averaging a position or looking for an exit.
The pricing logic is therefore dynamic rather than a static ladder of permanently fixed prices.
Execution Price
The direction specific prices are combined through:
execute_price =
price_buy if side == 'buy' else price_sell
When the strategy needs a buy order, execute_price uses price_buy.
When it needs a sell order, it uses price_sell.
This allows the same crypto trading bot logic to manage both sides of the One Way position.
Execution Volume
The preset uses:
execute_volume =
amount_buy if side == 'buy' else amount_sell
The strategy therefore also maintains separate buy and sell sizing calculations.
The visible formulas show that position size is anchored to a fixed quote amount and converted into base asset quantity using the current execution price.
This keeps the notional value of individual DCA steps relatively consistent while crypto prices move.
Balance Check
The preset includes:
is_balance_ok_flag =
balance('counter').total > 0
and:
is_bot_working = is_balance_ok_flag
The crypto trading bot therefore checks that counter currency balance is available before continuing its execution logic.
This prevents the strategy from treating an account with zero available counter balance as ready for normal operation.
Buy and Sell Order Logic
The preset includes separate order counters for the two directions.
The visible buy condition is:
buy_orders_count =
1 if is_bot_working else
(1 if position_fetched.available_quantity < 0 else 0)
The sell condition is:
sell_orders_count =
1 if is_bot_working else
(1 if position_fetched.available_quantity > 0 else 0)
The complete strategy combines these counters with the price and volume formulas.
Direction also changes automatically according to the current One Way position, which allows the bot to manage both long and short states through the same preset.
Delay After an Execution
Default:
sleep_after_fill = 5
The bot waits 5 seconds after a fill before continuing with the next execution cycle.
This prevents immediate repeated recalculation directly after an order fills.
The delay also influences how quickly the strategy can react during fast market movement.
A longer delay slows the cycle.
A shorter delay allows faster recalculation and potentially more frequent crypto trading activity.
Default DCA Bot Settings
Parameter Default Role
spread 0.0001 0.01% price offset used in buy and sell calculations
max_gap 0.001 below $5,000 notional 0.1% gap while exposure remains below the threshold
max_gap 0.02 from $5,000 notional 2% gap after position exposure reaches the threshold
Order notional. 11 Fixed quote value used in visible position sizing formulas
take_profit 0.0005 0.05% take profit parameter
Candle timeframe m1 Uses one minute futures candles
sleep_after_fill. 5 Five second delay after a fill
Position mode. One Way One net futures position
Balance condition Counter balance above zero Allows the strategy to operate when balance is available
What Happens During a Typical DCA Cycle?
- A simplified example makes the strategy easier to understand.
- Assume the bot has opened a long futures position.
- The market begins moving lower.
- The crypto trading bot reads the current position, latest one minute candle and current distance from the average entry.
- While the position remains within the relevant DCA conditions, the strategy can calculate another buy below the current reference level.
- The additional order uses the fixed notional sizing logic.
- Once that order fills, the bot waits five seconds before recalculating.
- If the market continues moving against the position, another DCA level may become available according to
max_gap. - If the market recovers and the position moves into profit, the
take_profitlogic becomes relevant. - The bot can then target an exit rather than adding further exposure.\
- A short position follows the corresponding logic in the opposite direction.
Which Markets Are Suitable for This DCA Crypto Trading Bot?
The preset is designed for perpetual futures markets using One Way position mode.
Its logic is generally easier to evaluate on liquid markets with reliable order execution and enough depth to support repeated entries.
Markets with regular intraday fluctuations can provide multiple opportunities for price to move away from an entry and subsequently retrace.
The strategy deserves additional caution during strong sustained trends.
A DCA bot can continue increasing exposure while the market moves against the current position. The max_gap logic slows this process as notional grows, while leverage, available margin and total exposure still remain important.
For this reason, market selection should consider liquidity, volatility, funding rates, exchange fees and the probability of extended directional movement.
How to Launch the DCA Futures Crypto Trading Bot
- Open your Origami Tech project and connect the exchange account that will be used for futures crypto trading.
- Create a new crypto trading bot and select the required perpetual futures pair.
- Configure One Way position mode, margin settings and leverage.
- Open Import Preset and select: Futures | One Way | DCA Bot
- Review the preset formulas and calculate the strategy before activation.
- The most important settings to review before launch are
spread,max_gap, order notional size,take_profit, leverage and available balance. - Save the crypto trading bot after reviewing its configuration, then enable it when the calculated strategy matches your intended risk limits.
Which Parameters Should You Change?
spread
Default:
0.0001
This equals 0.01%.
Increase spread when you want orders to sit farther from the recent candle high or low.
This can reduce execution frequency and require a larger market move before an order fills.
Reduce spread when you want orders closer to recent market prices.
A tighter setting generally creates more active execution.
max_gap
Default:
0.001 if position_fetched.notional_usd < 5000 else 0.02
This is one of the core risk parameters.
Increase the gap when you want DCA additions spaced farther apart during adverse price movement.
This usually slows the rate at which the position grows.
Reduce the gap when you want a more aggressive averaging strategy with entries closer together.
The notional threshold can also be adjusted if your account size differs significantly from the default configuration.
For example, a trader operating with much smaller capital may want position spacing to become more conservative before reaching 5,000 USD of notional exposure.
Fixed Order Notional
The visible sizing formula currently uses:
11 / execute_price
Increasing 11 increases the quote value of each DCA entry.
For example:
25 / execute_price
would create an order based on approximately 25 units of quote currency.
A larger value builds exposure more quickly.
A smaller value creates finer DCA steps and slower position growth.
This parameter should be matched to account balance, leverage and the liquidity of the selected futures pair.
take_profit
Default:
0.0005
or 0.05%.
Increasing take_profit requires a larger favorable move before the strategy can target an exit.
This may increase the target per successful cycle while keeping the position open for longer.
Reducing the value allows faster exits from smaller favorable movements.
Exchange fees become particularly important when the take profit target is very small.
Candle Timeframe
Default:
candles_futures('m1')
The bot uses one minute candles.
Using a longer timeframe would change the price range used by the strategy and make candle based reference levels react more slowly.
A five minute or fifteen minute candle can also have a materially larger high to low range than a one minute candle.
Changing this parameter therefore modifies the underlying execution behavior and should be treated as a strategy adjustment rather than a simple size setting.
sleep_after_fill
Default:
5
Increasing this value makes the crypto trading bot wait longer after a fill.
This can be useful when you want to limit how quickly several orders can execute during a fast move.
Reducing the interval makes the strategy recalculate sooner.
Higher execution frequency can also produce higher turnover and more fees.
Parameters That Usually Deserve Fewer Changes
Variables such as:
position_fetchedexecute_priceexecute_volumeis_bot_workingis_balance_ok_flagform the structural logic of the preset.
Changing these values alters how the crypto trading bot identifies positions, selects order direction or determines whether execution can continue.
For ordinary preset configuration, parameters such as order size, spread, gap and take profit provide a clearer way to adjust the strategy.
Changes to the structural formulas effectively create a modified DCA strategy.
How to Make the DCA Bot More Conservative
A more conservative configuration generally focuses on slower position growth.
This can be achieved by using smaller order notional size, larger gaps between DCA additions, lower leverage and potentially a longer pause after fills.
The goal is to give the position more room before adding further exposure.
The tradeoff is lower execution frequency and fewer opportunities to improve the average entry price during smaller market movements.
How to Make the DCA Bot More Active
A more active configuration can use smaller gaps, closer price offsets and shorter execution intervals.
This creates more frequent interaction with short term market movements.
Position exposure can also grow faster under these settings.
Fees and sustained directional movement therefore become increasingly important as execution frequency rises.
What to Monitor After Launch
The main indicators to follow are position notional, average entry price, current drawdown, available balance, realized PnL, unrealized PnL, number of DCA additions, fees and funding.
Position notional is especially important because the preset changes its max_gap when exposure crosses the 5,000 USD threshold.
The average entry price also matters because the strategy uses the position state to decide whether it should continue averaging or start applying its profit exit logic.
Monitoring fees is essential when the strategy targets small repeated profits.
A 0.05% take_profit parameter leaves limited room for fees, funding and execution differences, depending on the exchange and account fee tier.
Main Risks of a DCA Futures Crypto Trading Bot
DCA changes the average entry price by increasing the position during adverse moves.
This can improve the entry level when the market later reverses.
Continued movement in the same adverse direction can also increase total exposure and unrealized loss.
Perpetual futures add leverage, margin and liquidation risk to that process.
The most important risk controls are therefore the size of each DCA order, the distance between additional entries, the total allowed position size, leverage and available margin.
The preset's dynamic max_gap provides one mechanism for slowing additional entries as position notional grows.
Account level risk limits remain important alongside the preset logic.
Final Thoughts
The Futures | One Way | DCA Bot is a dynamic crypto trading bot preset built around gradual position scaling and repeated small exits.
The current configuration uses one minute futures candles, a 0.01% spread, a 0.05% take profit, approximately 11 units of quote currency per DCA step, a five second delay after fills, and a dynamic max_gap that changes from 0.1% to 2% once position notional reaches 5,000 USD.
The most important parameters for normal customization are spread, max_gap, fixed order notional, take_profit and sleep_after_fill.
Together, these variables control how quickly the bot enters, how aggressively it averages into adverse moves, how large each additional order is and how quickly profitable positions can be exited.
The preset can serve as a starting point for an automated crypto trading bot strategy, while the final configuration should always reflect account size, leverage, market liquidity and the amount of futures exposure the trader is prepared to manage.
General disclaimer: Futures crypto trading involves market, leverage, liquidation, funding, fee and execution risks. DCA can increase position exposure during adverse market movement. Crypto trading bot presets automate predefined strategy logic and do not guarantee profitability or future returns.
Trade Smarter with Origami Tech
Take your crypto trading to the next level with our powerful automated trading terminal. Maximize profits, minimize risks, and stay ahead of the market 24/7.




