利用均线间隔距离来进行交易的系统方案_第1页
利用均线间隔距离来进行交易的系统方案_第2页
利用均线间隔距离来进行交易的系统方案_第3页
利用均线间隔距离来进行交易的系统方案_第4页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.利用均线间隔距离来进行交易的系统(据说价格300 欧元 )/ user inputextern double Lots=0.1;extern intSlippage=2;extern intFast_TimeFrame=0;extern intFast_Period=28;extern intFast_Price = PRICE_OPEN;extern intFast_Mode = MODE_SMA;extern intFast_Shift=0;extern intSlow_TimeFrame=0;extern intSlow_Period=73;extern intSlow_Price =

2、 PRICE_OPEN;extern intSlow_Mode = MODE_SMA;extern intSlow_Shift=0;extern double DVBuySell=0.002;extern intMAXTrades=5;extern double ProfitMade=100;extern double LossLimit=72;extern intTrailStop=999;/ how many lots to trade at a time/ how many pips of slippage can you tolorate/ number of trades to ha

3、ve open at once/ how much money do you expect to make/ how much loss can you tolorate/ trailing stop (999=no trailing stop).专业资料 .extern intPLBreakEven=999;/set break even when this many pips aremade (999=off)extern intStartHour=0;/ your local time to start making tradesextern intStopHour=24;/ your

4、local time to stop making tradesextern intBasketProfit=9999;/ if equity reaches this level, close tradesextern intBasketLoss=9999;/ if equity reaches this negative level, closetrades/ naming and numberingintMagicNumber= 200601182020; / allows multiple experts to trade on sameaccountstringTradeCommen

5、t = 2MA_DivergenceTrader_04_;/ Bar handlingdatetime bartime=0;/ used to determine when a bar has movedintbartick=0;/ number of times bars have movedintobjtick=0;/ used to draw objects on the chartinttickcount=0;/ Trade controlbool TradeAllowed=true;/ used to manage trades/ Min/Max tracking double ma

6、xOrders; double maxEquity; double minEquity;.专业资料 .double CECount;double CEProc;double CEBuy;double CESell;/+-+/| Custom init |/|-+/ Called ONCE when EA is added to chart or recompiled int init()int i; string o;/remove the old objectsfor(i=0; iBars; i+)o=DoubleT oStr(i,0);ObjectDelete(myx+o);ObjectD

7、elete(myz+o);objtick=0;.专业资料 .Print(Init happened ,CurTime();Comment( );/+-+/| Custom DE-init |/+-+/ Called ONCE when EA is removed from chart int deinit()inti;string o;/remove the old objectsfor(i=0; i=0;cnt-)OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);if( OrderSymbol()=Symbol() & OrderMagicNumber

8、()=MagicNumber)OrdersPerSymbol+;if(OrderType()=OP_BUY) OrdersBUY+;if(OrderType()=OP_SELL)OrdersSELL+;if(OrdersPerSymbolmaxOrders) maxOrders=OrdersPerSymbol;/+-+/| Insert your indicator here|/| And set either BUYme or|.专业资料 ./| SELLme true to place orders |/+-+diverge=divergence(0);Comment(Current Di

9、vergence = ,diverge);if( diverge=DVBuySell )BUYme=true;if( diverge=(DVBuySell*(-1) ) SELLme=true;/+-+/| End Insert |/+-+/ENTRY LONG (buy, Ask)if(OrdersPerSymbol=MAXTrades & TradeAllowed & BUYme)/Ask(buy, long)if(LossLimit =0) SL=0; else SL=Ask-(LossLimit+7)*Point() );if(ProfitMade=0) TP=0; else TP=A

10、sk+(ProfitMade+7)*Point() );OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,SL,TP,TradeComment,MagicNumber,White);gle=GetLastError();if(gle=0).专业资料 .Print(BUYAsk=,Ask, bartick=,bartick);ObjectCreate(myx+DoubleToStr(objtick,0),OBJ_TEXT,0,Time0,High0+(5*p);ObjectSetText(myx+DoubleToStr(objtick,0),B,15,Ari

11、al,Red);bartick=0;TradeAllowed=false;elsePrint(-ERROR- BUYAsk=,Ask, error=,gle, bartick=,bartick);/ENTRY SHORT (sell, Bid)if(OrdersPerSymbolmaxEquity) maxEquity=CurrentBasket;if(CurrentBasket=BasketProfit | CurrentBasket=(BasketLoss*(-1) ).专业资料 .CloseEverything();CECount+;/ CLOSE order if profit tar

12、get madefor(cnt=0;cnt=PLBreakEven*p&OrderOpenPrice()OrderStopLoss()SL=OrderOpenPrice()+(spread*2);TP=OrderTakeProfit();OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP, White);gle=GetLastError();if(gle=0).专业资料 .Print(MODIFY BREAKEVEN BUYBid=,Bid, bartick=,bartick);ObjectCreate(myz+DoubleToStr(objtic

13、k,0),OBJ_TEXT, 0,Time0,Low0-(7*p);ObjectSetText(myz+DoubleToStr(objtick,0),BE,15,Arial,White);elsePrint(-ERROR-MODIFYBREAKEVENBUYBid=,Bid,error=,gle, bartick=,bartick);/ modify for trailing stopif(CurrentProfit = TrailStop*p )SL=Bid-(TrailStop*p);TP=OrderTakeProfit();OrderModify(OrderTicket(),OrderO

14、penPrice(),SL,TP, White);gle=GetLastError();if(gle=0)Print(MODIFYTRAILSTOPBUYStopLoss=,SL,.专业资料 .bartick=,bartick,OrderTicket=,OrderTicket(), CurrProfit=,CurrentProfit);ObjectCreate(myz+DoubleToStr(objtick,0),OBJ_TEXT, 0,Time0,Low0-(7*p);ObjectSetText(myz+DoubleToStr(objtick,0),TS,15,Arial,White);el

15、sePrint(-ERROR-MODIFYTRAILSTOPBUYBid=,Bid,error=,gle, bartick=,bartick);/ did we make our desired BUY profit/ or did we hit the BUY LossLimitif(CurrentProfit=(ProfitMade*p) | CurrentProfit=PLBreakEven*p&OrderOpenPrice()= TrailStop*p)SL=Ask+(TrailStop*p);TP=OrderTakeProfit();OrderModify(OrderTicket()

16、,OrderOpenPrice(),SL,TP, Red);gle=GetLastError();if(gle=0).专业资料 .Print(MODIFYTRAILSTOPSELLStopLoss=,SL,bartick=,bartick,OrderTicket=,OrderTicket(), CurrProfit=,CurrentProfit);ObjectCreate(myz+DoubleToStr(objtick,0),OBJ_TEXT, 0,Time0,Low0-(7*p);ObjectSetText(myz+DoubleToStr(objtick,0),TS,15,Arial,Red

17、);elsePrint(-ERROR-MODIFYTRAILSTOPSELLAsk=,Ask,error=,gle, bartick=,bartick);/ did we make our desired SELL profit?if( CurrentProfit=(ProfitMade*p) | CurrentProfit=0;i-)OrderSelect(i, SELECT_BY_POS);myAsk=MarketInfo(OrderSymbol(),MODE_ASK);myBid=MarketInfo(OrderSymbol(),MODE_BID);myTkt=OrderTicket()

18、;myLot=OrderLots();myTyp=OrderType();switch( myTyp )/Close opened long positionscase OP_BUY:result = OrderClose(myTkt, myLot, myBid, Slippage, Red);.专业资料 .CEBuy+;break;/Close opened short positionscase OP_SELL:result = OrderClose(myTkt, myLot, myAsk, Slippage, Red);CESell+;break;/Close pending order

19、scase 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() );Print(Order , myTkt , failed to close. Error: , GetLastError() );Sleep(3000);Sleep(1000);CEProc+;.专业资料 . /fo

20、r / closeeverythingdouble divergence(int mypos)int i;double maF1, maF2, maS1, maS2;double dv1, dv2;maF1=iMA(Symbol(),Fast_TimeFrame,Fast_Period,Fast_Shift,Fast_Mode,Fast_Price,mypos);maS1=iMA(Symbol(),Slow_TimeFrame,Slow_Period,Slow_Shift,Slow_Mode,Slow_Price,mypos);dv1=(maF1-maS1);maF2=iMA(Symbol()

21、,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,mypos+1);dv2=(maF1-maS1)-(maF2-maS2);return(dv1-dv2);/*int PlaceOrder(string currency, string BuySell, int PM, int LL)/ Returns GetLastError number

22、/ you can call with ProfitMade or LossLimit set to/ zero, and none will be set when order is placedint gle=0;/ GetLastError numberdouble mySL;/ locally generated SLdouble myTP;/ locally generated TP.专业资料 .double myAsk= MarketInfo(currency, MODE_ASK);double myBid= MarketInfo(currency, MODE_BID);double myPoint = MarketInfo(currency, MODE_POINT);/Ask(buy, long)if (BuySell=BUY)if(LL=0) mySL=0; else mySL=myAsk-(LL*myPoint);if(PM=0) myTP=0; else myTP=myAsk+(PM*myPoint);OrderSend(currency,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论