系统交易

MetaTrader 5的前烛体突破EA - 全新参数与操作指南
MetaTrader5
MetaTrader 5的前烛体突破EA - 全新参数与操作指南

大家好,今天跟大家分享一下MetaTrader 5的全新 前烛体突破 EA。这款EA在之前版本的基础上进行了进一步的开发,增加了很多实用的参数,接下来我们一起来看看吧! 新增的参数包括: 开始时间(小时) - 操作开始的小时 开始时间(分钟) - 操作开始的分钟 结束时间(小时) - 操作结束的小时 结束时间(分钟) - 操作结束的分钟 此外,现在的止损跟踪在每个价格波动时都能生效。 这款EA能够在1分钟到1个月的任意时间框架内等待突破,检查第一个蜡烛图是否在指定时间框架内突破前烛体。同时,你还可以启用两个过滤器 - 移动平均线。 注意!为了使过滤器正常工作,必须设置快:平均周期和慢:平均周期大于零。 在EA中,止损跟踪被实现为在首次修改止损水平时自动将止损调整至盈亏平衡。 仓位大小可以是固定的(手数大于零且风险等于零)或动态计算(每笔交易的风险百分比,风险大于零且手数等于零)。 注意!不允许出现以下情况: 同时“手数”和“风险”都大于零; 同时“手数”和“风险”都等于零。 当达到目标利润时,达到利润时关闭所有仓位,所有仓位将被关闭。该EA确保在指定时间框架内前烛体突破的每个方向最多只开一个仓位。 图1. 当前时间框架:M15,突破设置为H4 输入参数 前烛体突破 - 要突破的蜡烛图时间框架; 从高点或低点的偏移量 - 从被突破蜡烛图的高点和低点的偏移量; 快:平均周期 - 移动平均线“快”:平均周期;若设置为零,则不使用“快”和“慢”指标的过滤器; 快:水平偏移 - 移动平均线“快”:指标的水平偏移; 快:价格类型 - 移动平均线“快”:指标计算所用的价格类型; 慢:平均周期 - 移动平均线“慢”:平均周期;若设置为零,则不使用“快”和“慢”指标的过滤器; 慢:水平偏移 - 移动平均线“慢”:指标的水平偏移; 慢:价格类型 - 移动平均线“慢”:指标计算所用的价格类型; 快与慢:平滑类型 - 平滑类型(适用于“快”和“慢”); 止损 - 止损设置; 止盈 - 设定止盈; 跟踪止损 - 跟踪止损(在首次修改止损时作为盈亏平衡生效); 跟踪步长 - 跟踪步长; 手数 - 固定手数(风险必须设置为零); 风险 - 动态计算的手数(每笔交易的风险百分比),手数必须设置为零; 单方向最大仓位数; 达到利润时关闭所有仓位。

2018.10.26
Breadandbutter2:MetaTrader 5 的交易系统专家
MetaTrader5
Breadandbutter2:MetaTrader 5 的交易系统专家

