📅 财经日历 📊 实时波动 📈 大盘云图 📶 行情走势 🆚 投机情绪 🚀 今日热点

    ea学习贴

    2011-11-23 · 8622 阅读
    学习笔记
      先要读懂ea
      这是一个EA我要试着去逐行的解读
      /+------------------------------------------------------------------+
      //|                                                        0088C.mq4 |
      //+------------------------------------------------------------------+
      extern int MagicNumber = 2009;
      
      
      
      extern string TEST1=\"测试先头(启动/买BUY/卖SELL)\";
      extern bool  Test = false;
      extern string TEST2=\"自动先头单方向(买BUY/卖SELL)\";
      extern bool  TestBuy = false;
      extern bool  TestSell = false;
      
      extern bool Stair = true;
      extern double Lots = 0.01;
      extern double    StairProfit = 1;
      extern double    SpreadPipLoss = 0.3;
      extern int   MaximumOrders = 70;
      extern int   MinimumOrders = 1;
      extern double ProfitNotOpenOrdersAbove=50000;
      extern double ProfitNotOpenOrdersBelow=-1;
      extern double OpenOrdersBelow=20000;
      extern double OpenOrdersAbove=0;
      extern bool LevelClose = false;
      extern double CloseUpper=20000;
      extern double CloseLower=0;
      extern bool ProfitClose = false;
      extern double ProfitUpper=20000;
      extern double ProfitLower=-10000;
      extern bool Comments=true;//|--------------------allow comments on chart
      
      
      
      extern string PLDTSL504E=\"504自动锁单追踪EA\";
      extern string P1=\"先锁单后追踪\";
      extern bool   ProfitLockingthenProfitTrailing = True;
      extern string SL=\"是否自动设置止损\";
      extern bool   SetLossing = False;
      extern double    MaximalLossing   = 90;
      extern string PL=\"N点锁/锁N点,N点追踪/保持N点\";
      extern double    ProfitLockingStop   = 8;  
      extern double    ProfitLockingStep   = 1;
      extern double    TrailingStop   = 500;     
      extern double    TrailingStep   = 400;
      extern bool   UseSound       = False;  
      extern string NameFileSound  = \"expert.wav\";
      
      
      
      int start()
        {
        for (int i=0; i((((1+OrdersTotal())*OrdersTotal())/2)*StairProfit)-(OrdersTotal()*SpreadPipLoss)){            
               ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,0,0,0,\"Sell\",MagicNumber,0,Red);
        }
       }
       }
       }
       }
       }
       }
       }
       }
       }
       
         if(LevelClose==true){
        if(CloseLower-Bid>=0 ){
         
         for(i=OrdersTotal()-1;i>=0;i--)
             {
          OrderSelect(i, SELECT_BY_POS);
          
          int type   = OrderType();
      
          bool result = false;
          
          switch(type)
          {
            //Close opened long positions
            case OP_BUY       : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );
                                break;
            
            //Close opened short positions
            case OP_SELL      : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red );
                               
          }
          
          if(result == false)
          {
            Alert(\"Order \" , OrderTicket() , \" failed to close. Error:\" , GetLastError() );
            Sleep(3000);
          }  
        }
        return(0);
       
        }
       
      
       if(CloseUpper-Ask=0;i--)
             {
          OrderSelect(i, SELECT_BY_POS);
       
          switch(type)
          {
            //Close opened long positions
            case OP_BUY       : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );
                                break;
            
            //Close opened short positions
            case OP_SELL      : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red );
                               
          }
          
          if(result == false)
          {
            Alert(\"Order \" , OrderTicket() , \" failed to close. Error:\" , GetLastError() );
            Sleep(3000);
          }  
       }
       
        return(0);
       
       
      }
      }
      
      
      
      
      
      if (ProfitClose==true)
         {
         
      if (AccountProfit()>= ProfitUpper)
        {
         
          for(i=OrdersTotal()-1;i>=0;i--)
             {
             OrderSelect(i, SELECT_BY_POS);
                   
             switch(type)
                {
                //Close opened long positions
                case OP_BUY  : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5,Pink);
                               break;
                     
                //Close opened short positions
                case OP_SELL : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5,Pink);
                               
                }
                
             if(result == false)
                {
                  Sleep(3000);
                }  
             }
            Print (\"Account Profit Reached. All Open Trades Have Been Closed\");
            return(0);
            
            
         }  
         
       if (AccountProfit()=0;i--)
             {
             OrderSelect(i, SELECT_BY_POS);
                   
             switch(type)
                {
                //Close opened long positions
                case OP_BUY  : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5,Pink);
                               break;
                     
                //Close opened short positions
                case OP_SELL : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5,Pink);
                               
                }
                
             if(result == false)
                {
                  Sleep(3000);
                }  
             }
            Print (\"Account Profit Reached. All Open Trades Have Been Closed\");
            return(0);
          
         
         }
      }
      
           if(Comments)
         {
            Comment(\"nCopyright 0088C 金字塔累加EA \",\"n买入 = \"+ DoubleToStr(Ask,5),\"n卖出 = \" + DoubleToStr(Bid,5),
                    \"n开仓单位大小 =  \" + DoubleToStr(Lots,2),
                    \"n单子总数 =  \" + DoubleToStr(OrdersTotal(),2),
                    \"n帐户担保资金 =  \" + DoubleToStr(AccountMargin(),2),
                    \"n利润 =  \" + DoubleToStr(AccountProfit(),2),
                    \"n余额 =  \" + DoubleToStr(AccountBalance(),2),
                    \"n价值 =  \" + DoubleToStr(AccountEquity(),2),
                    \"n收益多少元开始累加 =  \" + DoubleToStr(StairProfit,2),
                    \"n点差损失         =  \" + DoubleToStr(SpreadPipLoss,2),
                    \"n最多多少单子 =  \" + DoubleToStr(MaximumOrders,2),  
                    \"n利润大于多少禁止开仓 = \" + DoubleToStr(ProfitNotOpenOrdersAbove,2),
                    \"n利润小于多少禁止开仓 = \" + DoubleToStr(ProfitNotOpenOrdersBelow,2),
                    \"n在该价格以下开仓 = \" + DoubleToStr(OpenOrdersBelow,5),
                    \"n在该价格以上开仓 = \" + DoubleToStr(OpenOrdersAbove,5),
                    \"n价格大于多少自动关闭 = \" + DoubleToStr(CloseUpper,5),
                    \"n价格小于多少自动关闭 = \" + DoubleToStr(CloseLower,5),
                    \"n利润大于多少自动关闭 = \" + DoubleToStr(ProfitUpper,2),
                    \"n利润小于多少自动关闭 = \" + DoubleToStr(ProfitLower,2));
         }
      
      }
      
      //+------------------------------------------------------------------+
      void TrailingPositions() {
        double pBid, pAsk, pp;
        pp = MarketInfo(OrderSymbol(), MODE_POINT);
      //+------------------------------------------------------------------+
      
      
      
        if(AccountProfit()-ProfitNotOpenOrdersAbove0){
        if(OrdersTotal()=MinimumOrders){
        if (OpenOrdersBelow-Ask>0){
         if (OpenOrdersAbove-Bid=ProfitLockingStop*pp) {   
              if ((pBid-OrderOpenPrice())TrailingStop*pp) {
              if (OrderStopLoss()>pAsk+TrailingStep*pp|| OrderStopLoss()==0) {
               ModifyStopLoss(pAsk+TrailingStep*pp);
               }
            }        
              return;
            }  
        }
        }
       
        if (SetLossing){
        if (OrderType()==OP_BUY) {
          pBid = MarketInfo(OrderSymbol(), MODE_BID);
          if ((pBid-OrderOpenPrice())
    ""
    还没有人打赏,支持一下
    回复

    举报

     

    回答|共 27 个

    angel LV4

    发表于 2012-11-22 00:02:14 | 显示全部楼层

    ea编程高手有偿开发MT4指标和ea系统,并有稳定盈利ea出售,非大资金勿扰  

    笑看风云 LV5

    发表于 2012-11-22 00:02:14 | 显示全部楼层

    帮你项项吧  

    boyzone LV5

    发表于 2012-11-22 00:28:10 | 显示全部楼层

    EA的不好,智能交易毕竟是软件编程的,有漏洞,建议不要使用  

    情人日记 LV7

    发表于 2012-11-22 00:28:10 | 显示全部楼层

    你好 , 写过很多ea了, 请看我用户名, 加后可提供博客看看我的ea介绍

    mast外汇 LV5

    发表于 2012-11-22 00:28:10 | 显示全部楼层

    帮你项项吧  

    UKBNCKPv LV5

    发表于 2012-11-22 00:28:10 | 显示全部楼层

    长时间没来看了 ~~  

    莫杨 LV5

    发表于 2012-11-22 00:28:10 | 显示全部楼层

    HOHO~~~~~~  

    l26709020 LV5

    发表于 2012-11-22 00:28:10 | 显示全部楼层

    这样的贴子,不顶说不过去啊  

    猪哥 LV5

    发表于 2012-11-22 00:28:10 | 显示全部楼层

    围观来了哦  
    123下一页
    您需要登录后才可以回帖 登录 | 注册

    提醒: 禁止引战、谩骂、灌水内容

    微信二维码

    有问题联系客服