# 马丁网格策略

## 基础概念
- 平台：MQL5
- 品种：支持跟随图表窗口
- 所有日志、参数说明均需使用中文

## 辅助指标
- 移动平均线（Moving Average）

## 核心逻辑
- K线周期：支持参数设置，默认为1min
- 突破K线：开仓价在均线之下，收盘价在均线之上，称之为多单突破K线，反之亦然
- 出现突破K线时，开首单，如果已有同方向单，不开首单
- 价格往反方向运行 首单价*补仓比例(支持参数设置) 时，即为满足加仓条件
- 首单价开仓手数支持参数设置
- 加仓放大手数支持参数设置，默认为 0.05手，相比上一组的手数 + 加仓放大手数；**不是每一网格档都乘一次**，而是与下条「档间隔」配合使用。
- **档间隔（参数 N）**：控制隔多少档才把「加仓放大手数」用上一次。例如 **N = 5** 表示每 **5 个网格档**为一组，**组内手数相同**；每进入新的一组，手数 = **上一组手数 + 加仓放大手数**（首组 = 首单手数）。用于减缓手数膨胀。
- 平仓逻辑：使用统盈的策略，多单止盈价 = 加权平均成本 + 加权平均成本 * 止盈比例(支持参数设置)，反之亦然
- 多空单互不影响
- 支持参数设置是否复利，复利开启后，只会影响首单的开仓手数，不影响加仓的开仓手数

## 补充逻辑
- 单向持仓已达「单向最大档数」时，**每个 Tick** 比较该向**浮动盈亏**（各单获利+库存费之和，账户货币）与 **账户结余 × 浮盈比例**（参数 `InpMaxLayersFloatPct`，百分比；为 **0** 表示关闭本规则）。若浮盈不低于阈值，则**平掉该方向、本品种、本 EA Magic 下全部持仓**，随后可再由突破逻辑开新首单。
- **结余**指 `ACCOUNT_BALANCE`。与统盈可同时存在：若价格已达统盈会先整篮平掉，否则在满档下仍可能触发本条。
