//+-----------------------------------------------------------------------+//| Крокодил ГЕНА.mq4 |//| Крокодил ГЕНА |//+-----------------------------------------------------------------------+// Описание ТС// 1. Открытие позиций происходит при пробитии High или Low предыдущего дня// SL ставиться на High или Low текущего дня, TP выставляется во внешних переменных, // единственная оговорка не более 1 позиции в день в переменной LastTradeTime // если в ней нет необходимости смело сносите /RomanS/// 2. Добавил к условию открытия трендовый параболик + трал. стоп по нему же на М5. // Результат оказался хуже :( /RomanS/// 3.// 4.// 5.// Внешние переменныеexterndouble TakeProfit =900;externdouble SAR_steep =0.0005;externdouble Lot =1;externstring SYMBOL ="EURUSD";// Глобальные переменныеint LastTradeTime =0;// Время последней открытой сделки// Поехали... :)int start(){int Ticket;double BID,
ASK,
SL=0,
TP=0;bool Trade =true,
Open_Bay =false,
Open_Sell =false;// Проверяем можно ли торговатьif( Trade==true){// Критерии открытия позиций
ASK =MarketInfo( SYMBOL,10);
BID =MarketInfo( SYMBOL,9);if( BID >iHigh( SYMBOL,PERIOD_D1,1)&&iSAR( SYMBOL,PERIOD_M5, SAR_steep,0.2,0)< BID) Open_Bay =true;if( BID <iLow( SYMBOL,PERIOD_D1,1)&&iSAR( SYMBOL,PERIOD_M5, SAR_steep,0.2,0)> BID) Open_Sell =true;// Открытие позицийif( Open_Bay ==true&&OrdersTotal()==0&&TimeDay(TimeCurrent())!= LastTradeTime){RefreshRates();
SL =iLow( SYMBOL,PERIOD_D1,0);
TP = ASK + TakeProfit*Point;if(( ASK- SL)/Point<MarketInfo( SYMBOL,14))return;// проверяем минимальный уровень стоповAlert("Пробуем открыть Buy ", SYMBOL," по ", ASK, SL, TP);
Ticket=OrderSend( SYMBOL,OP_BUY, Lot, ASK,20, SL, TP);if( Ticket >0){Alert("Открыт ордер Buy ", Ticket);
LastTradeTime=TimeDay(TimeCurrent());// задаем время сделки, чтобы сегодня больше не торговать return;}}if( Open_Sell ==true&&OrdersTotal()==0&&TimeDay(TimeCurrent())!= LastTradeTime){RefreshRates();
SL =iHigh( SYMBOL,PERIOD_D1,0);
TP = BID - TakeProfit*Point;if(( SL- BID)/Point<MarketInfo( SYMBOL,14))return;// проверяем минимальный уровень стопов
Ticket =OrderSend( SYMBOL,OP_SELL, Lot, BID,20, SL, TP);if( Ticket >0){Alert("Открыт ордер Sell ", Ticket);
LastTradeTime=TimeDay(TimeCurrent());// задаем время сделки, чтобы сегодня больше не торговатьreturn;}return;}// Закрытие позиции// .......// Модификация ордераfor(int i=0; i<=OrdersTotal(); i++){if(OrderSelect( i, SELECT_BY_POS)==true){if(OrderSymbol()!= SYMBOL)continue;if(OrderType()==0){double TralStop =iSAR( SYMBOL,PERIOD_M5, SAR_steep,0.2,0);if( SL < TralStop){
SL= TralStop;bool Ans=OrderModify(OrderTicket(),OrderOpenPrice(), SL,OrderTakeProfit(),0);if( Ans ==true){// Alert ("Ордер Bay ","EURUSD"," №",Ticket," модифицирован. Новый Stop Loss ", SL); break;}}}if(OrderType()==1){
TralStop =iSAR( SYMBOL,PERIOD_M5, SAR_steep,0.2,0);if( SL > TralStop){
SL= TralStop;if(( SL- ASK)/Point<MarketInfo("EURUSD",14))break;
Ans=OrderModify(OrderTicket(),OrderOpenPrice(), SL,OrderTakeProfit(),0);if( Ans ==true){// Alert ("Ордер Sell ","EURUSD"," №",Ticket," модифицирован. Новый Stop Loss ", SL); break;}}}}}}return;}
你可以在日线上开盘,然后在较小的TF的低位分形上拉起一个止损。
玩过的)。
在分形上增加了拖尾。
再多一点,还有一个圣杯 :D
只有Fractals_TF可能应该被命名为
只有Fractals_TF可能应该被命名为
我认为依靠以下事情是正确的。
- 突破范围内的运动性质,以及突破前的情绪(这一点不太重要)。
- 总的趋势,可能是在一个更大的TF上。
至于最后一个问题,试着从抛物线开始跳,也许会有帮助。
写了...结果是比原来的....。优化后教授系数只有1.31 :(
我认为在这个系统中使用振荡器是更明智的做法
总之,我不是想在这里写一个超级系统...我在这个话题的开头描述了这样做的原因。
我想检查一些东西,即。我的主要目标是(起初我不想这么说,但我认为这个分支将被消灭),找出我正在改进的系统在一个历史时期(比如说,过去半年)的表现,在过去的时期将如何表现。我一开始就告诉大家,从长远来看,这是一个50/50的系统,也就是说,如果我们在2009年以最大的利润率画出这个系统,它在过去会不会有更好的效果......假设我们把它带到pr.f.的水平。2.0或更高...自2000年以来,它的表现会更好吗????
我假设(也只是假设!!),今天表现得越好,从长远来看,它的表现就越差。也就是说,我们今天获得了最大的利润,而系统在历史上不会显示1.0,可能会下降到0.9。
但这只是一种猜测...我并不是要证明什么,然而....老实说,我希望我是错的。
老实说,我不明白为什么要试图弄清楚系统在过去的表现。最好是着眼于未来。市场正在发生变化,这是无法回避的。即使
Я предпологаю (и только предпологаю!!!), что чем лучше она будет работать сегодня, тем хуже она отработает в долгосрочке.
即使是这样,那又怎样?
我个人的推测(也仅仅是推测))是没有依赖性,说了(甚至证明了)对一个系统,甚至对一千个系统,对绝对所有的系统都会一样,这不是一个事实。
有一句话说得好--不要在没有幸福的地方寻找幸福。
我个人的信念(也是唯一的信念)是不存在依赖性。
这就是我想确定的......
以一个对历史有50/50作用的专家顾问为例,在其上添加一些额外的指标、振荡器和其他技巧。在一小段时间内(半年)进行测试,看看会发生什么...
非常感谢Swan和gince表现出的兴趣。而且你最好 sayfuji建议的东西....。比如如何在T.P.以外的地方平仓,也许会有帮助......
只需在前一天的高/低点分解时开仓,并设定固定的止损点,在这一天的高/低点止损。究竟为什么?因为它没有使用任何指标。
我的想法是100%相同))只是在H4结果测试器上...
唯一的问题是...我的方向是由前一根蜡烛选择的,而止损设置在两者中较低的位置--当前/前一个高点/低点。
我的想法是100%相同))只是在H4结果测试器上...
唯一的问题是...我的方向是由前一根蜡烛选择的,而止损是由两者中较小的一个来决定的--当前/前一个高点/低点。
好主意...值得尝试从它开始跳舞......
我看了一下链接,周期很小......你试过用2000年吗?也许会出现同样的问题....。50/50???