- 发布者:
- Vladimir Karputov
- 显示:
- 1554
- 等级:
- 已发布:
- 2017.02.07 11:12
- 已更新:
- 2018.02.22 14:27
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
思路提供者 — George F.Peskov, MQL5 代码作者 — barabashkakvn。
基于两条 iMA (MA) 交叉的交易系统, 止损基于 ATR 值自动设置。每当有一笔开仓或平仓时, 都会发送电子邮件消息。参数可通过回测来选择。
在第一根和第二根柱线上获取指标值:
//--- 获取移动均值
mas=iMAGet(handle_iMA1,1); // 长线移动均线 12
maf=iMAGet(handle_iMA2,1); // 短线移动均线 4
mas_p=iMAGet(handle_iMA1,2); // 长线移动均线 12
maf_p=iMAGet(handle_iMA2,2); // 短线移动均线 4
Atr=iATRGet(0);
mas=iMAGet(handle_iMA1,1); // 长线移动均线 12
maf=iMAGet(handle_iMA2,1); // 短线移动均线 4
mas_p=iMAGet(handle_iMA1,2); // 长线移动均线 12
maf_p=iMAGet(handle_iMA2,2); // 短线移动均线 4
Atr=iATRGet(0);
检查做空条件:
//--- 做空条件
if(maf<mas && maf_p>=mas_p)
{
double lots=LotsOptimized();
double stop_loss=NormalizeDouble(m_symbol.Ask()+Atr,Digits());
res=m_trade.Sell(lots,Symbol(),m_symbol.Bid(),stop_loss,0);
if(SndMl==true && res)
{
sHeaderLetter="做空操作"+Symbol()+"";
sBodyLetter="做空成交"+Symbol()+" 价位 "+DoubleToString(m_symbol.Bid(),Digits())+
", 且止损设置在 "+DoubleToString(stop_loss,Digits())+"";
sndMessage(sHeaderLetter,sBodyLetter);
}
return;
}
if(maf<mas && maf_p>=mas_p)
{
double lots=LotsOptimized();
double stop_loss=NormalizeDouble(m_symbol.Ask()+Atr,Digits());
res=m_trade.Sell(lots,Symbol(),m_symbol.Bid(),stop_loss,0);
if(SndMl==true && res)
{
sHeaderLetter="做空操作"+Symbol()+"";
sBodyLetter="做空成交"+Symbol()+" 价位 "+DoubleToString(m_symbol.Bid(),Digits())+
", 且止损设置在 "+DoubleToString(stop_loss,Digits())+"";
sndMessage(sHeaderLetter,sBodyLetter);
}
return;
}
检查做多条件:
//--- 做多条件
if(maf>mas && maf_p<=mas_p)
{
double lots=LotsOptimized();
double stop_loss=NormalizeDouble(m_symbol.Bid()-Atr,Digits());
res=m_trade.Buy(lots,Symbol(),m_symbol.Ask(),stop_loss,0);
if(SndMl==true && res)
{
sHeaderLetter="做多操作"+Symbol()+"";
sBodyLetter="做多成交"+Symbol()+" 价位 "+DoubleToString(m_symbol.Ask(),Digits())+
", 且止损设置在 "+DoubleToString(stop_loss,Digits())+"";
sndMessage(sHeaderLetter,sBodyLetter);
}
return;
}
if(maf>mas && maf_p<=mas_p)
{
double lots=LotsOptimized();
double stop_loss=NormalizeDouble(m_symbol.Bid()-Atr,Digits());
res=m_trade.Buy(lots,Symbol(),m_symbol.Ask(),stop_loss,0);
if(SndMl==true && res)
{
sHeaderLetter="做多操作"+Symbol()+"";
sBodyLetter="做多成交"+Symbol()+" 价位 "+DoubleToString(m_symbol.Ask(),Digits())+
", 且止损设置在 "+DoubleToString(stop_loss,Digits())+"";
sndMessage(sHeaderLetter,sBodyLetter);
}
return;
}
由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/16949

设计用来在 FORTS 剥头皮的实时指标。

趋势交易系统 Exp_FisherTransform_X2, 基于来自来两条 FisherTransform 指标的信号。