[关闭]
@zmaibbs7 2019-03-09 14:02 字数 2993 阅读 252

MQL 03.08 [QQ:51328323 花好月圆] MT4 EA 思路文档

MQL


参数

image.png-70.4kB

定义

参数

逻辑[EA同时最多持仓1个方向]

开单

  1. //多单情况1[收盘判断]
  2. 条件A:当前EA无订单
  3. 条件B:当前不在[参数:每天不交易时段]内
  4. 条件C:收盘价[1柱] >= MA1均线[1柱]
  5. 条件D:最高价[1柱] - MA1均线[1柱] <= 120点[参数:正均高1]
  6. 条件E1柱为阳线
  7. 条件F:如果无历史开仓多单,则前10K线包含当前K线[10:参数:开仓]中任何一根K线最低价格 <= MALOW则条件满足
  8. 如果有历史开仓多单,则距离上次多单平仓[包括上次多单平仓的K线]之后任何一根K线最低价格[包含当前K线] <= MALOW则条件满足
  9. 同时满足以上条件,则在最高价[1柱] + 40点处[参数:正挂点],开多单BuyStop挂单。
  10. 止损:
  11. 1步: 比较【1柱最低价】和【1柱之前的阳K线最低价】哪个最低价低用哪个。 - 40点[参数:正损1]
  12. 2步:刚才确定的止损K线,之前3K线内(含止损线是4K线)有十字星K线(最低价 < 开盘价和收盘价 同时 最高价 > 开盘价和 收盘价 同时 开收盘价差小于等于20点就可算十字星),且该十字星K线最低价比止损K线低,则修改止损为十字星线最低价下方40点[参数:正损1]
  13. 止盈:模式1 固定点数止盈 模式2:信号出场
  14. 手数:[参数:下单手数]
  1. //多单情况2[即时卖价Bid判断]
  2. 条件A:当前EA无订单
  3. 条件B:当前不在[参数:每天不交易时段]内
  4. 条件C:当前卖价[Bid] - MA1均线[1柱] >= 120点[参数:正均高2]
  5. 条件D1柱为阳线
  6. 条件E:如果无历史开仓多单,则前10K线包含当前K线[10:参数:开仓]中任何一根K线最低价格 <= MALOW则条件满足
  7. 如果有历史开仓多单,则距离上次多单平仓[包括上次多单平仓的K线]之后任何一根K线最低价格[包含当前K线] <= MALOW则条件满足
  8. 同时满足以上条件,则立刻开多单
  9. 手数止损止损[同情况1]

  1. //空单情况1[收盘判断]
  2. 条件A:当前EA无订单
  3. 条件B:当前不在[参数:每天不交易时段]内
  4. 条件C:收盘价[1柱] <= MA2均线[1柱]
  5. 条件DMA2均线[1柱] - 最低价[1柱] <= 120点[参数:正均高1]
  6. 条件E1柱为阴柱
  7. 条件F:如果无历史开仓空单,则前10K线包含当前K线[10:参数:开仓]中任何一根K线最高价格 >= MAHIGH则条件满足
  8. 如果有历史开仓空单,则距离上次空单平仓[包括上次空单平仓的K线]之后任何一根K线最高价格[包含当前K线] >= MAHIGH则条件满足
  9. 同时满足以上条件,则在最低价[1柱] - 40点处[参数:正挂点],开空单SellStop挂单。
  10. 止损:
  11. 1步: 比较【1柱最高价】和【1柱之前的阴K线最高价】哪个最高价高用哪个。 + 40点[参数:正损1]
  12. 2步:刚才确定的止损K线,之前3K线内(含止损线是4K线)有十字星K线(最低价 < 开盘价和收盘价 同时 最高价 > 开盘价和 收盘价 同时 开收盘价差小于等于20点就可算十字星),且该十字星K线最高价比止损K线高,则修改止损为十字星线最高价上方40点[参数:正损1]
  13. 止盈:模式1 固定点数止盈 模式2:信号出场
  14. 手数:[参数:下单手数]
  1. //空单情况2[即时卖价Bid判断]
  2. 条件A:当前EA无订单
  3. 条件B:当前不在[参数:每天不交易时段]内
  4. 条件CMA2均线[1柱] - 当前卖价[Bid] >= 120点[参数:正均高2]
  5. 条件D1柱为阴线
  6. 条件E:如果无历史开仓空单,则前10K线包含当前K线[10:参数:开仓]中任何一根K线最高价格 >= MAHIGH则条件满足
  7. 如果有历史开仓空单,则距离上次空单平仓[包括上次空单平仓的K线]之后任何一根K线最高价格[包含当前K线] >= MAHIGH则条件满足
  8. 同时满足以上条件,则立刻开多单
  9. 手数止损止损[同情况1]

