资金目标平仓策略图
资金目标完全不看价格:只要持仓中的浮动金额达到设定数值,就把仓位平掉。本图把这条规则加在一套简单的双均线引擎之上。交叉决定何时进场;盈利目标和亏损上限决定何时收手,其中任意一个被触及的瞬间,仓位即被平掉,所有仍在挂着的委托也随之被全部撤销。
策略概览
- 已收盘的五分钟K线送入一条快速和一条慢速指数移动平均线,交叉方块把这一对线变成一个事件:快线上穿慢线时为真,下穿慢线时为假。
- 一个逻辑非让下穿也拥有属于自己的信号,于是两个方向各自成为一道独立的门。
- 持仓方块与零比较,说明当前是空仓、多头还是空头,而每一道门都是一个交叉与一个持仓状态的逻辑与。
- 两个入场都是固定手数的市价委托,并带有开仓条件,因此在已有持仓运行时到来的交叉无法继续加仓。
- 策略盈亏方块(Strategy P&L)按自己的节奏输出运行中持仓的浮动盈亏,每小时若干次,而不是每根K线一次。
- 两个比较把这个数值分别与盈利目标和亏损上限对照,而每个阈值都是由同一个盈亏值触发的变量,因此比较的两个操作数始终来自同一时刻。
- 组合方块(Combination)把两个答案汇成一条出场线,它同时做两件事:持仓修改(Position modify)以市价平掉仓位,批量撤单(Mass order cancellation)清掉所有仍在挂着的委托。
- 与已有持仓方向相反的交叉同样会把它平掉,因此本图不会一直守着一笔均线已经转向的交易。
入场与出场规则
- 做多入场: 在一根已收盘的K线上,快线上穿慢线且当前为空仓:持仓修改以市价买入委托手数。
- 做空入场: 在一根已收盘的K线上,快线下穿慢线且当前为空仓:持仓修改以市价卖出委托手数。
- 离场: 有两条彼此独立的出场路径。只要持仓的浮动盈亏达到盈利目标或跌到亏损上限,资金出场就会触发:组合方块把信号传出去,仓位以市价平掉,剩余的委托全部被撤销。与已有持仓方向相反的交叉同样会把它平掉。无论哪一个先到,本图都会回到空仓并等待,而下一个碰上空仓的交叉将开出下一笔仓位,做多或做空。
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
| Candles | 00:05:00 | 两条均线所基于的K线序列的时间周期。 |
| Fast EMA Length | 12 | 快速指数移动平均线的周期长度。 |
| Slow EMA Length | 26 | 慢速指数移动平均线的周期长度。 |
| Volume | 1 | 每次入场发出的委托数量,以手为单位。 |
| Profit To Close | 300 | 浮动盈亏达到该金额(以货币计)时,仓位作为盈利被平掉。 |
| Loss To Close | -600 | 浮动盈亏达到该金额(以货币计)时,仓位作为亏损被平掉;由于它直接与盈亏值比较,所以写成负数。 |
图表详情
- 阈值比较的是浮动盈亏,也就是运行中持仓里的金额,因此它们对每一笔仓位依次起到资金止盈和资金止损的作用。把同样这两个比较接到已实现盈亏输出上,这一对阈值就变成一个单向开关:账户一旦达到该数值,本次运行就结束了。
- 资金出场不受K线节奏的约束。它按盈亏的更新动作,因此目标可以在一根K线的中途被兑现,而不必等到下一次收盘。
- 本图发出的每一笔委托都是市价委托,所以在打包的历史数据上,撤单动作找不到可撤的东西。之所以把它接上,是因为留下未成交委托的资金出场只算半个出场,而一旦图中加入挂单,它就开始起作用。
- 两个平仓方块都带有平仓条件,因此既不需要方向也不需要手数:方块读取当前持仓,按正好这个数量发出反向委托。
- 正是五分钟的节奏让这层资金逻辑显现出来。在长得多的K线上,这一对均线一个月只交叉寥寥数次,仓位很少,而阈值的大小是按五分钟序列所产生的波动幅度来设定的。
使用方法
将 .json 文件导入 Designer,在回测器中用历史数据运行,然后根据自己的交易品种调整参数或方块,确认无误后再用于实盘。