一种基于技术指标和动态止损策略的交易方法,旨在提高交易的灵活性和风险控制能力。
1 -动态止损价格计算:该函数通过计算ATR(平均真实范围)和盈利峰值价,结合加速系数,动态调整止损价格。具体来说,它根据市场位置(多头或空头)和进场后的Bar数,不断更新止损价格,以更好地保护利润。
2 -多头进场后的处理:如果当前市场位置为多头且没有新的Bar,则初始化止损价为当前最低价减去ATR乘以一个系数。如果有新的Bar,则更新盈利峰值价和加速度系数,并根据新的最高价调整止损价。
3 - 空头进场后的处理:类似地,如果当前市场位置为空头且没有新的Bar,则初始化止损价为当前最高价加上ATR乘以一个系数。如果有新的Bar,则更新盈利峰值价和加速度系数,并根据新的最低价调整止损价。
4 - PVT和ATR结合:该策略结合了PVT(价格成交量趋势)指标和ATR(平均真实范围),通过这两个指标实现自动交易,包括进场和止损操作。PVT指标用于衡量价格和成交量的关系,而ATR则用于衡量市场的波动性。
- 进场条件:当PVT值大于前一个Bar的最高值且当前最高价高于前一个Bar的最高价加上长度乘以ATR值时,执行多头进场操作。
- 止损条件:通过调用加速度策略函数计算动态止损线。如果当前市场位置为多头且当前最低价低于前一个Bar的止损线,则执行多头平仓操作;如果当前市场位置为空头且当前最高价高于前一个Bar的止损线,则执行空头平仓操作。
函数功能:
该函数的主要功能是计算并返回一个动态的止损价格,用于在交易过程中自动调整止损水平。
输入参数:
- `Length`:用于计算ATR(平均真实范围)和新高价的Bar数。
- `Trigger`:用于计算多头进场价的驱动系数。
- `Accion`:抛物线的加速系数。
- `Fultp`:用于计算在进场Bar设置止损价的系数。
输出:
- `Stoce`:动态计算的止损价格。
逻辑流程:
1. 初始设置:
- 计算ATR和跟踪止损价。
2. 多头进场后的处理:
- 如果当前市场位置为多头,且自进场以来没有新的Bar,则初始化止损价为当前最低价减去ATR乘以一个系数,并初始化A(加速度)。
- 如果当前市场位置为多头且已有Bar,则更新盈利峰值价和A。如果新的最高价高于之前的峰值价且A小于0.2,则增加A。最后,更新止损价为当前止损价加上A乘以新的最高价与当前止损价的差值。
3. 空头进场后的处理:
- 如果当前市场位置为空头,且自进场以来没有新的Bar,则初始化止损价为当前最高价加上ATR乘以一个系数,并初始化F和盈利峰值价。
- 如果当前市场位置为空头且已有Bar,则更新盈利峰值价和F。如果新的最低价低于之前的峰值价且小于0.2,则增加F。最后,更新止损价为当前止损价减去AF乘以当前止损价与新的最低价的差值。
该策略的主要功能是基于PVT(Price Volume Trend)指标和ATR(平均真实范围)来实现自动交易,包括进场和止损。
输入参数:
- `Length`:用于计算PVT指标的Bar数。
- `ATRLength`:用于计算ATR的Bar数。
- `Trigger`:用于计算多头进场价的驱动系数。
- `Aeleration`:抛物线的加速系数。
- `FirstBltp`:用于计算在进场Bar设置止损价的系数。
输出:
- 通过`Buy`和`Sell`函数实现自动交易。
逻辑流程:
1. 初始化:
- 如果当前Bar为第0个Bar,则初始化PVT值为0。
2. 计算PVT值:
- 计算PVT值并更新。
3. 绘制辅助线:
- 绘制最高值和PVT值的辅助线。
4. 计算ATR:
- 计算ATR值。
5. 进场条件:
- 如果PVT值大于前一个Bar的最高值且当前最高价高于前一个Bar的最高价加上长度乘以ATR值,则执行多头进场操作。
6. 止损条件:
- 调用函数计算动态止损线。
- 如果当前市场位置为多头且自进场以来已有Bar,并且当前最低价低于前一个Bar的止损线,则执行多头平仓操作。
- 如果当前市场位置为空头且自进场以来已有Bar,并且当前最高价高于前一个Bar的止损线,则执行空头平仓操作。
策略核心在于通过动态计算止损价格来实现更灵活的交易策略。函数通过跟踪ATR和盈利峰值价,结合加速系数,动态调整止损价格,从而在趋势市场中更好地保护利润。
策略结合PVT指标和ATR,实现了基于价格和成交量的自动交易,包括进场和止损操作。整体思路是通过技术指标和动态止损策略,提高交易的灵活性和风险控制能力。
策略在于通过动态计算止损价格和结合技术指标,提高交易的灵活性和风险控制能力。
通过跟踪ATR和盈利峰值价,动态调整止损价格,从而在趋势市场中更好地保护利润。
策略思维导图: