


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、利用均线间隔距离来进行交易的系统(据说价格300欧元)/ user in putexter n double Lots=0.1;/ how many lots to trade at a timeextern intSlippage=2;/ how many pips of slippage can you tolorateextern intFast_TimeFrame=0;extern intFast_Period=28;extern intFast_Price = PRICE_OPEN;extern intFast_Mode = MODE_SMA;extern intFast_Shift
2、=0;extern intSlow_TimeFrame=0;extern intSlow_Period=73;extern intSlow_Price = PRICE_OPEN;extern intSlow_Mode = MODE_SMA;extern intSlow_Shift=0;extern double DVBuySell=0.002;extern intMAXTrades=5;/ nu mber of trades to have ope n at onceexter n double ProfitMade=100;/ how much money do you expect to
3、makeexter n double LossLimit=72;/ how much loss can you tolorateextern intTrailStop=999;/ traili ng stop (999=no traili ng stop).专业资料.extern int PLBreakEven=999;made (999=off)extern int StartHour=0;/ your local time to start mak ing tradesexter n intStopHour=24;/ your local time to stop mak ing trad
4、esextern int BasketProfit=9999;/ if equity reaches this level, close tradesextern int BasketLoss=9999;/ if equity reaches this n egative level, close/ set break even when this many pips aretrades/ naming and nu mberi ngintMagicNumber = 200601182020; / allows multiple experts to trade on same acco un
5、tstri ngTradeComme nt = "2MA_Diverge nceTrader_04_"/ used to determ ine whe n a bar has moved/ Bar han dli ng datetime bartime=0;intbartick=0;intobjtick=0;inttickco un t=0;/ nu mber of times bars have moved/ used to draw objects on the chart/ Trade con trol/ used to man age tradesbool Trad
6、eAllowed=true;/ Mi n/Max tracki ngdouble maxOrders;double maxEquity;double min Equity;double CECou nt;double CEProc;double CEBuy;double CESell;/+| Custom in it |ll+/ Called ONCE whe n EA is added to chart or recompiled int init()int i;stri ng o;/remove the old objectsfor(i=0; i<Bars; i+)o=DoubleT
7、 oStr(i,0);ObjectDelete("myx"+o);ObjectDelete("myz"+o);objtick=0;Prin t("l nit happe ned ”,CurTime();Comme nt(” ");/+| Custom DE-i nit |/+/ Called ONCE whe n EA is removed from chart int dein it()int i;stri ng o;/remove the old objectsfor(i=0; i<Bars; i+)o=DoubleT oS
8、tr(i,0);ObjectDelete("myx"+o);ObjectDelete("myz"+o);objtick=0;Prin t("MAX number of orders ”,maxOrders);Prin t("MAX equity”,maxEquity);Prin t("MIN equity",mi nEquity);Prin t("Close Everyth ing",CECou nt);Prin t("Close Proc”,CEProc);Prin t("
9、Proc Buy”,CEBuy);Prin t("Proc Sell”,CESell);Print("DE-Init happened ”,CurTime();Comme nt(” ");/+| Ma in|/+/ Called EACH TICK and each Bar int start()double p=Po in t();double spread=Ask-Bid;intcn t=0;intgle=0;intOrdersPerSymbol=0;intOrdersBUY=0;intOrdersSELL=0;intiFileHa ndle;/ stoplo
10、ss and takeprofit and close control double SL=0;double TP=0;double Curre ntProfit=0;double Curren tBasket=0;/ directi on con trolbool BUYme=false;bool SELLme=false;/ Trade stuff double diverge;/ bar counting if(bartime!=TimeO)bartime=TimeO;bartick+;objtick+;TradeAllowed=true;Prin t("Bartick=&qu
11、ot;,bartick);OrdersPerSymbol=0;for(cnt=OrdersT otal();cnt>=O;cnt-)OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);if( OrderSymbol()=Symbol() && OrderMagicNumber()=MagicNumber)OrdersPerSymbol+;if(OrderType()=OP_BUY) OrdersBUY+; if(OrderType()=OP_SELL)OrdersSELL+;if(OrdersPerSymbol>maxOrder
12、s) maxOrders=OrdersPerSymbol;/+| In sert your in dicator here| And set either BUYme or| SELLme true to place orders | /+ diverge=diverge nce(O);Comme nt("Curre nt Diverge nee = ”,diverge);if( diverge>=DVBuySell )BUYme=true;if( diverge<=(DVBuySell*(-1) SELLme=true;/+/| End In sert |/+/ENTR
13、Y LONG (buy, Ask) if(OrdersPerSymbol<=MAXTrades && TradeAllowed && BUYme)/Ask(buy, lo ng)if(LossLimit =0) SL=0; else SL=Ask-(LossLimit+7)*Poi nt();if(ProfitMade=0) TP=0; else TP=Ask+(ProfitMade+7)*Point();OrderSe nd(Symbol(),OP_BUY,Lots,Ask,Slippage,SL,TP ,TradeComme nt,MagicNumbe
14、r,Whit e);gle=GetLastError();if(gle=0)Prin t("BUYAsk=",Ask," bartick=",bartick);ObjectCreate("myx"+DoubleToStr(objtick,0),OBJ_TEXT, 0, TimeO,High0+(5*p);ObjectSetText("myx"+DoubleToStr(objtick,0),"B",15,"Arial",Red);bartick=0;TradeAllowed=f
15、alse;elsePrint("-ERROR- BUYAsk=",Ask," error=",gle," bartick=",bartick);/ENTRY SHORT (sell, Bid)if(OrdersPerSymbol<=MAXTrades && TradeAllowed && SELLme )/Bid (sell, short)if(LossLimit =0) SL=0; else SL=Bid+(LossLimit+7)*Poi nt(); if(ProfitMade=0) TP=0
16、; else TP=Bid-(ProfitMade+7)*Poi nt();OrderSe nd(Symbol(),OP_SELL,Lots,Bid,Slippage,SL,TP ,TradeComme nt,MagicNumber,Red);gle=GetLastError();if(gle=O)Prin t("SELL Bid=",Bid," bartick=",bartick);Time0,ObjectCreate("myx"+DoubleToStr(objtick,0),OBJ_TEXT, 0,High0+(5*p);Obje
17、ctSetText("myx"+DoubleToStr(objtick,0),"S",15,"Arial",Red);bartick=0;TradeAllowed=false;elsePrint("-ERROR- SELL Bid=",Bid," error=",gle," bartick=",bartick);/Basket profit or lossCurren tBasket=Acco un tEquity()-Acco un tBala nce();if(Curre
18、 ntBasket>maxEquity) maxEquity=Curre ntBasket;if(Curre ntBasket<mi nEquity) min Equity=Curre ntBasket;if( CurrentBasket>=BasketProfit | CurrentBasket<=(BasketLoss*(-1)CloseEverythi ng();CECou nt+;/ CLOSE order if profit target made for(c nt=0;c nt<OrdersTotal();c nt+)OrderSelect(cnt,
19、SELECT_BY_POS, MODE_TRADES);if( OrderSymbol()=Symbol() && OrderMagicNumber()=MagicNumber )if(OrderType()=OP_BUY)Curre ntProfit=Bid-OrderOpe nPrice();/ modify for break even>=PLBreakEve n*p&&if(Curre ntProfitOrderOpe nPrice()>OrderStopLoss()SL=OrderOpe nPrice()+(spread*2);TP=Ord
20、erTakeProfit();OrderModify(OrderTicket(),OrderOpe nPrice(),SL,TP, White);gle=GetLastError();if(gle=0)Prin t("MODIFY BREAKEVEN BUY Bid=",Bid," bartick=",bartick);ObjectCreate("myz"+DoubleToStr(objtick,0),OBJ_TEXT, 0, TimeO,Low0-(7*p);ObjectSetText("myz"+DoubleT
21、 oStr(objtick,0),"BE",15,"Arial",White);elsePrint("-ERROR-MODIFY BREAKEVEN BUY Bid=",Bid,"error=",gle," bartick=",bartick);/ modify for trailing stopif(Curre ntProfit >= TrailStop*p )SL=Bid-(TrailStop*p);TP=OrderTakeProfit();OrderModify(OrderTicke
22、t(),OrderOpe nPrice(),SL,TP, White);gle=GetLastError();if(gle=0)Print ("MODIFY TRAILSTOP BUYStopLoss=",SL," bartick=",bartick,"OrderTicket=",OrderTicket()," CurrProfit=",Curre ntProfit);ObjectCreate("myz"+DoubleToStr(objtick,0),OBJ_TEXT, 0, Time0,Low
23、0-(7*p);ObjectSetText("myz"+DoubleT oStr(objtick,0),"TS",15,"Arial",White);elsePrint("-ERROR-MODIFY TRAILSTOP BUY Bid=",Bid,"error=",gle," bartick=",bartick);/ did we make our desired BUY profit/ or did we hit the BUY LossLimitif(Curre ntPr
24、ofit>=(ProfitMade*p) | Curre ntProfit<=(LossLimit*(-1)*p)OrderClose(OrderTicket(),Lots,Bid,Slippage,White);gle=GetLastError();if(gle=0)Prin t("CLOSE BUY Bid=",Bid," bartick=",bartick);ObjectCreate("myz"+DoubleToStr(objtick,0),OBJ_TEXT, 0, Time0,Low0-(7*p);ObjectSe
25、tText("myz"+DoubleT oStr(objtick,0),"C",15,"Arial",White);elsePrint("-ERROR-CLOSE BUY Bid=",Bid,"bartick=",bartick); / if BUYif(OrderType()=OP_SELL)Curre ntProfit=OrderOpe nPrice()-Ask;/ modify for break evenif(Curre ntProfit>=PLBreakEve n*pOrderO
26、pe nPrice()<OrderStopLoss()SL=OrderOpe nPrice()-(spread*2);TP=OrderTakeProfit();error=",gle,"&&OrderModify(OrderTicket(),OrderOpe nPrice(),SL,TP, Red);gle=GetLastError();if(gle=O)Print("MODIFY BREAKEVEN SELL Ask=",Ask," bartick=",bartick);ObjectCreate("m
27、yz"+DoubleToStr(objtick,0),OBJ_TEXT, 0, TimeO,Low0-(7*p);ObjectSetText("myz"+DoubleT oStr(objtick,0),"BE",15,"Arial",Red);elsePrint("-ERROR-MODIFY BREAKEVEN SELL Ask=",Ask,"error=",gle," bartick=",bartick);/ modify for trailing stopif(
28、Curre ntProfit >= TrailStop*p)SL=Ask+(TrailStop*p);TP=OrderTakeProfit();OrderModify(OrderTicket(),OrderOpe nPrice(),SL,TP , Red);gle=GetLastError();if(gle=0)Print ("MODIFY TRAILSTOP SELL StopLoss=",SL," bartick=",bartick,"OrderTicket=",OrderTicket()," CurrProfit
29、=",Curre ntProfit);ObjectCreate("myz"+DoubleToStr(objtick,0),OBJ_TEXT, 0, Time0,Low0-(7*p);ObjectSetText("myz"+DoubleT oStr(objtick,0),"TS",15,"Arial",Red);elsePrint("-ERROR-MODIFY TRAILSTOP SELL Ask=",Ask,"error=",gle," bartick=&
30、quot;,bartick);/ did we make our desired SELL profit?if( Curre ntProfit>=(ProfitMade*p) | Curre ntProfit<=(LossLimit*(-1)*p)OrderClose(OrderTicket(),Lots,Ask,Slippage,Red);gle=GetLastError();if(gle=0)Prin t("CLOSE SELL Ask=",Ask," bartick=",bartick);ObjectCreate("myz&q
31、uot;+DoubleToStr(objtick,0),OBJ_TEXT, 0, Time0,Low0-(7*p);ObjectSetText("myz"+DoubleT oStr(objtick,0),"C",15,"Arial",Red);elsePrint("-ERROR-CLOSE SELL Ask=",Ask," error=",gle,"bartick=",bartick); /if SELL / if(OrderSymbol) / for / start()/+
32、| CloseEverythi ng |/+/ Closes all OPEN and PENDING orders int CloseEverythi ng()double myAsk;double myBid;intmyTkt;double myLot;intmyTyp;int i;bool result = false;for(i=OrdersTotal();i>=0;i-)OrderSelect(i, SELECT_BY_POS);myAsk=Marketl nfo(OrderSymbol(),MODE_ASK);myBid=Marketl nfo(OrderSymbol(),M
33、ODE_BID);myTkt=OrderTicket();myLot=OrderLots();myTyp=OrderType();switch( myTyp )/Close ope ned long positi onscase OP_BUY:result = OrderClose(myTkt, myLot, myBid, Slippage, Red);CEBuy+;break;/Close ope ned short positi onscase OP_SELL:result = OrderClose(myTkt, myLot, myAsk, Slippage, Red);CESell+;b
34、reak;/Close pending orderscase OP_BUYLIMIT :case OP_BUYSTOP :case OP_SELLLIMIT:case OP_SELLSTOP :result = OrderDelete( OrderTicket();if(result = false)Alert("Order " , myTkt , " failed to close. Error:" , GetLastError();Prin t("Order " , myTkt , " failed to close.
35、Error:" , GetLastError();Sleep(3000);Sleep(1000);CEProc+; /for / closeeveryth ingdouble diverge nce(i nt mypos)int i;double maF1, maF2, maS1, maS2;double dv1, dv2;maF 仁 iMA(Symbol(),Fast_TimeFrame,Fast_Period,Fast_Shift,Fast_Mode,Fast_Price,mypos)5maS仁iMA(Symbol(),Slow_TimeFrame,Slow_Period,Slo
36、w_Shift,Slow_Mode,Slow_Price,mypos);dv仁(maF1-maS1);maF2=iMA(Symbol(),Fast_TimeFrame,Fast_Period,Fast_Shift,Fast_Mode,Fast_Price,mypos+1);maS2=iMA(Symbol(),Slow_TimeFrame,Slow_Period,Slow_Shift,Slow_Mode,Slow_Price,my pos+1);dv2=(maF1-maS1)-(maF2-maS2);return(dv1-dv2);/*int PlaceOrder(string currency
37、, string BuySell, int PM, int LL)/ Retur ns GetLastError nu mber/ you can call with ProfitMade or LossLimit set to/ zero, and none will be set whe n order is placedint gle=0;/ GetLastError nu mberdouble mySL;/ locally gen erated SLdouble myTP;/ locally gen erated TPdouble myAsk = Market In fo(curre ncy, MODE_ASK);double myBid =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年基础护理学头皮护理题库及答案
- 2025年休克的护理题库及答案
- 社保退休测试题及答案
- 2025年海口市属事业单位考试试卷
- 2025年中级经济师考试题库含答案(综合题)
- 2025国学知识竞赛题库(含参考答案)
- 第六章 质量与密度教学设计-人教版八年级上册物理
- 新嘉联物联网技术在智能制造中的深度应用-洞察及研究
- 船舶海水淡化系统环保评价-洞察及研究
- 气候变化对水产养殖水质调控的影响研究-洞察及研究
- 新课标下的小学语文跨学科教学模式探讨
- 冲孔灌注桩施工方案
- 高压输电线路维护保养方案
- 2025年物联网安装调试员(高级)技能鉴定考试题库
- 学校“1530”安全教育记录表(2024年秋季全学期)
- 2025年篮球比赛免责协议书模板
- 新入职教师法律法规培训
- 幼儿园护学岗职责
- 【MOOC】化学与社会-大连理工大学 中国大学慕课MOOC答案
- 2024年吉林省高职高专单招考试数学试题(含答案)
- 实习报告评分标准
评论
0/150
提交评论