多币种夜间剥头皮EA交易 - Night Scalper Multi - MetaTrader 5EA
- 显示:
- 6402
- 等级:
- 已发布:
- 2017.01.25 08:59
- 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
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 Ltd译自俄语
原代码: https://www.mql5.com/ru/code/16350