外汇通|外汇论坛,外汇保证金,交易商,交易平台,网友讨论 外汇通|外汇论坛,外汇保证金,交易商,交易平台,网友讨论 均线交叉EA给大家作参考 外汇通|外汇论坛,外汇保证金,交易商,交易平台,网友讨论 - 外汇通论坛 - Powered by Discuz!NT

外汇通论坛软件讨论交流区MT4专区 均线交叉EA给大家作参考

1  /  1  页   1 跳转 查看:1872

均线交叉EA给大家作参考

均线交叉EA给大家作参考

均线交叉EA给大家作参考
//+------------------------------------------------------------------+
//|                                                    OneOrder1.mq4 |
//|                                                              ldj |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "ldj"
#property link      "http://www.metaquotes.net"
extern int        lots=1;
extern int        EMA1=7;
extern int        EMA2=10;
extern int        EMA3=62;
extern int        timeF=0;
static bool W1,W2,D1,D2,H1,H2,Buy,Sell;
static int  magic;
static double TimeX[3];
static int X[3];
int    MA_Model            =1;
int    PRICE_Model        =0;
//+------------------------------------------------------------------+
//| expert initialization function                                  |
//+------------------------------------------------------------------+
int init()
  {
//----
  X[0]=0;
  X[1]=0;
  X[2]=0;
  D1=false;
  D2=false;
  magic=1;
  TimeX[0]=Time[0];
//----
  return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                |
//+------------------------------------------------------------------+
int deinit()
  {
//----
 
//----
  return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
  if (MAX (EMA1,EMA2,timeF,1)==-1)
  {
    if (SearchOrder (magic,OP_BUY)>0)
    CloseOrder(SearchOrder (magic,OP_BUY));
   
  }
  if (MAX (EMA1,EMA2,timeF,1)==1)
  {
    if (SearchOrder (magic,OP_SELL)>0)
    CloseOrder(SearchOrder (magic,OP_SELL));
   
  }
  if (MAX (EMA1,EMA2,timeF,1)==1 && TimeX[0]!=Time[0])
  {
    if (!OrderSend(Symbol(),OP_BUY,lots,Ask,3,0,0,"D1",magic,0))
    Alert( "OrderSend Error #", GetLastError() );
    TimeX[0]=Time[0];
  }
  if (MAX (EMA1,EMA2,timeF,1)==-1 && TimeX[0]!=Time[0])
  {
    if (!OrderSend(Symbol(),OP_SELL,lots,Bid,3,0,0,"D1",magic,0))
    Alert( "OrderSend Error #", GetLastError() );
    TimeX[0]=Time[0];
  }
//----
  return(0);
  }
//+------------------------------------------------------------------+
//| SearchOrder function                                            |
//+------------------------------------------------------------------+
int SearchOrder (int Magic,int k)
  {
//----
  int i=0;
  for ( int z = OrdersTotal() - 1; z >= 0; z -- )
  {
    if ( !OrderSelect( z, SELECT_BY_POS ) )
    {
      Print("OrderSelect(", z, ",SELECT_BY_POS) - Error #",GetLastError() );
      continue;
    }
    if (OrderSymbol()!=Symbol())continue;
    if (OrderMagicNumber() != Magic )continue;
    if ( OrderType()==k ) i=OrderTicket();
  }
//----
  return(i);
  }
//+------------------------------------------------------------------+
//| CloseOrder function                                              |
//+------------------------------------------------------------------+
int CloseOrder(int _OrderTicket)
  {
//----
  if ( !OrderSelect( _OrderTicket, SELECT_BY_TICKET ) )
  {
    Print("OrderSelect(",OrderTicket(), ",SELECT_BY_POS) - Error #",GetLastError() );
  }
  if (!OrderClose(OrderTicket(), OrderLots(), Bid, 3))
  {
    Print("OrderClose(",OrderTicket(), ",SELL) - Error #",GetLastError() );
  }
//----
  return(1);
  }
//+------------------------------------------------------------------+
//| MAX function                                                    |
//+------------------------------------------------------------------+
int MAX (int MAFast,int MASlow,int PX,int j)
  {
//----
  double MAF[2],MAS[2];
  int i=0;
  MAF[0]=iMA(NULL,PX,MAFast,0,MA_Model,PRICE_Model,0+j);
  MAF[1]=iMA(NULL,PX,MAFast,0,MA_Model,PRICE_Model,1+j);
  MAS[0]=iMA(NULL,PX,MASlow,0,MA_Model,PRICE_Model,0+j);
  MAS[1]=iMA(NULL,PX,MASlow,0,MA_Model,PRICE_Model,1+j);
  if (MAF[0]>MAS[0]  &&  MAF[1]<MAS[1]) i=1;
  if (MAF[0]<MAS[0]  &&  MAF[1]>MAS[1]) i=-1;
 
//----
  return(i);
  }
//+------------------------------------------------------------------+

附件附件:

您所在的用户组无法下载或查看附件

 

回复:均线交叉EA给大家作参考

这个程序不错。就是不知参数怎么设定最合理。谢谢这位新朋友,好运!
 

回复 1F 汇客 的帖子

跟我原理相同,但参数不同,我的好象要好一些,留个QQ号,联系:35920242
 

回复:均线交叉EA给大家作参考

又得到好东西了!!
 

回复:均线交叉EA给大家作参考

值得分享
 

回复:均线交叉EA给大家作参考

均线交叉一直是很多人喜爱用的

谢谢大大热心分享
 
1  /  1  页   1 跳转

版权所有 外汇通  Forex.Com.Cn  Sitemap

Powered by Discuz!NT 2.0.1214    Copyright © 2001-2009 Comsenz Inc. 京ICP证020368号
返顶部