请各位高手帮忙,所编ea无法运转 请大家帮忙看是什么问题。 新评论 dlt916 2012.04.17 01:51 所写ea如下 这个ea是要实现按照macd线弯来开仓 实现多空互换 平多开空 平空开多 无间断交易 请大家帮看看 谢谢 //+------------------------------------------------------------------+ //| MACD Sample.mq4 | //| Copyright ?2005, MetaQuotes Software Corp. | //| https://www.metaquotes.net// | //+------------------------------------------------------------------+ //定义变量 extern double Lots = 0.01; double Init_Balance; int TicketNo; double Macd_0,Macd_1,Signal_0,Signal_1; int init() { Init_Balance=AccountBalance(); } // int start() { //提取市场信息 string mktSignal=ReturnMarketInformation(); if(OrdersTotal()==0) { Open_New_Order(Lots); } if(OrdersTotal()>0) { OrderSelect(OrdersTotal()-1,SELECT_BY_POS); if(OrderType()==0&&mktSignal=="Sell") { for(int G_Count=OrdersTotal();G_Count>=0;G_Count--) { if(OrderSelect(G_Count,SELECT_BY_POS)==false) continue; else OrderClose(TicketNo,Lots,Bid,0); } } if( OrderType()==0&&mktSignal=="Buy") { for( G_Count=OrdersTotal();G_Count>=0;G_Count--) { if(OrderSelect(G_Count,SELECT_BY_POS)==false) continue; else OrderClose(TicketNo,Lots,Ask,0); } } } return(0); } void Open_New_Order(double Lots) { if(ReturnMarketInformation()=="Buy") TicketNo=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,0,0); if( ReturnMarketInformation()=="Sell") TicketNo=OrderSend(Symbol(),OP_SELL,Lots,Bid,0,0,0); } string ReturnMarketInformation() { string MktInfo="N/A"; Macd_0=iMACD(NULL,0,15,55,9,PRICE_CLOSE,MODE_MAIN,0); Macd_1=iMACD(NULL,0,15,55,9,PRICE_CLOSE,MODE_MAIN,1); Signal_0=iMACD(NULL,0,15,55,9,PRICE_CLOSE,MODE_SIGNAL,0); Signal_1=iMACD(NULL,0,15,55,9,PRICE_CLOSE,MODE_SIGNAL,1); if(Macd_0>Macd_1&&Signal_0>Signal_1) { MktInfo="Buy"; } if(Macd_0<Macd_1&&Signal_0<Signal_1) { MktInfo="Sell"; } return(MktInfo); } 附加的文件: macdnsample.mq4 3 kb EA不会在多对上运行,需要帮助 [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 哪位高人可以把这个EA的每一句代表什么意思做个翻译!你会有意想不到的收获! 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
所写ea如下
这个ea是要实现按照macd线弯来开仓 实现多空互换 平多开空 平空开多 无间断交易
请大家帮看看 谢谢
//+------------------------------------------------------------------+
//| MACD Sample.mq4 |
//| Copyright ?2005, MetaQuotes Software Corp. |
//| https://www.metaquotes.net// |
//+------------------------------------------------------------------+
//定义变量
extern double Lots = 0.01;
double Init_Balance;
int TicketNo;
double Macd_0,Macd_1,Signal_0,Signal_1;
int init()
{
Init_Balance=AccountBalance();
}
//
int start()
{
//提取市场信息
string mktSignal=ReturnMarketInformation();
if(OrdersTotal()==0)
{
Open_New_Order(Lots);
}
if(OrdersTotal()>0)
{
OrderSelect(OrdersTotal()-1,SELECT_BY_POS);
if(OrderType()==0&&mktSignal=="Sell")
{
for(int G_Count=OrdersTotal();G_Count>=0;G_Count--)
{
if(OrderSelect(G_Count,SELECT_BY_POS)==false) continue;
else OrderClose(TicketNo,Lots,Bid,0);
}
}
if( OrderType()==0&&mktSignal=="Buy")
{
for( G_Count=OrdersTotal();G_Count>=0;G_Count--)
{
if(OrderSelect(G_Count,SELECT_BY_POS)==false) continue;
else OrderClose(TicketNo,Lots,Ask,0);
}
}
}
return(0);
}
void Open_New_Order(double Lots)
{
if(ReturnMarketInformation()=="Buy")
TicketNo=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,0,0);
if( ReturnMarketInformation()=="Sell")
TicketNo=OrderSend(Symbol(),OP_SELL,Lots,Bid,0,0,0);
}
string ReturnMarketInformation()
{
string MktInfo="N/A";
Macd_0=iMACD(NULL,0,15,55,9,PRICE_CLOSE,MODE_MAIN,0);
Macd_1=iMACD(NULL,0,15,55,9,PRICE_CLOSE,MODE_MAIN,1);
Signal_0=iMACD(NULL,0,15,55,9,PRICE_CLOSE,MODE_SIGNAL,0);
Signal_1=iMACD(NULL,0,15,55,9,PRICE_CLOSE,MODE_SIGNAL,1);
if(Macd_0>Macd_1&&Signal_0>Signal_1)
{
MktInfo="Buy";
}
if(Macd_0<Macd_1&&Signal_0<Signal_1)
{
MktInfo="Sell";
}
return(MktInfo);
}