简单突破系统.doc_第1页
简单突破系统.doc_第2页
简单突破系统.doc_第3页
简单突破系统.doc_第4页
简单突破系统.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

简单突破系统Simple Combined Breakout System for EUR/USD and GBP/USD* Determine the 06.00 CET 10.00 CET High Low on EUR/USD and GBP/USD* Determine the 10.00 CET 14.00 CET High Low on EUR/USD and GBP/USD* Set BuyStop at High + 5 pips and SellStop at Low - 5 pips for both frames and both currencies* Set Target Price at entry + 80 pips for EUR/USD and entry + 120 pips for GBP/USD* Set StopLoss at entry - 50 pips for EUR/USD and entry - 70 pips for GBP/USD. If the other side of the breakout is within 50 pips for EUR/USD or within 70 pips for GBP/USD then the StopLoss will be that level (Longtrade: SL = Low range - 5 pips = SellStop; Shorttrade: SL = High range + 5 pips = BuyStop)* Move the SL to breakeven after a gain of 30 pips for EUR/USD and a gain of 40 pips for GBP/USD* If a certain position is taken and price turns agains you and it breaks the other side of the breakout channel then turn. If the breakout channel is broader then the stoploss first the stoploss will be hit. If the breakout channel is narrower then the stoploss then hitting the other side means that you have to turn your position. There is only one turn per frame possible* At 24.00 CET all orders expiring and close all trades at market. On Friday we do the same at 23.00 CET.This link displays the in every major city in the world: ./ I am using CET time (Amsterdam, Frankfurt).Results October 2005:10/03 : -22 pips10/04: -61 pips10/05: -103 pips10/06: +168 pips10/07: +156 pips10/10: +135 pips10/11: +61 pips10/12: +108 pips10/13: +97 pips10/14: +274 pips10/17: +178 pipsTotal: +991 pipsThe results this month are extreme. In general the system gives you an average return of 600 pips a month from March 2005.On monthly basis the results are:March 2005: +721 pipsApril 2005: +940 pipsMay 2005: +296 pipsJune 2005: +857 pipsJuly 2005: +1,352 pipsAugust 2005: + 35 pipsSeptember 2005: -20 pipsOctober 2005: +1,825 pipsNovember 2005: +554 pipsDecember 2005: +345 pipsJanuary 2006: +73 pipsFebruary 2006: -13 pipsMarch 2006: +633 pipsApril 2006: +617 pipsMay 2006: +1,319 pipsJune 2006: +251 pipsAugust 2006: -322 pipsAll calculations before October 2005 are done by hand, so it is possible that there is a small deviation. It is only to show the power of such a simple system.I dont trade an EA, so please dont ask.This is the current version of Hans123, so please dont ask.Use the threads search facility before you ask.对上面文字大致的翻译(感谢iPG):【交易之路/收集整理】一个简单有效的短线系统.每日17点,找到今日13点到17点的最高价和最低价,下单BuyStop和SellStop。每日21点,找到今日17点到21点的最高价和最低价,下单BuyStop和SellStop。EUR/USD:Buy Stop = 最高价 + 5;止盈 = Buy Stop + 80;止损 = Buy Stop - 50;Sell Stop = 最低价 - 5;止盈 = Sell Stop - 80;止损 = Sell Stop + 50;有30点浮动利润时将止损移至开仓价位。GBP/USD:Buy Stop = 最高价 + 5;止盈 = Buy Stop + 120;止损 = Buy Stop - 70;Sell Stop = 最低价 - 5;止盈 = Sell Stop - 120;止损 = Sell Stop + 70;有40点浮动利润时将止损移至开仓价位。每日早7点,平掉手上所有单子。一下是找来的按照Hans123的简单突破系统写的智能交易系统及指标系统,有兴趣可以试试看/+-+/| Hans123MV22 |/| Copyright ?2006, Milan Volf |/| |/+-+#property copyright Copyright ?2006, Milan Volf/- input parametersextern int Start1=10; /begin of the first session; adjust by your broker extern int Start2=14; /begin of the second sessionextern int EOD=24; / for closing orders at end of dayextern int FridayClosing=23; /broker friday closing timeextern bool FirstSessionOnly=0; /if it equals 1, it trades the first range only (for testing)extern int Length=4; /length of range for determining high/lowextern int Pips=5; /trigger above/bellow rangeextern int StopLoss=50;extern int BreakEven=30;extern int TrailingStop=0; /if equals 0, it uses breakevenextern int TakeProfit=80;extern double Lots=1;/+-+/| expert start function |/+-+int start() /- int i,Ticket,MN; /Normalize times if(EOD=24) EOD=0; if(FridayClosing=0) FridayClosing=24; /Setup comment string Text=Hans123+Symbol(); /Setup orders if(Hour()=Start1 & Minute()10) MN=1; SetOrders(Text,MN); if(Hour()=Start2 & Minute()10 & FirstSessionOnly=0) MN=2; SetOrders(Text,MN); /Manage opened orders for (i=0;i=5 & Hour()=FridayClosing-1 & Minute()=50) switch (OrderType() case OP_BUY: OrderClose(OrderTicket(),OrderLots(),Bid,3,Red); break; case OP_SELL: OrderClose(OrderTicket(),OrderLots(),Ask,3,Red); break; default: OrderDelete(OrderTicket(); break; Sleep(10000); else /move at BE if profitBE if(TrailingStop=0) if(OrderType()=OP_BUY) if(High0-OrderOpenPrice()=BreakEven*Point & OrderStopLoss()=BreakEven*Point & OrderStopLoss()OrderOpenPrice() OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Green); Sleep(10000); /use trailing stop else if(OrderType()=OP_BUY) if(High0-OrderStopLoss()TrailingStop*Point) OrderModify(OrderTicket(),OrderOpenPrice(),High0-TrailingStop*Point,OrderTakeProfit(),0,Green); Sleep(10000); if(OrderType()=OP_SELL) if(OrderStopLoss()-Low0TrailingStop*Point) OrderModify(OrderTicket(),OrderOpenPrice(),Low0+TrailingStop*Point,OrderTakeProfit(),0,Green); Sleep(10000); return(0); /+-+void SetOrders(string Text,int MN) int i,Ticket,Bought,Sold; double EntryLong,EntryShort,SLLong,SLShort,TPLong,TPShort; /Determine range EntryLong =iHigh(NULL,60,Highest(NULL,60,MODE_HIGH,Length,1)+(Pips/*+MarketInfo(Symbol(),MODE_SPREAD)*/)*Point; EntryShort =iLow (NULL,60,Lowest (NULL,60,MODE_LOW, Length,1)-Pips*Point; SLLong =MathMax(EntryLong-StopLoss*Point,EntryShort); SLShort =MathMin(EntryShort+StopLoss*Point,EntryLong); TPLong =EntryLong+TakeProfit*Point; TPShort =EntryShort-TakeProfit*Point; /Send orders for (i=0;iOrdersTotal();i+) OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderComment()=Text & OrderMagicNumber()=MN) if(OrderType()=OP_BUYSTOP | OrderType()=OP_BUY) Bought+; if(OrderType()=OP_SELLSTOP | OrderType()=OP_SELL) Sold+; if(Bought=0) /no buy order Ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,EntryLong,3,SLLong,TPLong,Text,MN,0,Blue); if(Ticket=EntryLong) Ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SLLong,TPLong,Text,MN,0,Blue); Sleep(10000); if(Sold=0) /no sell order Ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,EntryShort,3,SLShort,TPShort,Text,MN,0,Magenta); if(Ticket0 & Low0=EntryShort) Ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,SLShort,TPShort,Text,MN,0,Magenta); Sleep(10000); /Check orders for (i=0;iPoint | MathAbs(OrderStopLoss()-SLLong)Point | MathAbs(OrderTakeProfit()-TPLong)Point) OrderModify(OrderTicket(),EntryLong,SLLong,TPLong,0,Blue); if(OrderType()=OP_SELLSTOP & (MathAbs(OrderOpenPrice()-EntryShort)Point | MathAbs(OrderStopLoss()-SLShort)Point | MathAbs(OrderTakeProfit()-TPShort)Point) OrderModify(OrderTicket(),EntryShort,SLShort,TPShort,0,Magenta); /+-+/| Hans Breakout.mq4 |/| Copyright ?2006 S |/+-+#property copyright WWW.FXFISH.com#property link #property indicator_chart_window#property indicator_buffers 4#property indicator_color1 Red#property indicator_color2 Blue#property indicator_color3 Red#property indicator_color4 Blueextern int Breakout_Pips=5;extern int Exit_Hour = 23;extern int From_Hour_1 = 6;extern int From_Minute_1 = 0;extern int To_Hour_1 = 9;extern int To_Minute_1 = 59;extern int From_Hour_2 = 10;extern int From_Minute_2 = 0;extern int To_Hour_2 = 13;extern int To_Minute_2 = 59;extern int Bars_Count= 10000;/- buffersdouble v1;double v2;double v3;double v4; int init() IndicatorBuffers(4); SetIndexArrow(0, 159); SetIndexStyle(0,DRAW_ARROW,STYLE_SOLID,1,Red); SetIndexDrawBegin(0,-1); SetIndexBuffer(0, v1); SetIndexLabel(0,High1); SetIndexArrow(1, 159); SetIndexStyle(1,DRAW_ARROW,STYLE_SOLID,1,Blue); SetIndexDrawBegin(1,-1); SetIndexBuffer(1, v2); SetIndexLabel(1,Low1); SetIndexArrow(2, 159); SetIndexStyle(2,DRAW_ARROW,STYLE_SOLID,1,Red); SetIndexDrawBegin(2,-1); SetIndexBuffer(2, v3); SetIndexLabel(2,High2); SetIndexArrow(3, 159); SetIndexStyle(3,DRAW_ARROW,STYLE_SOLID,1,Blue); SetIndexDrawBegin(3,-1); SetIndexBuffer(3, v4); SetIndexLabel(3,Low2); watermark(); return(0); int start() int i; int shift; double price; date calculated1, calculated2; double pipsBreakout = Breakout_Pips * Point; i = Bars_Count; while(i=0) / High/Low 1 date today = StripTime(Time); int nowMins = TimeHour(Time) * 60 + TimeMinute(Time); if (calculated1 (To_Hour_1 * 60) + To_Minute_1) calculated1 = today; double highest1 = HighGetHighest(Symbol(), Period(), MODE_HIGH, Time, From_Hour_1, From_Minute_1, To_Hour_1, To_Minute_1); double lowest1 = LowGetLowest(Symbol(), Period(), MODE_LOW, Time, From_Hour_1, From_Minute_1, To_Hour_1, To_Minute_1); if (calculated1 = today & nowMins Exit_Hour * 60) v1 = highest1 + pipsBreakout; v2 = lowest1 - pipsBreakout; / High/Low 2 if (calculated2 (To_Hour_2 * 60) + To_Minute_2) calculated2 = today; double highest2 = HighGetHighest(Symbol(), Period(), MODE_HIGH, Time, From_Hour_2, From_Minute_2, To_Hour_2, To_Minute_2); double lowest2 = LowGetLowest(Symbol(), Period(), MODE_LOW, Time, From_Hour_2, From_Minute_2, To_Hour_2, To_Minute_2); if (calculated2 = today & nowMins Exit_Hour * 60) v3 = highest2 + pipsBreakout; v4 = lowest2 - pipsBreakout; i-; return(0);/+-+date StripTime(datetime dt) return (dt - (TimeHour(dt)*3600) - (TimeMinute(dt)*60) - TimeSeconds(dt);/+-+/| Get highest/lowest bar between a time period. |/+-+int GetHighest(string symbol, int timeframe, int price_mode, datetime date, int from_hour, int from_minute, int to_hour, int to_minute) date = StripTime(date); datetime from_time = date + (from_hour * 3600) + (from_minute * 60); datetime to_time = date + (to_

温馨提示

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

评论

0/150

提交评论