【外汇EA指标学习】MQL4实例EA教程:连拉3个阴柱或阳柱后做交易
小明学外汇EA指标 2019-09-09 23:37:50 交流微信号:FX263cn 外汇EA指标 MQL4实例
代码如下:
int MAGIC=35207814;
extern double lots=1;
//+------------------------------------------------------------------+
//| 下面定义start函数,函数会在价格每次波动的时候运行。
//+------------------------------------------------------------------+
int start()
{
if(CalculateCurrentOrders(Symbol())==0) //当前帐户订单为0时,继续下面的代码,也就是说,如果已经成交了,即使出现信号也不会再次成交。
{
double StopLoss;
double TakeProft;
if(Signal()==-1)//卖出信号出现
{
StopLoss=Open[3];//设定止损第三根k线的开盘价
TakeProft=2*(Open[1]-Close[1]+Open[2]-Close[2]+Open[3]-Close[3])/Point;//设定止盈为前面三根k线总和的2倍
if(OrderSend(Symbol(),OP_SELL,lots,Bid,3,StopLoss,Bid-TakeProft*Point,0,MAGIC,0,Blue)<0)//如果卖出失败
Alert("auto sell is failed!---"+GetLastError());//弹窗报警并且显示失败代码
else return(0);//交易成功就返回不执行下面的代码。
}
if(Signal()==1)//买入信号出现
{
StopLoss=Open[3];//设定止损第三根k线的开盘价
TakeProft=2*(Close[1]-Open[1]+Close[2]-Open[2]+Close[3]-Open[3])/Point;//设定止盈为前面三根k线总和的2倍
if(OrderSend(Symbol(),OP_BUY,lots,Ask,3,StopLoss,Ask+TakeProft*Point,0,MAGIC,0,Red)<0)//如果买入失败
Alert("auto buy is failed!---"+GetLastError());//弹窗报警并且显示失败代码
else return(0);//交易成功就返回不执行下面的代码。
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
int CalculateCurrentOrders(string symbol) //本函数用来返回本ea下单并且没有平仓的订单数目
{
int ors=0;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC)
{
if(OrderType()==OP_BUY) ors++;
if(OrderType()==OP_SELL) ors++;
}
}
return(ors);
}
//*************交易信号,返回值是1便是买入,-1就是卖出,0是没有信号
int Signal()
{
int res;
if(Close[1]>Open[1] && Close[2]>Open[2] && Close[3]>Open[3]) //买入信号:连续三根k线为阳线
res=1;
if(Close[1]<Open[1] && Close[2]<Open[2] && Close[3]<Open[3]) //卖出信号:连续三根k线为阴线
res=-1;
return(res);
}
【全球外汇中文网Fx263.com ,阅读更多请登录www.Fx263.com】
【版权声明】
本文仅代表作者观点,不代表本站立场。Fx263.com对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证,且不构成任何投资建议,请读者仅作参考,并自行承担全部风险与责任。Fx263.com作为信息内容发布平台,页面展示内容的目的在于传播更多信息,不代表Fx263.com立场;本站会员及自媒体人所发的稿件所载明的信息与本网无关,如文章涉及版权,请联系本站处理。
【风险提示】
请通过正规渠道参与外汇保证金交易。目前通过网络平台提供、参与外汇保证金交易均属非法。请提高意识,谨防损失!外汇、贵金属和差价合约(OTC场外交易)是杠杆产品,存在较高的风险,可能会导致亏损您的投资本金,请理性投资。