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