Скачать MetaTrader 5

Пробой средней.Помогите оформить задачу. - страница 3

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Firdavs
100
Firdavs  
SergNF:


Ваши два if'а не отрабатывают как логическое И. В итоге после первого if'а остается предыдущее значение переменной cond (true). В конце концов, Вы хотите торговать на Символе и по Магику, поэтому уйдите от "!=" и объедините эти два условия. (Если конечно стиль Fortran 4 Вам не ближе ;) )

ЗЫ. Кстати оказывается ветка не далеко убежала. Там (в начале) кроме функций описаны и их вызовы. Сами функции описаны доступно и если их код читать "по-русски" то все будет понятно. (Минус - там все про четырехзнак, как минимум)

Firdavs
100
Firdavs  

Спасибо большое за ссылку, обязательно посмотрю. Найти ошибку в этом коде как разгадать головоломку для меня ) Ещё раз внимательно прочитал все ответы и внимательно проанализировал кода. В итоге:

 if(OrdersTotal()==0) 
     {cond=true;}   
   else for(int i=1; i<=OrdersTotal(); i++)
           {  
            if(OrderSelect(i-1,SELECT_BY_POS)==true)
               {if (OrderMagicNumber()==magic)   <== поменял местами            
                   {if(OrderSymbol()==Symbol())  <==       и убрал != 
                      {
                       cond=false;               И ещё что-то тут по поменял )
                       break;                             
                      }                   
                    else cond=true;
                   } 
                else continue;                                   
               }            
           }  

Вроде заработало . Спасибо вам всем )

Терь надо оптимизировать бота и протестить хорошенько, если что стоящее обязательно поделюсь )

Firdavs
100
Firdavs  

Вот ещё такоя задача:

Открытие ордера в определённое время( скажем в 00:01) Вот такой код почему-то на тестере не работает:

if(TimeHour(TimeCurrent())==0)
       {if(TimeMinute(TimeCurrent())==0) <==Если тут поставить 1 то бот перестает торговать в тестере 
          {}
Boris
3947
Boris  

Я делаю так:

int h = TimeHour(TimeCurrent());
int m = TimeMinute(TimeCurrent());
if(h >= 0 && m >= 1)
{
  .....
}
Victor Nikolaev
Модератор
15082
Victor Nikolaev  
borilunad:

Я делаю так:


Заданное условие не выполняется
Boris
3947
Boris  
Vinin:

Заданное условие не выполняется

Правда, я делаю это с часами без минут! Спасибо, поправили!
123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий