3.3.1 资金管理

3.3.1 资金管理

以这种方式计算仓位大小,需要指定使用的资产百分比和停损点差。我们会用外部变量EquityPercent(资产百分比)来设要用的资产百分比。这里假设使用50点停损。

首先,需要计算EquityPercent(资产百分比)指定的资产额。若余额为10000元,我们使用2%的资产,则计算过程如下:

AccountEquity()是MQL的功能,会返回目前的账户资产。我们把EquityPer-cent(资产百分比)除以100以取得小数值(0.02),然后乘以AccoimtEquity(),以计算要用的资产额。10000美元的2%是200美克,此值会储存在变量RiskAmount中。

接着,我们得找出档值(tick value)。这是交易一手(lot)的每点获利。例如,以标准账户交易1手XAUUSD,每点获利为1美元。以迷你账户(0.01手)交易,每点获利为0.01美元。(标准手一手为杠杆100倍现货)

在这里,我们提供给读者其他参数来设定,除了黄金之外,仍可能有其他商品有其他不同小数点位之报价。我们可用MODE_TICKVALUE参数的Marketlnfo()功能返回指定商品的每点获利。档值(tick value)须以点数表示,因此,如在小数点经纪商报价(3位或5位小数点)上交易,须把文件值乘以10。

假设以标准账户交易的黄金GOLD为例,该挡值会是10。此值会储存在TickValue(文件值)变量中。 如为小数点差经纪商,则TickValue是1。我们需要乘以10,使其相当于一点。如果Point变量显示货币为3位或5位小数点,则把TickValue乘以10,使其等于2位或4位小数值。

下一步就是计算仓位的大小。首先,用RiskAmount除以停损设定,就可取得此单每档的获利。$200除以50点停损会得到$4。现在,我们只要用$4除以TickValue(档值),就可得到仓位大小:

我们以标准账户计算出的仓位大小为0.4手。以迷你账户交易,计算出的仓位大小为4手。此值会储存在CalcLots变量中。

如资金管理妥当,你所使用的资产比例会是相当一致的(保守风险1%-2%,较髙风险可达5%)。另外,你的停损会依时间和交易系统的不同而有所差异。仓位大小会依你设的停损而有很大的不同。

很近的停损价会产生较大的仓位,如交易单点到获利价,大仓位会提供很多上攻的利益。反过来,如用大停损,仓位就会很小。此方式对设很近停损和/或大获利值最为有利。

如果一定要用大停损,或者根本不用,用固定的仓位大小可能更为有利。我们需要在计算仓位大小或使用固定仓位之间选择。使用名为DynamicLotSize(动态仓位大小)的外部布尔变量,来切换仓位计算:

如果DynamicLotSize设为真(true),我们则根据停损价计算仓位大小,并把该值分配到LotSize(仓位大小)变数;如果DynamicLotSize为假(false),我们就把 FixedLotSize的值分配到LotSize。如同交易单的仓位大小,LotSize变量会传送至OrderSend()功能。