Такие советники помогают пасть депозитам новичков как жертвы оптимизации)
////////////////////////////////////////////////////////////////////// // VR---BUCH.mq4 // // Voldemar227 // // http://www.tesvop.narod.ru // ////////////////////////////////////////////////////////////////////// // ПЕРЕСЕЧЕНИЕ МУВИНГОВ // ////////////////////////////////////////////////////////////////////// #property copyright "http://www.tesvop.narod.ru" extern string Настройки = "Главные настройки"; //////////////////////// extern int Magic = 227 ; //Индивидуальный номер// extern double Lots =0.1 ; // extern int slippage = 5 ; //Проскальзывание//////////////////////////////////////////////////////////////// //------------------------------------------------------------------// // //Индикаторы // // //------------------------------------------------------------------// // extern string Индикатор1 = "MA-Медленный" ; // // extern int MAPeriod1 = 130 ; //Период // extern int MA1_price = 3 ; extern int MA1_shift = 11 ; extern int MA1_type = 1 ; extern string Индикатор2 = "MA-Быстрый" ; // // extern int MAperiod2 = 61 ; //Период // extern int MA2_price = 2 ; extern int MA2_shift = 5 ; extern int MA2_type = 3 ; //------------------------------------------------------------------///////////// double MA1,MA2; int start() { //---------------------------------------------------------------------------------------------------------------// MA1 =iMA(NULL,0,MAPeriod1,MA1_shift,MA1_type,MA1_price,0); // вычисляем индикатор МА // //Print("ma1=====",MA1); MA2 =iMA(NULL,0,MAperiod2,MA2_shift,MA2_type,MA2_price,0); // вычисляем индикатор МА // //Print("ma2=====",MA2); //---------------------------------------------------------------------------------------------------------------// if (OrderCheck()>0) return(0); else { if((MA2>MA1)&&(Close[0]>MA2 )) OpenOrder(0); if((MA2<MA1)&&(Close[0]<MA2)) OpenOrder(1); } return(0); } //---------------------------------------------------------------------------------------------------------------// int OrderCheck() { int kolichestvo=0; for (int i=0; OrdersTotal()>i;i++) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber()==Magic && OrderSymbol()==Symbol()) { CloseOrder(OrderTicket()); kolichestvo++; } } return(kolichestvo); } void OpenOrder(int type) { if (type==0) OrderSend(Symbol(),type,Lots,NormalizeDouble(Ask,Digits),slippage,0,0,NULL,Magic,0,CLR_NONE); if (type==1) OrderSend(Symbol(),type,Lots,NormalizeDouble(Bid,Digits),slippage,0,0,NULL,Magic,0,CLR_NONE); return; } void CloseOrder(int numm) { OrderSelect(numm,SELECT_BY_TICKET,MODE_TRADES); if((MA2>MA1)&&(Close[0]>MA2 ) && OrderType()==OP_SELL) { OrderClose(numm,Lots,Ask,slippage,Red); } if((MA2<MA1)&&(Close[0]<MA2) && OrderType()==OP_BUY) { OrderClose(numm,Lots,Bid,slippage,Red); } }
А мне нравится, правда пару косяков нашел всё таки =))
1) Первый ордер всегда убыточный. При старте тестирования советник сразу же открывает ордер, это не верно, т.е. условие if((MA2>MA1)&&(Close[0]>MA2 )) не верно.
http://s012.radikal.ru/i319/1011/5c/802ed0d4969c.gif
2) Убыточные сделки, впринципе, можно и отфильтровать добавив еще какой нибудь индикатор или еще одну машку.
И что что азбучная! Человек тренируется и показывает свои результаты! И у него работает
Чет у меня ордера не открывает в чем подвох??? а так, тестер хорошо работает, а в торговле не открывает. что не так?
Самое интересное, что я тоже писал нечто подобное, зашел посмотреть какой-нибудь пример и увидел этот советник. порадовался. Проверил, работает без ошибок.
ТОЛЬКО НЕ ТОРГУЕТ В РЕАЛЕ!!! Почему???
Чет у меня ордера не открывает в чем подвох??? а так, тестер хорошо работает, а в торговле не открывает. что не так?
Самое интересное, что я тоже писал нечто подобное, зашел посмотреть какой-нибудь пример и увидел этот советник. порадовался. Проверил, работает без ошибок.
ТОЛЬКО НЕ ТОРГУЕТ В РЕАЛЕ!!! Почему???
Что то вы не так настраиваете !!!...... Медленный мувинг должен быть всегда больше быстрого т е медленный 200 быстрый 66 Если в тестере торгует то и в реале будет торговать !!!! Но я б не советовал ставить советник на реал без тестирования на демо не менее 3 месяцев..........
А мне нравится, правда пару косяков нашел всё таки =))
1) Первый ордер всегда убыточный. При старте тестирования советник сразу же открывает ордер, это не верно, т.е. условие if((MA2>MA1)&&(Close[0]>MA2 )) не верно.
http://s012.radikal.ru/i319/1011/5c/802ed0d4969c.gif
2) Убыточные сделки, впринципе, можно и отфильтровать добавив еще какой нибудь индикатор или еще одну машку.
http://s009.radikal.ru/i309/1011/37/1e38eb313ef0.gif
Спасибо !!! Будет время подправлю
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
VR---BUCH:
Author: Владимир