下载MetaTrader 5

请观看如何免费下载自动交易

有趣的脚本?
因此发布一个链接 -
让其他人评价

喜欢这个脚本? 在MetaTrader 5客户端尝试它

EA

多币种夜间剥头皮EA交易 - Night Scalper Multi - MetaTrader 5EA

| Chinese English Русский Español Deutsch 日本語 Português

显示:
1165
等级:
投票: 16
已发布:
2017.01.25 08:59

Night Scalper Multi 是一个多币种夜间剥头皮EA交易,它在小范围内交易直到终端时间零点,范围(r)是使用布林带指标确定的。

BBHandle=iBands(symb,0,per,0,dev,0);
   CopyBuffer(BBHandle,1,0,1,up);
   CopyBuffer(BBHandle,2,0,1,dn);

   double r=up[0]-dn[0];

仓位的建立是在Start指定的小时数之后建立的, 并且该交易品种不能有已经建立的仓位。

if(CountTrades(symb)<1 && TimeCurrent()>StringToTime(s))

如果价格低于布林带的下方边界,并且通道宽度小于Razmah变量指定的范围,就买入。

if(Ask<dn[0] && r<razmah*_Point) trade.PositionOpen(symb,0,Lot,Ask,Ask-stop*_Point,Ask+take*_Point);

如果价格高于布林带的上方边界,并且通道宽度小于Razmah变量指定的范围,就卖出。

if(Bid>up[0] && r<razmah*_Point) trade.PositionOpen(symb,1,Lot,Bid,Bid+stop*_Point,Bid-take*_Point);

仓位是通过止损关闭或者在零点后强制关闭。

else if(CountTrades(symb)>0 && TimeCurrent()<StringToTime(s)) CloseAll(symb);

交易是通过SymbolTrade函数完成的,并且使用了СTrade类:

void SymbolTrade(string symb,int stop,int take,int per,double dev,double razmah,int start)
  {
   string s=(string)start+":00";
   double Ask=SymbolInfoDouble(symb,SYMBOL_ASK);
   double Bid=SymbolInfoDouble(symb,SYMBOL_BID);

   BBHandle=iBands(symb,0,per,0,dev,0);
   CopyBuffer(BBHandle,1,0,1,up);
   CopyBuffer(BBHandle,2,0,1,dn);

   double r=up[0]-dn[0];

   if(CountTrades(symb)<1 && TimeCurrent()>StringToTime(s))
     {
      if(Ask<dn[0] && r<razmah*_Point) trade.PositionOpen(symb,0,Lot,Ask,Ask-stop*_Point,Ask+take*_Point);
      if(Bid>up[0] && r<razmah*_Point) trade.PositionOpen(symb,1,Lot,Bid,Bid+stop*_Point,Bid-take*_Point);
     }
   else if(CountTrades(symb)>0 && TimeCurrent()<StringToTime(s)) CloseAll(symb);
  }

交易的操作是在新柱上进行的。

if(bars!=Bars(NULL,0))
     {
      if(Symbol1!="") SymbolTrade(Symbol1,StopLoss1,TakeProfit1,BBPeriod1,BBDev1,Razmah1,Start1);
      if(Symbol2!="") SymbolTrade(Symbol2,StopLoss2,TakeProfit2,BBPeriod2,BBDev2,Razmah2,Start2);
      if(Symbol3!="") SymbolTrade(Symbol3,StopLoss3,TakeProfit3,BBPeriod3,BBDev3,Razmah3,Start3);
        ...
     }
   bars=Bars(NULL,0);


设置:

input string Symbol1     = "USDCAD";       // 交易品种1名称
input int    StopLoss1   = 370;            // 止损1
input int    TakeProfit1 = 20;             // 获利1
input int    BBPeriod1   = 40;             // 布林带周期数1
input double BBDev1      = 1;              // 布林带偏移1
input double Razmah1     = 450;            // 布林带宽度点数1
input int    Start1      = 19;             // 起始时间1