出场

  1. //多单出场情况1:阴线吃阳线
  2. 条件A:当前EA有多单
  3. 条件B1柱为阴线
  4. 条件C:一根阴线连吃两根阳线[阳线与阳线间允许有阴线,但此两阳线比较有更高的最高价也有更低的最低价,且最后一阳线的收盘价必须大于前一根阳线的收盘价]
  5. 1、判断2根阳线 2柱开始包括2柱往前找2根阳线,阳线递增,即根据时间顺序为a,b两根阳线。
  6. 2b的最高价 > a的最高价
  7. b的最低价 > a的最低价
  8. b的收盘价 > a的收盘价
  9. 31柱阴线开盘价 >= b的收盘价
  10. 1柱阴线收盘价 <= a的收盘价
  11. 同时满足以上条件,则多单全部平仓
  1. //多单出场情况2:倒锤头线
  2. 条件A:当前EA有多单
  3. 条件B:阳柱[1柱]的[最高价 - 收盘价]是[收盘价-最低价]距离3倍以上
  4. 阴柱[1柱]的[最高价 - 开盘价]是[开盘价-最低价]距离3倍以上
  5. 同时满足以上条件,则修改止损为最低价[1柱] - 40[参数:正损2]
  1. //特殊出场:多单情况2出场
  2. 条件A:当前EA有多单情况2市价单
  3. 条件B:多单情况2市价单开仓时间K线已经收盘 收盘价 小于 开仓价格 50[参数:正均收]
  4. 同时满足以上条件,则该多单平仓

  1. //空单出场情况1:阳线吃阴线
  2. 条件A:当前EA有空单
  3. 条件B1柱为阳线
  4. 条件C:一根阳线连吃两根阴线[阴线与阴线间允许有阳线..逻辑如下]
  5. 1、判断2根阴线 2柱开始包括2柱往前找2根阴线,阴线递减,即根据时间顺序为a,b两根阴线。
  6. 2b的最高价 < a的最高价
  7. b的最低价 < a的最低价
  8. b的收盘价 < a的收盘价
  9. 31柱阳线开盘价 <= b的收盘价
  10. 1柱阳线收盘价 >= a的收盘价
  11. 同时满足以上条件,则空单全部平仓
  1. //空单出场情况2:倒锤头线
  2. 条件A:当前EA有空单
  3. 条件B:阳柱[1柱]的[最高价 - 收盘价]是[收盘价-最低价]距离3倍以上
  4. 阴柱[1柱]的[最高价 - 开盘价]是[开盘价-最低价]距离3倍以上
  5. 同时满足以上条件,则修改止损为最高价[1柱] + 40[参数:正损2]
  1. //特殊出场:空单情况2出场
  2. 条件A:当前EA有空单情况2市价单
  3. 条件B:空单情况2市价单开仓时间K线已经收盘 收盘价 大于 开仓价格 50[参数:正均收]
  4. 同时满足以上条件,则该空单平仓

注意事项

不保存您的思路文档和代码,请务必自己管理备份好

反馈问题:

需要演示可重复

注意事项1

EA下单、止盈、止损,只是我们的EA程序提交请求给服务器,在历史测试中,往往是百分之百成交。
但是在实际实盘中,可能会存在漏单,穿仓,滑点,过了止损止盈价格不平仓,这都是服务器的问题。不属于我们程序的问题。
举简单例子来说,您在MT4手动下单,也不是每次都能成交或立刻成交,特别是在非农的时候,所以,我们只是提交请求到服务器,具体成不成交,什么时候成交是根据您的平台服务器而定。
所以我们最终验收是根据测试历史数据为准,实盘以上这种问题不是我们的责任【有些特别思路不能历史测试的,再另行沟通验收办法】

注意事项2

只对以上思路和功能负责。
由于上次提交的思路文档,里面很多地方没有说清楚,经过我们QQ沟通之后,我重新帮您整理了一下您的思路文档。您看下,如果没有问题,那就用我给您的这份思路文档代替您原来的思路文档。
根据这份思路文档,我们作为验收的依据。
如果您同意就付款,如果您以后做的任何修改思路或者添加功能,我们不保证一定能改,如果可以修改,也需要重新报价

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注