分钟动量交易系统PPT课件
- 格式:ppt
- 大小:351.00 KB
- 文档页数:19
五分钟动量交易系统(EA,不是指标)小弟根据《五分钟动量交易系统》编的,请大家多多指教!1.//+------------------------------------------------------------------+2.//| 五分钟动量交易系统.mq4 |3.//+------------------------------------------------------------------+4.5.extern double MAPeriod=20; //指数均线周期6.extern double StopLossSpred = 20; //初始止损离均线的点数7.extern double CloseSpred = 15; //后半仓止损离均线的点数8.extern double Lots=0.2; //持仓,必须为偶数9.10.11.//+------------------------------------------------------------------+12.//| |13.//+------------------------------------------------------------------+14.int start()15.{16.double MacdCurrent, MacdPrevious, Ma;17.int cnt, ticket, total;18.19.if(Bars<100)20.{21.Print("K线少于100根!");22.return(0);23.}25.MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,M ODE_MAIN,1);26.MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,M ODE_MAIN,2);27.Ma=iMA(NULL,0,MAPeriod,0,MODE_EMA,PRICE_CLOS E,0);28.29.total=OrdersT otal();30.31.//开单检查32.if(total<1) //在没有持仓的情况下才能开新仓33.{34.// 检查资金35.if(AccountFreeMargin()<(1000*Lots))36.{37.Print("资金不足: ", AccountFreeMargin());38.return(0);39.}40.// 检查开多单的可能性41.if(MacdCurrent>0 && MacdPrevious<0 && Ask>Ma && Ask<=Ma+20*Point) //MACD首红且汇价位于均线上20点内做多42.{43.ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ma-StopLossSpred*Point,0,"lbs-buy",197658,0,Red);44.if(ticket>0)45.{46.if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADE S)) Print("开多单成功 : ",OrderOpenPrice());48.else Print("开多单发生错误 : ",GetLastError());49.return(0);50.}51.// 检查开空单的可能性52.if(MacdCurrent<0 && MacdPrevious>0 && Bid<Ma && Bid>=Ma-20*Point) //MACD首绿且汇价位于均线下20点内做空53.{54.ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ma+St opLossSpred*Point,0,"lbs-sell",197658,0,Green);55.if(ticket>0)56.{57.if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADE S)) Print("开空单成功 : ",OrderOpenPrice());58.}59.else Print("开空单发生错误 : ",GetLastError());60.return(0);61.}62.return(0);63.}64.65.//减仓及平仓检查66.for(cnt=0;cnt<total;cnt++)67.{68.OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);69.if(OrderType()<=OP_SELL && OrderSymbol()==Symbol()) // check for symbol70.{71.if(OrderType()==OP_BUY) // 如果有做多单存在73.//多单减仓检查74.if(Ask-OrderOpenPrice()>=OrderOpenPrice()-OrderStopLoss() && OrderOpenPrice()>OrderStopLoss() && OrderLots()==Lots)75.{76.ticket=OrderClose(OrderTicket(),Lots/2,Ask,3,Violet); // 平掉一半仓位77.if(ticket>0)78.{79.if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADE S)) Print("多单减仓成功 : ",OrderOpenPrice());80.}81.else Print("多单减仓发生错误 : ",GetLastError());82.return(0);83.}84.85.//修改后半仓位的止损价到盈亏平衡点86.if(Ask-OrderOpenPrice()>OrderOpenPrice()-OrderStopLoss() && OrderOpenPrice()>OrderStopLoss() && OrderLots()==Lots/2)87.{88.ticket=OrderModify(OrderTicket(),OrderOpenPrice(),O rderOpenPrice(),OrderTakeProfit(),0,Red);89.if(ticket>0)90.{91.if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADE S)) Print("多单盈亏平衡点修改成功 : ",OrderOpenPrice());92.}93.else Print("多单盈亏平衡点修改发生错误:",GetLastError());94.return(0);95.}96.97.//根据行情发展修改剩余仓位的止损价到均线下15点98.if(Ma-CloseSpred*Point>OrderStopLoss() && OrderOpenPrice()<=OrderStopLoss() && OrderLots()==Lots/2)99.{100.ticket=OrderModify(OrderTicket(),OrderOpenPrice(),M a-CloseSpred*Point,OrderTakeProfit(),0,Red);101.if(ticket>0)102.{103.if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADE S)) Print("多单止损修改成功 : ",OrderOpenPrice());104.}105.else Print("多单止损修改发生错误 : ",GetLastError());106.return(0);107.}108.}109.else // 如果有做空单存在110.{111.//空单减仓检查112.if(OrderOpenPrice()-Bid>OrderStopLoss()-OrderOpenPrice() && OrderOpenPrice()<OrderStopLoss() && OrderLots()==Lots)113.{114.ticket=OrderClose(OrderTicket(),Lots/2,Ask,3,Violet); // 平掉一半仓位115.if(ticket>0)116.{117.if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADE S)) Print("空单减仓成功 : ",OrderOpenPrice());118.}119.else Print("空单减仓发生错误 : ",GetLastError());120.return(0);121.}122.123.//修改后半仓位的止损价到盈亏平衡点124.if(OrderOpenPrice()-Bid>OrderStopLoss()-OrderOpenPrice() && OrderOpenPrice()<OrderStopLoss() && OrderLots()==Lots/2)125.{126.ticket=OrderModify(OrderTicket(),OrderOpenPrice(),O rderOpenPrice(),OrderTakeProfit(),0,Green);127.if(ticket>0)128.{129.if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADE S)) Print("空单盈亏平衡点修改成功 : ",OrderOpenPrice());130.}131.else Print("空单盈亏平衡点修改发生错误: ",GetLastError());132.return(0);133.}134.135.//根据行情发展修改剩余仓位的止损价到均线下15点136.if(Ma+CloseSpred*Point<OrderStopLoss() && OrderOpenPrice()>=OrderStopLoss() && OrderLots()==Lots/2) 137.{138.ticket=OrderModify(OrderTicket(),OrderOpenPrice(),M a+CloseSpred*Point,OrderTakeProfit(),0,Green);139.if(ticket>0)140.{141.if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADE S)) Print("空单止损修改成功 : ",OrderOpenPrice());142.}143.else Print("空单止损修改发生错误 : ",GetLastError());144.return(0);145.}146.}147.}148.}149.150.return(0);151.}152.// the end.复制代码。
5分钟动量交易系统外汇超级短线的速度之美当交易盈利的三要素——风险报酬率、胜率和周转率都得到提高时,其盈利能力就极大地增强了。
超级短线交易获利的前提:第一,无论一个交易系统采取的策略是什么,根据市场特性和统计规律,一个合理的风险报酬比是最重要的,所以,控制亏损非常重要。
第二,超级短线交易系统涉及汇率运动的极短周期,波幅有限,如果交易平台的手续费不够低的话,则该系统无法做到累计盈利。
第三,超级短线进出频繁,如果市场的流动性不足,价位跳空行为过多则会极大地损害交易系统的效率。
第四,交易者必须能够克服频繁交易中情绪波动的弊端。
通常而言,这要求交易者的进场和出厂条件要非常明确,同时交易者要具备执行这一交易系统的足够的意志力。
5分钟动量交易系统主要思想浓缩在一点上:“位置比方向重要,动量比方向重要”。
从“进场”和“出场”位置入手,从市场动量强弱入手。
第一章 5分钟动量交易所需的技术分析第一节本系统采用的分析软件介绍MT4软件第二节指数移动平均线(EMA)基础和运用设置20EMA来把握趋势。
第三节移动均线聚散指标(MACD)基础和运用MACD的分析方法主要是集中于金叉和死叉,比如信号线上穿0轴是空翻多;信号线下穿0轴是多翻空。
需要强调的是:如果交易者以信号线作为主要分析工具,则主要是运用了MACD的趋势分析功能,如果外汇交易者以柱状线作为主要行情分析工具,则主要是运用了MACD的动量分析功能。
第四节竹节线基础和运用比较而言,蜡烛线更注重探讨局部的力量;竹节线则更注重现实价格和时间的本身的关系。
竹节线更加简单明了。
第二章 5分钟动量交易系统的原理阅读对于交易确实有帮助,但经验却是更好的老师。
第一节动量交易和波段交易作为动量交易者,必须比趋势交易者和波段交易者更好地远离恐惧和贪婪。
成功的动量交易这需要注意的三个原则:第一,杜绝情绪的干扰,坚守经过验证的方法和原则。
第二,减少定性,增加定量,通过数字把握市场,而不是感觉。