MT4自动交易系统实例四

MT4自动交易系统实例四

ID:47605403

大小:18.53 KB

页数:3页

时间:2019-09-28

MT4自动交易系统实例四_第1页
MT4自动交易系统实例四_第2页
MT4自动交易系统实例四_第3页
资源描述:

《MT4自动交易系统实例四》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、MT4自动交易系统实例四实际运行测试合格程序(可以在进行优化)externdoubleTakeProfit=950;//盈利50点就出场externdoubleLots=6;//每单手数0.1externdoubleTrailingStop=370;//移动止损30externdoubleMACDOpenLevel=3;//开仓指标之一externdoubleMACDCloseLevel=2;//平仓指标之一externdoubleMATrendPeriod=26;//取26指数平滑平均线ints

2、tart(){doubleMacdCurrent,MacdPrevious,SignalCurrent;//即当前MACD(红绿柱子),之前一根的MACD,和一般来说参数是9的对EMA移动平均线doubleSignalPrevious,MaCurrent,MaPrevious;//前一根K线的signal,现在的MA,前一根的MAintcnt,ticket,total;//cnt是,ticket是判断开平仓是否成功的,其实就是flag.total是持仓单数量.//initialdatachecks

3、//itisimportanttomakesurethattheexpertworkswithanormal//chartandtheuserdidnotmakeanymistakessettingexternal//variables(Lots,StopLoss,TakeProfit,//TrailingStop)inourcase,wecheckTakeProfit//onachartoflessthan100barsif(Bars<15){Print("barslessthan100");/

4、/如果K线小于100根,那么判断不能做.return(0);}if(TakeProfit<400)//如果设定的利润小于10点,那么判断程序有问题(10点太少了){Print("TakeProfitlessthan10");return(0);//checkTakeProfit}//tosimplifythecodingandspeedupaccess//dataareputintointernalvariablesMacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CL

5、OSE,MODE_MAIN,0);//初始化MACD/signal与MA.MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);//iMacd最后一个参数是往回移动值,即取上一根K线的数据SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);

6、MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,0);MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,1);total=OrdersTotal();//total定义为orders数量.(持仓单)if(total<1)//如果total小于1,那么进入保证金充足判定.{//noopenedordersidentifiedif(AccountFreeMargin(

7、)<(1000*Lots))//如果保证金足够(1手1000),那么进入下一个判定:开仓判定.{Print("Wehavenomoney.FreeMargin=",AccountFreeMargin());//证金不足return(0);}//checkforlongposition(BUY)possibility//开仓判定:if(MacdCurrent<0&&MacdCurrent>SignalCurrent&&MacdPrevious

8、并且MACD上穿signal,并且Macd的绝对值大于3*1点MathAbs(MacdCurrent)>(MACDOpenLevel*Point)&&MaCurrent>MaPrevious)//并且MA呈上升趋势,那么就尝试多单开仓.{ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"macdsample",16384,0,Green);//尝试多单开仓,盈利目标50点(TakeProfit)i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。