...на твоем тесте относительная просадка 85%...., так, что и следовало ожидать.
Вот охота Вам разрушать идиллию? Такая красивая картинка, прямо мечта трейдера!
Я и сам это видел, а если риск уменьшить, то и просадка будет меньше. Кстати у меня почему-то не сливает. Но я просил совета определенного т.е. что можно было бы сделать, а то что это не грааль и дураку понятно. Просто если бы его доделать, то он мог бы приносить прибыль или если это говно, то так и скажите - буду думать в другом направлении.
P.S.: Дествительно воспользовался метатрейдером forex4you и там на тестере слив, а на метатейдере4 те результаты, что вы видели на моем графике)))
К сожалению стоплос погоды не играет. Я пробовал его включать, но толку мало. Там бы какую-то проверку добавить...хотя наверное ерунда вышла - буду дальше думать, если кто предложит что-то дельное буду рад.
Господа програмисты есть такая идея, взять очень плохой советник который сливает очень много и очень быстро и поменять там функции, там где он покупает сделать так чтоб продавал и там где он продаёт сделать так чтоб покупал. Я сам в вашем колдовстве не разбераюсь а то-бы поэксперементировал. Если будут хорошие результаты пожалуста поделитесь.
Господа програмисты есть такая идея, взять очень плохой советник который сливает очень много и очень быстро и поменять там функции, там где он покупает сделать так чтоб продавал и там где он продаёт сделать так чтоб покупал. Я сам в вашем колдовстве не разбераюсь а то-бы поэксперементировал. Если будут хорошие результаты пожалуста поделитесь.
:)))
Вообще то тут не место для анекдотов
PAMXA, а дайте ссылку на оригинал DayTraiding. облизал я ваш советник и получил слив :) хотелось бы взглянуть на оригинал, разобраться со стратегией.
з.ы. сейчас идет оптимизация параметров, отпишу когда будет что-то готово (около 8 часов)
а пока вот:
extern double TakeProfit = 50; extern double Lots = 0.01; extern double TrailingStop = 20; extern double StopLoss = 500; extern bool UseMM = true; //extern bool MicroAcct = true; extern double Risk = 10; double var_96 = 0; string var_240 = ""; double sL; //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { double stoc2k_0; double AO; double adx_0, adx_1; int cnt, ticket, total; //server Time Comment(var_240,"\nServer Time = ",TimeToStr(TimeCurrent(),TIME_MINUTES)); // initial data checks if(Bars<10) { Print("bars less than 10"); return(0); } if(TakeProfit<10) { Print("TakeProfit less than 10"); return(0); } // to simplify the coding and speed up access AO=iAO(NULL,0,150); adx_0=iADX(NULL,0,14,PRICE_TYPICAL,MODE_SIGNAL,0); adx_1=iADX(NULL,0,14,PRICE_TYPICAL,MODE_SIGNAL,1); stoc2k_0=iStochastic(NULL,0,5,3,3,MODE_SMA,NULL,MODE_MAIN,0); // identifying open orders total=OrdersTotal(); if(total<1) { if(AccountFreeMargin()<(100000*Lots)) { Print("We have no money. Free Margin = ", AccountFreeMargin()); return(0); } // check for long position (BUY) possibility if(AO<0 && adx_0 >= Ask && adx_1<adx_0 && stoc2k_0<20) { if(StopLoss>0) { sL = Ask-StopLoss*Point; } else sL = 0; ticket=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,sL,Ask+TakeProfit*Point,0,0,Green); if(ticket>0) Print("Day Trading_PAMXA Buying : ", Symbol()); { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice()); } return(0); } // check for short position (SELL) possibility if(AO>0 && adx_0 >= Ask && adx_1<adx_0 && stoc2k_0>20) { if(StopLoss>0) { sL = Bid+StopLoss*Point; } else sL = 0; ticket=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,sL,Bid-TakeProfit*Point,0,0,Red); if(ticket>0) Print("Day Trading_PAMXA Selling : ", Symbol()); { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice()); } return(0); } return(0); } // control of open orders for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()<=OP_SELL && OrderSymbol()==Symbol()) { if(OrderType()==OP_BUY) { // long positions if(AO>0 && adx_0 >= Ask && adx_1<adx_0 && stoc2k_0>70) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); return(0); } // check for trailing stop if(TrailingStop>0) { if(Bid-OrderOpenPrice()>Point*TrailingStop) { if(OrderStopLoss()<Bid-Point*TrailingStop) { OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green); return(0); } } } } else // short positions { if(AO<0 && adx_0 >= Ask && adx_1<adx_0 && stoc2k_0<35) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); return(0); } // check for trailing stop if(TrailingStop>0) { if((OrderOpenPrice()-Ask)>(Point*TrailingStop)) { if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0)) { OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red); return(0); } } } } } } return(0); } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ double LotsOptimized() { if (UseMM == false) return(Lots); double lots = Lots; int ordtotal = OrdersHistoryTotal(); int losscnt = 0; double var_LotsOptimized_16 = 0; int digits = 2; //if (MicroAcct == true) digits = 2; if (MarketInfo(Symbol(),MODE_LOTSTEP) == 1.0) digits = 1; lots = NormalizeDouble(AccountFreeMargin() * Risk / 100.0 / 1000.0,digits); if (var_96 > 0.0) { for (int i = ordtotal - 1; i >= 0; i--) { if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) == 0) { Print("Error in history!"); break; } if ((OrderSymbol() != Symbol()) || (OrderType() > OP_SELL)) continue; if (OrderProfit() > 0.0) break; if (OrderProfit() < 0.0) losscnt++; } if (losscnt > 1) lots = NormalizeDouble(lots - lots * losscnt / var_96,digits); } if ((lots < 0.1) && (digits == 1)) lots = 0.1; if ((lots < 0.01) && (digits == 2)) lots = 0.01; if (lots > 2.0) lots = 2; return(lots); }
Параметры следующие:
extern double TakeProfit = 45;
extern double Lots = 0.01;
extern double TrailingStop = 50;
extern double StopLoss = 100;
extern bool UseMM = true;
extern double Risk = 30;
но я бы на реал с таким не сунулся. по истории сливает... 2009 год не показатель, и стратегия хромает.
Вот ссылка http://codebase.mql4.com/ru/480 - он тоже сливает я думал что изменив используемые графики можно улучшить результат, но как видно ошибся. Сейчас появится чуть больше времени придумаю что-то другое и может получше.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Day_Traiding_PAMXA:
Author: PAMXA