作者:ScriptorMQL5代码作者:barabashkakvn这个交易系统(EA)基于iADX(平均方向运动指数)和iAMA(自适应移动平均)指标。它只在新K线出现时进行交易。当接收到交易信号时,会关闭相反方向的持仓。寻找适合特定品种和时间框架的最佳参数,可以通过两种方式进行:手动:编辑信号方程式中的“<”和“>”符号:   if(adx_0<adx_1 && ama_0>ama_1)      {       ClosePositions(POSITION_TYPE_SELL);       double sl=(InpStopLoss==0)?0.0:m_symbol.Ask()-ExtStopLoss;       if(sl>=m_symbol.Bid()) // 事件:持仓尚未开启,需已关闭         {          PrevBars=0;          return;         }       double tp=(InpTakeProfit==0)?0.0:m_symbol.Ask()+ExtTakeProfit;       OpenBuy(sl,tp);       return;      }    if(adx_0>adx_1 && ama_0<ama_1)      {       ClosePositions(POSITION_TYPE_BUY);       double sl=(InpStopLoss==0)?0.0:m_symbol.Bid()+ExtStopLoss;       if(sl<=m_symbol.Ask()) // 事件:持仓尚未开启,需已关闭         {          PrevBars=0;          return;         }       double tp=(InpTakeProfit==0)?0.0:m_symbol.Bid()-ExtTakeProfit;       OpenSell(sl,tp);       return;      } 自动选择止损、止盈和AMA指标的水平偏移:

2018.10.26
MySystem:MetaTrader 5 的交易专家
MetaTrader5
MySystem:MetaTrader 5 的交易专家

创意作者: CollectorMQL5 代码作者: barabashkakvn这个 EA 只在新 K 线出现时运行。只有当市场没有由 EA 开立的头寸时,才会考虑来自 iBullsPower(牛市力量)和 iBearsPower(熊市力量)指标的交易信号(搜索是通过当前符号和当前独特的 EA 标识符 - 魔术数字进行的)。两个指标只有一个设置 - 牛市和熊市:平均周期。交易信号形成算法:从两个 K 线 - 当前 K 线和 当前 K+1 - 中提取数据,并将其值除以 2。   double prev = ((bears[1]+bulls[1])/2.0);    double curr = ((bears[0]+bulls[0])/2.0); 如果前一个 K 线的平均值小于当前 K 线,便会开多单:      if(prev<curr && curr<0)         {          //ClosePositions(POSITION_TYPE_SELL);          double sl=(InpStopLoss==0)?0.0:m_symbol.Ask()-ExtStopLoss;          if(sl>=m_symbol.Bid()) // 情况:头寸尚未开立,且必须已关闭            {             PrevBars=0;             return;            }          double tp=(InpTakeProfit==0)?0.0:m_symbol.Ask()+ExtTakeProfit;          OpenBuy(sl,tp);          return;         } 如果前一个 K 线的平均值大于当前 K 线,便会开空单:      if(prev>curr && curr>0)         {          //ClosePositions(POSITION_TYPE_BUY);          double sl=(InpStopLoss==0)?0.0:m_symbol.Bid()+ExtStopLoss;          if(sl<=m_symbol.Ask()) // 情况:头寸尚未开立,且必须已关闭            {             PrevBars=0;             return;            }          double tp=(InpTakeProfit==0)?0.0:m_symbol.Bid()-ExtTakeProfit;          OpenSell(sl,tp);          return;         } EURUSD, M15:

2018.10.26
Proffessor v3 - MetaTrader 5的交易专家
MetaTrader5
Proffessor v3 - MetaTrader 5的交易专家

创意作者: vitalyMQL5代码作者: barabashkakvn这个交易策略非常简单。我们通过设置一个待处理的止损订单来保护买入或卖出头寸,距离为 Delta 1。接着,我们会在距离为 Delta 2 的位置创建一个由限价单或止损单组成的网格。每个方向的待处理订单数量由最大行数(Max Lines)决定。通过一个统一的 PendingOrder 函数来设置待处理订单(买入限价单、卖出限价单、买入止损单和卖出止损单),该函数接收待处理订单类型(order_type)、交易量(volume)、止损(sl)和获利(tp)等参数。//+------------------------------------------------------------------+ //| 待处理订单                                                    | //+------------------------------------------------------------------+ void PendingOrder(ENUM_ORDER_TYPE order_type,double volume,double price,double sl,double tp)   {    sl=m_symbol.NormalizePrice(sl);    tp=m_symbol.NormalizePrice(tp);    if(m_trade.OrderOpen(m_symbol.Name(),order_type,volume,0.0,       m_symbol.NormalizePrice(price),m_symbol.NormalizePrice(sl),m_symbol.NormalizePrice(tp)))      {       if(m_trade.ResultOrder()==0)         {          Print("#1 ",EnumToString(order_type)," -> false. 结果代码: ",m_trade.ResultRetcode(),                ", 结果描述: ",m_trade.ResultRetcodeDescription());          PrintResultTrade(m_trade,m_symbol);         }       else         {          Print("#2 ",EnumToString(order_type)," -> true. 结果代码: ",m_trade.ResultRetcode(),                ", 结果描述: ",m_trade.ResultRetcodeDescription());          PrintResultTrade(m_trade,m_symbol);         }      }    else      {       Print("#3 ",EnumToString(order_type)," -> false. 结果代码: ",m_trade.ResultRetcode(),             ", 结果描述: ",m_trade.ResultRetcodeDescription());       PrintResultTrade(m_trade,m_symbol);      } //---   }当达到 获利平仓 目标时,关闭所有头寸并移除所有待处理订单。如果亏损超过 亏损平仓 (如果设置 亏损平仓 为 0.0,参数将失效),也可以关闭所有头寸并删除待处理订单。EA的操作(开仓及设置保护性待处理订单)将在工作时间区间内进行,从 开始时间 到 结束时间(开始时间 可以小于 结束时间 或超过它)。主要思路分析 工作时间框 的ADX值。如果ADX低于40,就被视为盘整状态,此时会放置限价单。否则,使用止损单;如果DI+高于DI-,则买入,否则卖出。两个参数的最佳优化结果(当前条ADX 从0到2,步长为1,以及工作时间框 从M1到H1)EURUSD,当前条ADX 0,工作时间框 H1USDJPY,当前条ADX 2,工作时间框 M1在EURUSD情况下,当前条ADX 0,工作时间框 H1,但亏损平仓参数设置为 "0.0"以及USDJPY,当前条ADX 2,工作时间框 M1,但亏损平仓参数设置为 "0.0"

2018.10.26
Sprut - MetaTrader 5的智能交易助手
MetaTrader5
Sprut - MetaTrader 5的智能交易助手

创意作者 - Andreymq5代码作者 - barabashkakvn注意:默认情况下,网格交易是完全禁止的,也就是说,使用买入止损、使用买入限价、使用卖出止损和使用卖出限价的参数都被设置为“假”。首先,您需要选择网格的类型(挂单类型),并设置最佳参数:步长、交易量等。该EA可以放置由挂单止损和限价单组成的网格。网格特点:第一个挂单网格可以以Firstxxxx价格或从当前价格的某个DeltaFirstxxxx距离进行设置。如果Firstxxxx超过零,则不考虑DeltaFirstxxxx参数,反之亦然,当Firstxxxx等于零时,激活DeltaFirstxxxx参数。您可以:启用/禁用挂单类型:买入止损(使用买入止损)、买入限价(使用买入限价)、卖出止损(使用卖出止损)和卖出限价(使用卖出限价)。设置挂单止损和限价单的单独步长(止损步长和限价步长)为第一笔挂单止损和限价设置不同的交易量(止损交易量和限价交易量)为挂单止损和限价单设置相同比例的交易量(止损系数和限价系数)禁用止损(止损)和获利(获利) - 要做到这一点,将参数设置为“0.0”止损(止损)和获利(获利)可以禁用。只需将参数设置为“0.0”。挂单的有效时间(有效期)以分钟为单位 - 如果设置为“0”,则不予考虑。在以下两种情况下,可以关闭所有打开的头寸并删除挂单:利润达到利润关闭损失达到或超过损失关闭

2018.10.26
利用MA_Rounding_Candle指标的MetaTrader 5交易系统
MetaTrader5
利用MA_Rounding_Candle指标的MetaTrader 5交易系统

大家好!今天我们来聊聊基于MA_Rounding_Candle指标的交易系统。这套系统能够根据之前交易的结果,灵活调整即将到来的交易的成交量。当蜡烛图的颜色变化时,表明趋势发生了变化,交易信号就在这个时候形成。我们可以通过设置输入的EA变量来管理已开仓位的成交量:input uint    BuyTotalMMTriger=5; // 计算止损时的最近5笔买单 input uint    BuyLossMMTriger=3;  // 最近3笔亏损买单以降低资金管理 input uint    SellTotalMMTriger=5;// 计算止损时的最近5笔卖单 input uint    SellLossMMTriger=3; // 最近3笔亏损卖单以降低资金管理 input double  SmallMM_=0.01;      // 亏损时每笔交易占账户资金的比例 input double  MM=0.1;             // 正常交易时每笔交易占账户资金的比例 input MarginMode MMMode=LOT;      // 确定手数的方法 根据这些输入设置,如果最近的五笔交易中有三笔是亏损的,EA会在相同方向上以0.01手的成交量开下一笔交易。如果亏损交易少于三笔,成交量则为0.1手。为了确保生成的EA正常运行,必须在<terminal_data_directory>\MQL5\Indicators文件夹中放置编译好的指标文件MA_Rounding.ex5和MA_Rounding_Candle.ex5。下面展示的测试结果使用了默认的专家顾问输入参数和止损设置。图1. 图表上的交易示例以下是2017年GBPJPY H1的测试结果:图2. 测试结果图

2018.10.25
首页 上一页 10 11 12 13 14 15 16 17 18 19 20 下一页 末页