MT4 EA 制作速成班
李易鸿原创 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() |
打赏
最新创建圈子
- 新闻EA运行效果图圈 2019-05-05
圈主:admin 帖子:1