CExpert
CExpert 是交易策略的基准类。它有内建算法用于操作时间序列和指标以及一套交易策略的虚方法。
如何使用它:
1. 准备策略的算法;
2. 创建您自己的继承 CExpert 的子类;
3. 在您的类中用您自己的算法覆盖虚方法。
描述
类 CExpert 是一套虚方法用来实现交易策略。
声明
class CExpert : public CExpertBase标称库文件
#include <Expert\Expert.mqh>| 继承体系 CObject CExpertBase CExpert |
类方法
| 初始化 | |
|---|---|
| Init | 类实例初始化方法 |
| virtual InitSignal | 初始化交易信号对象 |
| virtual InitTrailing | 初始化尾随停止对象 |
| virtual InitMoney | 初始化资金管理对象 |
| virtual InitTrade | 初始化交易对象 |
| virtual ValidationSettings | 验证设置 |
| virtual InitIndicators | 初始化指标和时间序列 |
| virtual InitParameters | 参数初始化方法 |
| virtual Deinit | 类实例终结方法 |
| virtual DeinitSignal | 终结交易信号对象 |
| virtual DeinitTrailing | 终结尾随停止对象 |
| virtual DeinitMoney | 终结资金管理对象 |
| virtual DeinitTrade | 终结交易对象 |
| virtual DeinitIndicators | 终结指标和时间序列 |
| 参数 | |
| Magic | 设置智能交易 ID |
| MaxOrders | 获取/设置许可的最大订单额度 |
| OnTickProcess | 设置处理 "OnTick" 事件的标志 |
| OnTradeProcess | 设置处理 "OnTrade" 事件的标志 |
| OnTimerProcess | 设置处理 "OnTimer" 事件的标志 |
| OnChartEventProcess | 设置处理 "OnChartEvent" 事件的标志 |
| OnBookEventProcess | 设置处理 "OnBookEvent" 事件的标志 |
| 事件处理方法 | |
| OnTick | OnTick 事件处理器 |
| OnTrade | OnTrade 事件处理器 |
| OnTimer | OnTimer 事件处理器 |
| OnChartEvent | OnChartEvent 事件处理器 |
| OnBookEvent | OnBookEvent 事件处理器 |
| 更新方法 | |
| Refresh | 更新所有数据 |
| 处理 | |
| 处理 | 主要处理算法 |
| 入场方法 | |
| CheckOpen | 检查开仓条件 |
| CheckOpenLong | 检查开多头仓位的条件 |
| CheckOpenShort | 检查开空头仓位的条件 |
| OpenLong | 开多头仓位 |
| OpenShort | 开空头仓位 |
| 离场方法 | |
| CheckClose | 检查当前平仓条件 |
| CheckCloseLong | 检查平多头仓位的条件 |
| CheckCloseShort | 检查平空头仓位的条件 |
| CloseAll | 平所有持仓并删除所有订单 |
| Close | 平已开持仓 |
| CloseLong | 平多头持仓 |
| CloseShort | 平空头持仓 |
| 仓位反转方法 | |
| CheckReverse | 检查已开仓位的反转条件 |
| CheckReverseLong | 检查反转多头仓位的条件 |
| CheckReverseShort | 检查反转空头仓位的条件 |
| ReverseLong | 执行多头仓位反转 |
| ReverseShort | 执行空头仓位反转 |
| 仓位/订单尾随停止方法 | |
| CheckTrailingStop | 检查修改仓位参数的条件 |
| CheckTrailingStopLong | 检查多头仓位的尾随停止条件 |
| CheckTrailingStopShort | 检查空头仓位的尾随停止条件 |
| TrailingStopLong | 执行多头仓位的尾随停止 |
| TrailingStopShort | 执行空头仓位的尾随停止 |
| CheckTrailingOrderLong | 检查低多/高多挂单的尾随停止条件 |
| CheckTrailingOrderShort | 检查高空/低空挂单的尾随停止条件 |
| TrailingOrderLong | 检查低多/高多挂单的尾随停止 |
| TrailingOrderShort | 检查高空/低空挂单的尾随停止 |
| 订单删除方法 | |
| CheckDeleteOrderLong | 检查删除买挂单的条件 |
| CheckDeleteOrderShort | 检查删除卖挂单的条件 |
| DeleteOrders | 删除所有订单 |
| DeleteOrder | 删除高/低挂单 |
| DeleteOrderLong | 删除低多/高多挂单 |
| DeleteOrderShort | 删除高空/低空挂单 |
| 交易量方法 | |
| LotOpenLong | 获取多头操作交易量 |
| LotOpenShort | 获取空头操作交易量 |
| LotReverse | 获取仓位反转操作交易量 |
| 交易历史方法 | |
| PrepareHistoryDate | 设置交易历史跟踪的开始日期 |
| HistoryPoint | 创建交易历史的检测点 (保存仓位, 订单, 成交和历史订单的数量) |
| CheckTradeState | 当前状态和之前的保存记录进行比较, 并调用相应的事件处理器 |
| 事件标志 | |
| WaitEvent | 设置事件等待标志 |
| NoWaitEvent | 重置事件等待标志 |
| 交易事件处理方法 | |
| TradeEventPositionStopTake | "仓位止损/止盈触发" 事件处理器 |
| TradeEventOrderTriggered | "挂单触发" 事件处理器 |
| TradeEventPositionOpened | "开仓触发" 事件处理器 |
| TradeEventPositionVolumeChanged | "持仓量改变" 事件处理器 |
| TradeEventPositionModified | "持仓修改" 事件处理器 |
| TradeEventPositionClosed | "平仓" 事件处理器 |
| TradeEventOrderPlaced | "放置挂单" 事件处理器 |
| TradeEventOrderModified | "挂单修改" 事件处理器 |
| TradeEventOrderDeleted | "挂单删除" 事件处理器 |
| TradeEventNotIdentified | 无标识事件处理器 |
| 服务方法 | |
| TimeframeAdd | 添加时间帧跟踪 |
| TimeframesFlags | 获取新柱线的标志指示时间帧 |
| SelectPosition | 选择一个工作持仓 |
| 方法继承自类 CObject Prev, Prev, Next, Next, Save, Load, Type, Compare |
|---|
| 方法继承自类 CExpertBase InitPhase, TrendType, UsedSeries, EveryTick, Open, High, Low, Close, Spread, Time, TickVolume, RealVolume, Symbol, Period, Magic, SetMarginMode, SetPriceSeries, SetOtherSeries |