如何在 Origami Tech 中使用 DCA 合约加密货币交易机器人预设

简介
Futures | One Way | DCA Bot 是 Origami Tech 的一款加密货币交易机器人预设,旨在逐步建立永续合约仓位,并通过动态定价管理离场。
该策略根据当前仓位数据、1 分钟合约 K线、预设的价格偏移、仓位规模以及与当前入场价的距离,决定下一笔订单的挂单位置。当仓位进入盈利状态时,机器人可以瞄准较小的止盈目标。在回撤期间,策略可以按受控的入场间距再次加仓。
最终形成的是一种自动化 DCA 策略,其仓位规模会根据市场状况和现有合约仓位的状态而变化。
本指南将说明这款 DCA 交易机器人如何运作、适合哪些市场、其公式控制哪些内容、如何在 Origami Tech 中启动该预设,以及哪些参数可以调整。
什么是 Futures One Way DCA 加密货币交易机器人?
DCA 通常是指通过多次入场逐步建立仓位,而不是一次性投入全部计划规模。
在这款 Origami Tech 预设中,这些入场由市场和仓位条件驱动。
机器人以 One Way 仓位模式运行,买卖操作都作用于同一个合约净仓位。因此,随着仓位变化,策略可以增加敞口、减少敞口或转换方向。
该预设的设计目标是:
- 在价格下跌后买入
- 在价格上涨后卖出
- 在行情不利时对现有仓位加仓
- 在仓位进入盈利时获取相对较小的利润
- 根据当前仓位规模调整追加入场的间距
- 使每笔追加订单都锚定预设的 USD 计价名义价值
该策略持续读取合约市场和现有仓位,然后重新计算下一步可执行的加密货币交易操作。
DCA 策略如何运作
该预设结合了三个主要信息来源。
第一,读取当前合约仓位。这可以让交易机器人了解账户当前是多头、空头还是基本空仓。
第二,读取近期 1 分钟合约 K线。K线价格用作计算新买卖价格的参考。
第三,将当前仓位与 spread、max_gap 和 take_profit 等参数进行比较。
这使机器人能够根据仓位状态调整自身行为。
当行情朝不利于仓位的方向发展时,策略可以按受控距离再下一笔 DCA 入场单。
当仓位进入盈利时,机器人可以使用较小的 take_profit 距离寻找离场机会。
当前仓位
该预设通过以下方式读取仓位:
position_fetched =
position(grid().position_side, grid().margin_mode)
这使策略能够获取可用数量和 USD 名义价值等仓位数据。
仓位非常重要,因为其他多个公式都会根据其方向和规模而变化。
因此,机器人可以区别对待正仓位和负仓位,并随着敞口增长调整下一笔订单。
1 分钟合约 K线
默认预设使用:
candles_fetched = candles_futures('m1')
这意味着该策略使用 1 分钟 K线。
最新一根 K线为买卖计算提供价格参考。
可见的买入公式开头为:
candles_fetched[0].low * (1 - spread)
而卖出公式开头为:
candles_fetched[0].high * (1 + spread)
完整公式还包含条件性的仓位逻辑。其可见结构已清楚展示了基本的定价原理。
机器人可以在近期 K线最低价下方挂买单,在近期 K线最高价上方挂卖单,距离由 spread 控制。
价差
默认值:
spread = 0.0001
对应:
0.01%
spread 变量会在用作参考的 K线价格基础上形成一个小幅偏移。
对于买单,可见的计算使用:
candle low × (1 - spread)
对于卖单,则使用:
candle high × (1 + spread)
假设最新一根 1 分钟 K线的最低价为 100。
在默认价差下:
100 × (1 - 0.0001) = 99.99
因此,经价差调整后的参考价格为 99.99。
spread 越大,订单离近期 K线价格越远。这通常会降低执行频率,并需要更大的价格波动才能成交。
spread 越小,订单越接近近期价格,与市场发生成交的概率也越高。
固定 DCA 订单规模
当前预设在买入和卖出的规模公式中使用固定的名义价值。
可见的公式包含:
11 / execute_price
数值 11 代表用于计算基础资产数量的计价金额。
例如,如果执行价格为 2,000:
11 / 2000 = 0.0055
得出的订单数量约为 0.0055 单位基础资产。
对于以 USDT 计价的市场,这相当于未计手续费和执行差异前约 11 USDT 的名义规模。
使用固定名义金额,可以使每一步 DCA 在 USD 层面上都可预期。
随着价格变化,基础资产数量会自动调整,因为固定的计价金额要除以 execute_price。
DCA 入场之间的最大间距
最重要的参数之一是:
max_gap =
0.001 if position_fetched.notional_usd < 5000 else 0.02
因此,该策略会根据仓位当前的名义规模使用两个不同的间距值。
当仓位名义价值低于 5,000 USD 时:
max_gap = 0.001
即 0.1%。
当仓位名义价值达到或超过 5,000 USD 时:
max_gap = 0.02
即 2%。
这在 DCA 逻辑中形成了一项重要的风险控制。
在仓位规模较小时,追加订单之间的距离可以相对较近。
随着敞口增大,允许的间距显著扩大。因此,策略需要更大的价格波动才会继续增加敞口。
这有助于在名义规模达到设定阈值后放慢仓位增长的速度。
为什么 max_gap 很重要
在持续的单边行情中,DCA 策略可能累积大量敞口。
设想持有多头仓位而市场持续下跌,每一次追加买入都会使仓位增大。
间距过小可能导致机器人在同一轮行情中反复加仓。
较大的 max_gap 可以拉开这些加仓之间的距离。
因此,max_gap 直接影响加密货币交易机器人在回撤中摊平成本的激进程度。
默认配置在仓位名义价值达到 5,000 USD 时就已经会改变其行为。
止盈
默认值:
take_profit = 0.0005
对应:
0.05%
预设说明指出,该数值在现有仓位已经盈利时使用。
这时机器人可以寻找相对较小的有利波动,而不是继续加仓。
0.05% 的目标是有意设得很小,这符合该策略反复 DCA 和再入场的结构。
应仔细考虑交易所手续费,因为较小的毛价格波动在扣除执行成本后,净结果可能会少很多。
动态买入和卖出价格
该预设分别计算:
price_buy
以及:
price_sell
可见的公式结合使用近期 K线的最低价、最高价和 spread。
该策略还会纳入现有仓位及其与当前平均入场价的距离。
这意味着下一笔买入或卖出价格会因机器人是在开立敞口、摊平仓位还是寻找离场而有所不同。
因此,其定价逻辑是动态的,而不是由永久固定价格组成的静态阶梯。
执行价格
不同方向的价格通过以下方式合并:
execute_price =
price_buy if side == 'buy' else price_sell
当策略需要下买单时,execute_price 使用 price_buy。
当需要下卖单时,则使用 price_sell。
这使同一套交易机器人逻辑能够管理 One Way 仓位的两个方向。
执行数量
该预设使用:
execute_volume =
amount_buy if side == 'buy' else amount_sell
因此,该策略也分别维护买入和卖出的规模计算。
可见的公式显示,仓位规模锚定固定的计价金额,并按当前执行价格换算为基础资产数量。
这使单次 DCA 的名义价值在加密货币价格波动时保持相对稳定。
余额检查
该预设包含:
is_balance_ok_flag =
balance('counter').total > 0
以及:
is_bot_working = is_balance_ok_flag
因此,交易机器人在继续执行逻辑之前,会检查计价货币余额是否可用。
这可以防止策略把计价货币可用余额为零的账户视为可以正常运行。
买入和卖出订单逻辑
该预设为两个方向分别设置了订单计数器。
可见的买入条件为:
buy_orders_count =
1 if is_bot_working else
(1 if position_fetched.available_quantity < 0 else 0)
卖出条件为:
sell_orders_count =
1 if is_bot_working else
(1 if position_fetched.available_quantity > 0 else 0)
完整策略将这些计数器与价格和数量公式结合使用。
方向也会根据当前 One Way 仓位自动变化,使机器人能够通过同一个预设管理多头和空头状态。
成交后的延迟
默认值:
sleep_after_fill = 5
机器人在成交后等待 5 秒,然后才继续下一个执行周期。
这可以避免订单成交后立即反复重新计算。
该延迟也会影响策略在行情快速波动时的反应速度。
延迟越长,周期越慢。
延迟越短,重新计算越快,加密货币交易活动也可能越频繁。
DCA 机器人默认设置
参数 默认值 作用
spread 0.0001 用于买入和卖出计算的 0.01% 价格偏移max_gap 0.001 名义价值低于 $5,000 时 敞口低于阈值时的间距为 0.1%max_gap 0.02 名义价值自 $5,000 起 仓位敞口达到阈值后的间距为 2%
订单名义价值 11 可见仓位规模公式中使用的固定计价金额take_profit 0.0005 0.05% 止盈参数
K线时间周期 m1 使用 1 分钟合约 K线sleep_after_fill. 5 成交后延迟 5 秒
仓位模式 One Way 单一合约净仓位
余额条件 计价货币余额大于零 余额可用时策略才可运行
典型的 DCA 周期是怎样的?
- 通过一个简化示例更容易理解该策略。
- 假设机器人已开立多头合约仓位。
- 市场开始下跌。
- 交易机器人读取当前仓位、最新的 1 分钟 K线以及与平均入场价的当前距离。
- 只要仓位仍符合相关 DCA 条件,策略就可以在当前参考水平下方再计算一笔买单。
- 追加订单采用固定名义价值的规模逻辑。
- 该订单成交后,机器人等待 5 秒再重新计算。
- 如果行情继续朝不利于仓位的方向发展,根据
max_gap可能会出现下一个 DCA 层级。 - 如果行情回升、仓位进入盈利,
take_profit逻辑就开始发挥作用。 - 此时机器人可以瞄准离场,而不是继续增加敞口。
- 空头仓位则在相反方向上遵循相应逻辑。
这款 DCA 加密货币交易机器人适合哪些市场?
该预设专为使用 One Way 仓位模式的永续合约市场而设计。
在流动性充足、订单执行可靠且深度足以支持反复入场的市场上,其逻辑通常更容易评估。
日内波动规律的市场,可以提供较多价格偏离入场位后再回调的机会。
在强劲而持续的趋势中,该策略需要格外谨慎。
当行情朝不利于当前仓位的方向发展时,DCA 机器人可能持续增加敞口。随着名义价值增长,max_gap 逻辑会减缓这一过程,但杠杆、可用保证金和总敞口依然十分重要。
因此,选择市场时应综合考虑流动性、波动性、资金费率、交易所手续费以及出现长时间单边行情的可能性。
如何启动 DCA 合约加密货币交易机器人
- 打开您的 Origami Tech 项目,并连接将用于合约加密货币交易的交易所账户。
- 创建一个新的交易机器人,并选择所需的永续合约交易对。
- 配置 One Way 仓位模式、保证金设置和杠杆。
- 打开 Import Preset 并选择:Futures | One Way | DCA Bot
- 检查预设公式,并在启用前计算策略。
- 启动前最需要检查的设置是
spread、max_gap、订单名义规模、take_profit、杠杆和可用余额。 - 检查配置后保存交易机器人,当计算出的策略符合您预期的风险限额时再启用。
应该调整哪些参数?
spread(价差)
默认值:
0.0001
即 0.01%。
如果希望订单离近期 K线最高价或最低价更远,可以调高 spread。
这可能降低执行频率,并需要更大的市场波动才能成交。
如果希望订单更接近近期市场价格,可以调低 spread。
更窄的设置通常会带来更活跃的执行。
max_gap(最大间距)
默认值:
0.001 if position_fetched.notional_usd < 5000 else 0.02
这是核心风险参数之一。
如果希望在价格不利波动时拉开 DCA 加仓的间距,可以调高该间距。
这通常会放慢仓位增长的速度。
如果希望采用入场更密集、更激进的摊平策略,可以调低该间距。
如果您的账户规模与默认配置差异较大,也可以调整名义价值阈值。
例如,资金规模小得多的交易者,可能希望在名义敞口达到 5,000 USD 之前就让仓位间距变得更保守。
固定订单名义价值
可见的规模公式当前使用:
11 / execute_price
调高 11 会增加每笔 DCA 入场的计价金额。
例如:
25 / execute_price
将生成基于约 25 单位计价货币的订单。
数值越大,敞口建立得越快。
数值越小,DCA 步长越细,仓位增长越慢。
该参数应与账户余额、杠杆以及所选合约交易对的流动性相匹配。
take_profit(止盈)
默认值:
0.0005
即 0.05%。
调高 take_profit 后,需要更大的有利波动,策略才会瞄准离场。
这可能提高每个成功周期的目标收益,但也会使仓位持有更长时间。
调低该数值可以在较小的有利波动中更快离场。
当止盈目标很小时,交易所手续费尤为重要。
K线时间周期
默认值:
candles_futures('m1')
机器人使用 1 分钟 K线。
使用更长的时间周期会改变策略所用的价格范围,并使基于 K线的参考水平反应更慢。
5 分钟或 15 分钟 K线的高低价区间也可能明显大于 1 分钟 K线。
因此,更改此参数会改变底层的执行行为,应视为策略调整,而不是简单的规模设置。
sleep_after_fill(成交后等待)
默认值:
5
调高此数值会让交易机器人在成交后等待更长时间。
如果您想限制快速行情中多笔订单的成交速度,这会很有用。
缩短该间隔会让策略更快重新计算。
更高的执行频率也可能带来更高的换手率和更多手续费。
通常不宜频繁更改的参数
诸如以下变量:
position_fetchedexecute_priceexecute_volumeis_bot_workingis_balance_ok_flag构成了该预设的结构性逻辑。
更改这些数值会改变交易机器人识别仓位、选择订单方向或判断能否继续执行的方式。
对于普通的预设配置,订单规模、价差、间距和止盈等参数是调整策略更清晰的方式。
更改结构性公式实际上等于创建了一个修改版的 DCA 策略。
如何让 DCA 机器人更保守
更保守的配置通常侧重于放慢仓位增长。
可以通过减小订单名义规模、拉大 DCA 加仓间距、降低杠杆,以及视情况延长成交后的暂停时间来实现。
其目的是在继续增加敞口之前,给仓位留出更多空间。
代价是执行频率降低,在较小行情中改善平均入场价的机会也更少。
如何让 DCA 机器人更活跃
更活跃的配置可以使用更小的间距、更近的价格偏移和更短的执行间隔。
这样可以更频繁地参与短期行情波动。
在这些设置下,仓位敞口也可能增长得更快。
因此,随着执行频率上升,手续费和持续的单边行情也变得愈发重要。
启动后需要监控什么
需要关注的主要指标包括仓位名义价值、平均入场价、当前回撤、可用余额、已实现 PnL、未实现 PnL、DCA 加仓次数、手续费和资金费用。
仓位名义价值尤为重要,因为当敞口越过 5,000 USD 阈值时,预设会改变其 max_gap。
平均入场价同样重要,因为策略会根据仓位状态决定继续摊平还是开始应用止盈离场逻辑。
当策略以反复获取小额利润为目标时,监控手续费至关重要。
0.05% 的 take_profit 参数留给手续费、资金费用和执行差异的空间有限,具体取决于交易所和账户的手续费等级。
DCA 合约加密货币交易机器人的主要风险
DCA 通过在不利行情中增加仓位来改变平均入场价。
如果市场随后反转,这可以改善入场水平。
如果行情继续朝同一不利方向发展,也可能增加总敞口和未实现亏损。
永续合约又为这一过程增添了杠杆、保证金和强平风险。
因此,最重要的风险控制要素是每笔 DCA 订单的规模、追加入场之间的距离、允许的总仓位规模、杠杆和可用保证金。
该预设的动态 max_gap 提供了一种随仓位名义价值增长而放慢追加入场的机制。
除预设逻辑外,账户层面的风险限额依然重要。
总结
Futures | One Way | DCA Bot 是一款动态的加密货币交易机器人预设,围绕逐步加仓和反复小额离场而构建。
当前配置使用 1 分钟合约 K线、0.01% 的价差、0.05% 的止盈、每步 DCA 约 11 单位计价货币、成交后 5 秒延迟,以及在仓位名义价值达到 5,000 USD 后从 0.1% 变为 2% 的动态 max_gap。
常规自定义时最重要的参数是 spread、max_gap、固定订单名义价值、take_profit 和 sleep_after_fill。
这些变量共同决定机器人入场的速度、在不利行情中摊平的激进程度、每笔追加订单的规模,以及盈利仓位离场的速度。
该预设可以作为自动化交易机器人策略的起点,而最终配置应始终结合账户规模、杠杆、市场流动性以及交易者准备管理的合约敞口规模。
一般免责声明:合约加密货币交易涉及市场、杠杆、强平、资金费用、手续费和执行等风险。DCA 可能在不利行情中增加仓位敞口。加密货币交易机器人预设只是自动执行预定义的策略逻辑,不保证盈利或未来收益。