input string Symbol2     = "GBPUSD";       // 交易品种2名称
input int    StopLoss2   = 450;            // 止损2
input int    TakeProfit2 = 80;             // 获利2
input int    BBPeriod2   = 8;              // 布林带周期数2
input double BBDev2      = 1;              // 布林带偏移2
input double Razmah2     = 200;            // 布林带宽度点数2
input int    Start2      = 20;             // 起始时间2

input string Symbol3     = "NZDUSD";       // 交易品种3名称
input int    StopLoss3   = 410;            // 止损3
input int    TakeProfit3 = 40;             // 获利3
input int    BBPeriod3   = 4;              // 布林带周期数3
input double BBDev3      = 1.2;            // 布林带偏移3
input double Razmah3     = 450;            // 布林带宽度点数3
input int    Start3      = 19;             // 起始时间3

input string Symbol4     = "";             // 交易品种4名称
input int    StopLoss4   = 500;            // 止损4
input int    TakeProfit4 = 40;             // 获利4
input int    BBPeriod4   = 24;             // 布林带周期数4
input double BBDev4      = 1;              // 布林带偏移4
input double Razmah4     = 200;            // 布林带宽度点数4
input int    Start4      = 20;             // 起始时间4

input string Symbol5     = "";             // 交易品种5名称
input int    StopLoss5   = 500;            // 止损5
input int    TakeProfit5 = 40;             // 获利5
input int    BBPeriod5   = 24;             // 布林带周期数5
input double BBDev5      = 1;              // 布林带偏移5
input double Razmah5     = 200;            // 布林带宽度点数5
input int    Start5      = 20;             // 起始时间5

input string Symbol6     = "";             // 交易品种6名称
input int    StopLoss6   = 500;            // 止损6
input int    TakeProfit6 = 40;             // 获利6
input int    BBPeriod6   = 24;             // 布林带周期数6
input double BBDev6      = 1;              // 布林带偏移6
input double Razmah6     = 200;            // 布林带宽度点数6
input int    Start6      = 20;             // 起始时间6

input string Symbol7     = "";             // 交易品种7名称
input int    StopLoss7   = 500;            // 止损7
input int    TakeProfit7 = 40;             // 获利7
input int    BBPeriod7   = 24;             // 布林带周期数7
input double BBDev7      = 1;              // 布林带偏移7
input double Razmah7     = 200;            // 布林带宽度点数7
input int    Start7      = 20;             // 起始时间7

input string Symbol8     = "";             // 交易品种8名称
input int    StopLoss8   = 500;            // 止损8
input int    TakeProfit8 = 40;             // 获利8
input int    BBPeriod8   = 24;             // 布林带周期数8
input double BBDev8      = 1;              // 布林带偏移8
input double Razmah8     = 200;            // 布林带宽度点数8
input int    Start8      = 20;             // 起始时间8

input string Symbol9     = "";             // 交易品种9名称
input int    StopLoss9   = 500;            // 止损9
input int    TakeProfit9 = 40;             // 获利9
input int    BBPeriod9   = 24;             // 布林带周期数9
input double BBDev9      = 1;              // 布林带偏移9
input double Razmah9     = 200;            // 布林带宽度点数9
input int    Start9      = 20;             // 起始时间9

input double Lot         = 1;              // 交易量

图1. EA交易的结果。EURUSD, H1

图2. EA 交易在日志中的交易

Fig.3. 从 11.01.2016 到 13.09.2016.EA交易的优化结果USDCAD, GBPUSD, NZDUSD, H1


提示:

  • 推荐使用本EA交易作为您开发自己交易策略的交易助手。

本文译自 MetaQuotes Software Corp. 撰写的俄文原文
官方代码: https://www.mql5.com/ru/code/16350

智能的平摊工具 - Hello Smart 智能的平摊工具 - Hello Smart

本EA交易根据一种特别的算法来平摊亏损的仓位。

XvaMA_HTF XvaMA_HTF

在输入参数中带有时段选则选项的 XvaMA 指标。

JSatl_HTF JSatl_HTF

在输入参数中带有时段选择选项的 JSatl 指标。

AFL_WinnerV2_HTF AFL_WinnerV2_HTF

在输入参数中带有时段选择选项的 AFL_WinnerV2 指标。