策略概述

谷比算力-2G 是一个基于趋势追踪的自动化交易策略,支持多空双向交易,具有智能加仓、自动止盈止损和挂单管理功能。

核心功能

1. 交易方向控制

  • 只做多模式:仅开多单和多单加仓

  • 只做空模式:仅开空单和空单加仓

  • 多空双开模式:同时开多空单,各自独立管理

2. 加仓逻辑

  • 分层加仓:根据实际持仓数量计算层级

  • 动态手数:按照设置的加仓倍率计算加仓手数

  • 智能挂单:根据层级计算加仓触发价格和挂单价格

  • 挂单调整:当价格反向运行时调整挂单价格

  • 多单加仓:价格下跌时加仓

  • 空单加仓:价格上涨时加仓

3. 止盈止损

  • 总亏损止损:当总亏损达到设置值时平仓所有持仓

  • 单个方向止盈:当某个方向持仓全部止盈后,撤销该方向挂单并重新挂首单

  • 全部止盈:当所有持仓都止盈后,重置状态并重新开新仓

  • 多单止盈:价格上涨时止盈

  • 空单止盈:价格下跌时止盈

4. 挂单管理

  • 首单挂单:使用设置的首单挂单点数差

  • 加仓挂单:根据层级使用不同的挂单点数差

  • 挂单调整:智能调整挂单价格以适应市场变化

  • 挂单撤销:止盈或止损时自动撤销相关挂单

  • 多单加仓挂单:使用BUY_STOP订单,价格低于当前价格

  • 空单加仓挂单:使用BUY_STOP订单,价格高于当前价格

详细逻辑流程

初始化流程

  1. 检查现有持仓,设置初始交易状态

  2. 初始化加仓次数和价格记录

  3. 启动交易状态

开仓流程

  1. 检查是否有持仓,无持仓时开首单

  2. 根据交易方向设置决定开多单、空单或同时开

  3. 使用设置的首单挂单点数差计算挂单价格

加仓流程

  1. 检查加仓次数是否达到最大限制

  2. 计算当前持仓层级(首单为第0层,第二单为第1层,以此类推)

  3. 根据层级计算加仓点数和手数

  4. 检查是否已有同方向挂单,无挂单时创建加仓挂单

  5. 提前增加加仓次数,确保下次挂单使用正确的倍率

  6. 多单加仓:使用BUY_STOP订单,价格低于当前价格,下跌时触发

  7. 空单加仓:使用BUY_STOP订单,价格高于当前价格,上涨时触发

挂单调整流程

  1. 检查所有挂单

  2. 对于多单加仓挂单:当价格上涨时调整挂单价格,确保挂单在合适的位置

  3. 对于空单加仓挂单:当价格下跌时调整挂单价格,确保挂单在合适的位置

  4. 确保挂单价格符合交易规则(BUY_STOP高于当前价)

止盈止损流程

  1. 检查总亏损,达到止损值时平仓所有持仓并撤销所有挂单

  2. 检查单个方向是否止盈,止盈后撤销该方向挂单并重新挂首单

  3. 检查所有持仓是否都止盈,全部止盈后重置状态并重新开新仓

参数说明

参数名称

类型

描述

MagicNum

int

交易魔术码,用于识别策略订单

StartLot

double

首单手数

MaxLot

double

最大手数限制

FirstAddPoints

double

第一单和第二单的加仓点数

SubsequentAddPoints

double

第三单及以后的加仓点数

FirstOrderPoints

double

首单的挂单点数差

SubsequentOrderPoints

double

加仓单的挂单点数差

AddMultiplier

double

加仓倍率

MaxAddTimes

int

最大加仓次数

TakeProfitPoints

double

止盈点数

StopLossMoney

double

止损金额

RestartAfterStopLoss

bool

止损后是否重新开始

TradeDirection

int

交易方向(0=只做多, 1=只做空, 2=多空双开)

交易流程示例

多空双开模式

  1. 系统启动,检查无持仓,同时开多单和空单挂单

  2. 价格上涨,多单挂单成交,系统创建多单加仓挂单(价格低于当前价格)

  3. 价格继续上涨,多单止盈,系统撤销多单挂单并重新挂多单首单

  4. 价格下跌,多单加仓挂单成交,系统创建下一级加仓挂单

  5. 价格继续下跌,空单挂单成交,系统创建空单加仓挂单(价格高于当前价格)

  6. 价格继续下跌,空单止盈,系统撤销空单挂单并重新挂空单首单

  7. 价格上涨,空单加仓挂单成交,系统创建下一级加仓挂单

  8. 如此循环...

只做多模式

  1. 系统启动,检查无持仓,开多单挂单

  2. 价格上涨,多单挂单成交,系统创建多单加仓挂单(价格低于当前价格)

  3. 价格继续上涨,多单止盈,系统撤销多单挂单并重新挂多单首单

  4. 价格下跌,多单加仓挂单成交,系统创建下一级加仓挂单

  5. 如此循环...

注意事项

  1. 挂单价格设置:确保BUY_STOP挂单价格高于当前价格

  2. 加仓倍率:加仓倍率设置过高可能导致手数增长过快,请注意风险控制

  3. 止损设置:StopLossMoney设置应根据账户资金合理调整,避免过度风险

  4. 挂单调整:系统会自动调整挂单价格,确保挂单能够在合适的价格触发

  5. 交易方向:根据市场趋势选择合适的交易方向模式

技术实现

  • 使用MQL5语言开发,适用于MetaTrader 5平台

  • 采用事件驱动的交易逻辑,响应市场变化

  • 智能挂单管理,提高交易效率

  • 完善的错误处理和日志记录,便于调试和监控

此策略结合了趋势追踪和资金管理的优点,通过智能加仓和挂单调整,在把握趋势的同时控制风险,适合各种市场环境。