Торговый советник.тестируем, критикуем дорабатываем, усовершенствуем!

 
необходима оценка, критика, доработка....
Файлы:
exprmahv5.mq4  10 kb
ravi.mq4  3 kb
 
passivusnet:
необходима оценка, критика, доработка....

+ выложите в кодебазу сайта - там также по скачиваниям определите и диалоги сами сбой возникнут в процессе - проверено.

Здесь - тема улетит на далёкие страницы.

 
Индикатор в таком виде использовать не стоит. Ресурсы хорошо кушает
 

Добавлю

int totalO(int type,int _key)
 {
       int TotalNumber = 0;  
              for(int i=0; i<OrdersTotal(); i++)
                {  
                  if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)||OrderSymbol() !=Symbol()|| OrderMagicNumber()!=_key) continue; 
                  if (OrderType()==type||type==-1){
                  TotalNumber++;}
                } 
              return(TotalNumber); 
 }

В таком виде функцию использовать нельзя

 
Vinin, Подскажите пожалуйста, а что страшного в использовании функции totalO(int type,int _key) в том виде в котором она есть? Если можно более подробно и с разъяснениями.спасибо!
 
passivusnet:
Если можно более подробно и с разъяснениями.спасибо!

Дело в том, что исполнение оператора || отличается от C++, поэтому на порядок выполнения функций надеяться нельзя.

Делайте Select отдельным if'ом

 
я извиняюсь за упрямство и назойливость, пример привести можно? Спасибо!
 
if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
if (OrderSymbol() != Symbol() || OrderMagicNumber() != _key) continue;