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

    MT4 EA 制作速成班-战场策略篇2-十面埋伏

    2011-09-22 · 12056 阅读
    李易鸿原创
      MT4 EA 智能交易制作速成班
      版权所有 请勿翻版
       
      

      MT4 EA 制作速成班-战场策略篇2
      版权所有 请勿转翻
      作者:李沂鸿(马来西亚)
      网站:mt4ea.com
      疫苗:jh7x51@hotmail.com
      第二章:十面埋伏源码
      
      以下是不完整的源码
      少了三个子程式
      关闭买上();关闭卖下();关闭全部();
      我还在等速成班学员交功课
      哈哈和。。。
      
      或者有哪一位高手要帮他们补上去?
      
      //+------------------------------------------------------------------+
      //| MT4_EA_制作速成班模板.mq4 |
      //| Copyright 2008, MT4_EA_制作速成班模板. |
      //| http://www.MT4_EA_制作速成班模板.net |
      //+------------------------------------------------------------------+
      #property copyright \"2008年5月31日\"
      #property link \"http://www.MT4_EA_制作速成班模板.net\"
      //#define MagicNumber 20080400; //int MagicNumber = 200601182020; // allows multiple experts to trade on same account
      
      int MagicNumber = 20080531; // MAGICMA allows multiple experts to trade on same account
      
      
      ////////////////////////
      extern string _资金管理_ =\"任选一个\";
      extern bool zijiguanli1= true;//false true、、
      extern bool zijiguanli2= false;//false true、、
      extern bool zijiguanli3= false;//false true、、
      ///////////////////////////////////
      string EAname =\"五线谱\";
      extern double cheng=1;
      double aa=0;
      int s=0,b=0,i=0,panduan=0;
      double CurrentBasket=0;
      double LotMM=0;
      double lotstart=0;
      double LotsMax=100;
      double LotsMin=0.1;
      extern double lotab=0.1;
      extern double Stoploss=0,no60=60;
      double lots=0;
      double TP=0,TPP=0,SL=0,SLL=0,SLauto;
      int slip=6;
      //////////////////////////////////
      double mode=0;
      double LastOrderType;
      double LastPricesell;
      double LastPricebuy;
      double LastPrice;
      double OpenSells;
      double OpenSellStops;
      double OpenBuys;
      double OpenBuyStops;
      ///////////////////////////////
      int cnt;
      extern int TrailingStop=0;
      ///////////////////////////////
      string text=\"\";
      ////////////////////////
      extern double macd12_1=12, macd12_2=26, macd12_3=9;
      double macd12now;
      extern double ma1=1,ma2=2,ma3=3,ma4=4,ma5=5;
      extern double ma6=6,ma7=7,ma8=8,ma9=9,ma10=10;
      double ma1now,ma2now,ma3now,ma4now,ma5now;
      double ma6now,ma7now,ma8now,ma9now,ma10now;
      extern double adx14=14;
      double adx14now,kxian,no2=2;
      ////////////////////////////
      double BaoZhenJing;
      //////////////////////////////
      int 判断=0,buy1=1,buy2=1,buy3=1,buy4=1,sell1=1,sell2=1,sell3=1,sell4=1;
      
      //+------------------------------------------------------------------+
      //| expert initialization function |
      //+------------------------------------------------------------------+
      int init()
      {
      //----
      
      //----
      return(0);
      }
      //+------------------------------------------------------------------+
      //| expert deinitialization function |
      //+------------------------------------------------------------------+
      int deinit()
      {
      //----
      
      //----
      return(0);
      }
      
      //+------------------------------------------------------------------+
      //| expert start function |
      //+------------------------------------------------------------------+
      int start()
      {
      //保护EA
      if(IsDemo()){
      text=\"==DEMO版,关闭MT4,关闭网络连接,从开MT4就可以测试了== \";
      string name_18 = \"xianshi2\";
      ObjectDelete(name_18);
      ObjectCreate(name_18, OBJ_LABEL, 0, 0, 0);
      ObjectSetText(name_18, \"\"+text+\"\", 15, \"Arial\", Red);
      ObjectSet(name_18, OBJPROP_CORNER, 1);
      ObjectSet(name_18, OBJPROP_XDISTANCE, 15);
      ObjectSet(name_18, OBJPROP_YDISTANCE, 5);
      return(0);}
      //----
      
      //保护EA
      if(!IsTesting()){
      text=\"==测试版,不是正式使用版!== \";
      name_18 = \"xianshi2\";
      ObjectDelete(name_18);
      ObjectCreate(name_18, OBJ_LABEL, 0, 0, 0);
      ObjectSetText(name_18, \"\"+text+\"\", 15, \"Arial\", Red);
      ObjectSet(name_18, OBJPROP_CORNER, 1);
      ObjectSet(name_18, OBJPROP_XDISTANCE, 15);
      ObjectSet(name_18, OBJPROP_YDISTANCE, 5);
      return(0);}
      //----
      //保护EA
      if(!IsConnected()){
      text=\"==测试版,关闭MT4,关闭网络连接,从开MT4就可以测试了== \";
      name_18 = \"xianshi2\";
      ObjectDelete(name_18);
      ObjectCreate(name_18, OBJ_LABEL, 0, 0, 0);
      ObjectSetText(name_18, \"\"+text+\"\", 15, \"Arial\", Red);
      ObjectSet(name_18, OBJPROP_CORNER, 1);
      ObjectSet(name_18, OBJPROP_XDISTANCE, 15);
      ObjectSet(name_18, OBJPROP_YDISTANCE, 5);
      return(0);}
      ///----
      //主程式
      检查判断();
      资金管理();
      macd指标管理();
      ma指标管理();
      adx指标管理();
      战场管理();
      显示管理();
      移动止赢();
      
      //----
      return(0);
      }
      //+------------------------------------------------------------------+
      void 检查判断()
      {
      
      b=0;s=0;
      for (int cnt=0; cnt= 1 ) { return(0); }
      //---------------------------------------------------------------------
      
      //这个(if(s+b==111)。。。)下面的在编写策略后要用//去掉。
      if(s+b==1111){卖下();买上();关闭买上();关闭卖下();关闭全部();}
      //这边编写策略
      //第一步 买上()策略
      if(b==0
      && (ma1now-ma2now)/Point > no2
      && (ma3now-ma4now)/Point > no2
      && (ma5now-ma6now)/Point > no2
      && (ma7now-ma8now)/Point > no2
      && (ma9now-ma10now)/Point > no2
      ){判断=1;买上();}
      
      //第2步 卖下() 策略
      if(s==0
      && (ma2now-ma1now)/Point > no2
      && (ma4now-ma3now)/Point > no2
      && (ma6now-ma5now)/Point > no2
      && (ma8now-ma7now)/Point > no2
      && (ma10now-ma9now)/Point > no2
      ){判断=2;卖下();}
      
      //第3步关闭买上()策略
      if(判断==2
      && b==1
      ){关闭买上();}
      
      //第4步关闭卖下()策略
      if(判断==1
      && s==1
      ){关闭卖下();}
      
      }//end 战场管理
      
      //+------------------------------------------------------------------+
      void 买上(){
      if (TP==0) { TPP=0; } if(TP>0) { TPP=Ask+TP*Point; }
      if (SL==0) { SLL=0; } if(SL>0) { SLL=Ask-SL*Point; }
      OrderSend(Symbol(),OP_BUY,LotMM,Ask,slip,SLL,TPP,\"M\"+Period()+\"\"+EAname+\"\",MagicNumber,0,Violet);
      //Alert(\"Order MagicNumber==\",MagicNumber,\"\");
      return(0); }
      //+------------------------------------------------------------------+
      void 卖下(){
      if (TP==0) { TPP=0; } if(TP>0) { TPP=Bid-(TP*Point); }
      if (SL==0) { SLL=0; } if(SL>0) { SLL=Bid+(SL*Point); }
      //Alert(\"Order MagicNumber==\",MagicNumber,\" sell1=\",sell1,\" sell2=\",sell2,\" sell3=\",sell3,\" sell4=\",sell4,\"\");
      OrderSend(Symbol(),OP_SELL,LotMM,Bid,slip,SLL,TPP,\"M\"+Period()+\"\"+EAname+\"\",MagicNumber,0,GreenYellow);
      return(0); }
      //+------------------------------------------------------------------+
      //+------------------------------------------------------------------+
      
      
      //+------------------------------------------------------------------+
      void 显示管理()
      {
      string name_8 = \"xianshi1\";
      ObjectDelete(name_8);
      ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSetText(name_8, \"伺服器时间::\"+TimeToStr(CurTime( ))+\"\", 13, \"Arial\", White);
      ObjectSet(name_8, OBJPROP_CORNER, 0);
      ObjectSet(name_8, OBJPROP_XDISTANCE, 200);
      ObjectSet(name_8, OBJPROP_YDISTANCE, 5);
      
      text=\"MT4 EA 制作策略编写_十面埋伏-编写:柒侠伍义 \";
      name_8 = \"xianshi2\";
      ObjectDelete(name_8);
      ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSetText(name_8, \"\"+text+\"\", 14, \"Arial\", Yellow);
      ObjectSet(name_8, OBJPROP_CORNER, 1);
      ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
      ObjectSet(name_8, OBJPROP_YDISTANCE, 5);
      
      name_8 = \"Lableyeddrice1\";
      ObjectDelete(name_8);
      ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSetText(name_8, \"M\"+Period()+\" 货币 \"+Symbol()+\"\", 10, \"Arial\", Silver);
      ObjectSet(name_8, OBJPROP_CORNER, 1);
      ObjectSet(name_8, OBJPROP_XDISTANCE, 130);
      ObjectSet(name_8, OBJPROP_YDISTANCE, 32);
      
      //////这个显示上方
      name_8 = \"LableCurPrice2\";
      ObjectDelete(name_8);
      ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSetText(name_8,\"\"+DoubleToStr(Ask, Digits)+\"::买上\", 15, \"Arial\", Lime);
      ObjectSet(name_8, OBJPROP_CORNER, 1);
      ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
      ObjectSet(name_8, OBJPROP_YDISTANCE, 30);
      
      //////这个显示下方
      name_8 = \"Lab345rPrice3\";
      ObjectDelete(name_8);
      ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSetText(name_8,\"\"+DoubleToStr(Bid, Digits)+\"::卖下\", 15, \"Arial\", Lime);
      ObjectSet(name_8, OBJPROP_CORNER, 1);
      ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
      ObjectSet(name_8, OBJPROP_YDISTANCE, 50);
      
      name_8 = \"Acc87lance\";
      ObjectDelete(name_8);
      ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSetText(name_8,\"\"+DoubleToStr( AccountBalance(), 2)+\"::账面资金\", 13, \"Arial\", Lime);
      ObjectSet(name_8, OBJPROP_CORNER, 1);
      ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
      ObjectSet(name_8, OBJPROP_YDISTANCE, 70);
      
      name_8 = \"LableC5rice6\";
      ObjectDelete(name_8);
      ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSetText(name_8,\"\"+DoubleToStr( AccountEquity(), 2)+\"::净值资金\", 13, \"Arial\", Lime);
      ObjectSet(name_8, OBJPROP_CORNER, 1);
      ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
      ObjectSet(name_8, OBJPROP_YDISTANCE, 90);
      
      name_8 = \"Labl456rice6\";
      ObjectDelete(name_8);
      ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSetText(name_8,\"\"+DoubleToStr( AccountMargin(), 2)+\"::保证资金\", 13, \"Arial\", Lime);
      ObjectSet(name_8, OBJPROP_CORNER, 1);
      ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
      ObjectSet(name_8, OBJPROP_YDISTANCE, 110);
      
      name_8 = \"Labl4hcjce6\";
      ObjectDelete(name_8);
      ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSetText(name_8,\"\"+DoubleToStr( AccountFreeMargin(), 2)+\"::可用资金\", 13, \"Arial\", Lime);
      ObjectSet(name_8, OBJPROP_CORNER, 1);
      ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
      ObjectSet(name_8, OBJPROP_YDISTANCE, 130);
      
      name_8 = \"Accvf7lance\";
      ObjectDelete(name_8);
      ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSetText(name_8,\"\"+DoubleToStr( AccountProfit(), 2)+\"::账面盈亏\", 13, \"Arial\", Lime);
      ObjectSet(name_8, OBJPROP_CORNER, 1);
      ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
      ObjectSet(name_8, OBJPROP_YDISTANCE, 150);
      aa=s+b;
      name_8 = \"Accvfee7lance\";
      ObjectDelete(name_8);
      ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSetText(name_8,\"\"+DoubleToStr( aa, 0)+\"::s+b\", 13, \"Arial\", Lime);
      ObjectSet(name_8, OBJPROP_CORNER, 1);
      ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
      ObjectSet(name_8, OBJPROP_YDISTANCE, 170);
      aa=adx14now;
      name_8 = \"Acccvfee7lance\";
      ObjectDelete(name_8);
      ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSetText(name_8,\"\"+b+\"::buy\", 13, \"Arial\", Lime);
      ObjectSet(name_8, OBJPROP_CORNER, 1);
      ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
      ObjectSet(name_8, OBJPROP_YDISTANCE, 190);
      name_8 = \"Acccwvfee7lance\";
      ObjectDelete(name_8);
      ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSetText(name_8,\"\"+s+\"::sell\", 13, \"Arial\", Lime);
      ObjectSet(name_8, OBJPROP_CORNER, 1);
      ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
      ObjectSet(name_8, OBJPROP_YDISTANCE, 210);
      aa=判断;
      name_8 = \"Accc我vfee7lance\";
      ObjectDelete(name_8);
      ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSetText(name_8,\"\"+DoubleToStr( aa, 0)+\"::判断\", 13, \"Arial\", Lime);
      ObjectSet(name_8, OBJPROP_CORNER, 1);
      ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
      ObjectSet(name_8, OBJPROP_YDISTANCE, 230);
      if(ma10now>ma9now){aa=(ma10now-ma9now)/Point;}
      if(ma9now>ma10now){aa=(ma9now-ma10now)/Point;}
      name_8 = \"Accc我vfeffe7lance\";
      ObjectDelete(name_8);
      ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSetText(name_8,\"\"+DoubleToStr( aa, 2)+\"::ma10ma9\", 13, \"Arial\", Lime);
      ObjectSet(name_8, OBJPROP_CORNER, 1);
      ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
      ObjectSet(name_8, OBJPROP_YDISTANCE, 250);
      
      //我们可以无限的加
      }//end 显示管理()
      //+------------------------------------------------------------------+
      ///////////////////////
      void 移动止赢()
      {
      for(cnt=OrdersTotal();cnt>=0;cnt--)
      {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() == Symbol() ) //&& OrderMagicNumber()==MAGICMA)
      {
      if (OrderType()==OP_SELL)
      {
      if(TrailingStop>0)
      {
      if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
      {
      if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
      {
      OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
      
      return(0);
      }
      }
      }
      }
      
      if (OrderType()==OP_BUY)
      {
      if(TrailingStop>0)
      {
      if(Bid-OrderOpenPrice()>oint*TrailingStop)
      {
      if(OrderStopLoss()
    ""
    还没有人打赏,支持一下
    回复

    举报

     

    回答|共 32 个

    alisa LV5

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

    对不起,我走错地方了,呵呵  

    lynesyl LV4

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

    呵呵 高高实在是高~~~~~  

    白眉大侠 LV5

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

    今天再看下  

    珊瑚 LV5

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

    强人,佩服死了。呵呵,不错啊  

    carlot LV5

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

    又看了一次  

    做梦吧你 LV5

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

    我有个群,大家一起来讨论EA.  

    二元期权 LV5

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

    资金量设置的是10000美元啊,  

    5419636 LV3

    发表于 2013-1-21 12:48:12 | 显示全部楼层

    [s:136][s:136][s:136][s:136][s:136]

    MaxJoey LV3

    发表于 2013-1-29 09:54:33 | 显示全部楼层

    什么情况??
    1234下一页
    您需要登录后才可以回帖 登录 | 注册

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

    微信二维码

    有问题联系客服