MetaTrader 4 Client Terminal build 646: Умный поиск, книги в Маркете и обновление окна параметров MQL4-программы - страница 43

 
stringo:

Нет. Это вряд ли.

x=0; уже означает использование переменной.

Имелось ввиду когда переменная не используется в дальнейших расчетах, то есть зря засоряет код и не используется для дела.
 
stringo:

indicator_color1 - это не переменная.

Это - константа, макрос, дефайн если хотите, которая является синонимом другой константы, константы цвета, задающейся в объявлении


Какую нибудь функцию тогда в новом билде для получения актуального цвета буфера индикатора? Заодно тогда и стиля рисования, толщины линии?
 

Странная до жути весщь происходит, вот код

void newbar(int   &bu,int  &su)
  {
   static datetime time=0;
   datetime curtim=iTime(_Symbol,TimeFreme,0);
   RefreshRates();
   if(time==0)
     {
      time=curtim;
      return;
     }

   if(time!=curtim)
     {zz++;
      time=curtim;
      bu=1;
      su=1;
      tt++;
     }
   if(NewBar==Off){bu=1; su=1;}

 Функция определения нового бара на выбранном таймфреме , получает по ссылке две переменных для бай и сел ордеров , в случае появления нового бара присваивает 1

так вот что странно что вторая часть функции

 

   if(time!=curtim)
     {zz++;
      time=curtim;
      bu=1;
      su=1;
      tt++;
     }

 не выполняется, я пробовал использовать инт в место датетайм..

но счеттчики zz и tt всеравно равны нулю , они обьявлены в глобальных переменных и нигде не обнуляются ...

Такое подозрение что static не хранит данные .... 

 
RickD:

Есть пожелание по поводу ворнинга "return value of 'OrderModify' should be checked" - убрать.

1) Логика такая. "Жена моя, хочу - слежу за ней, хочу - нет".

2) В паре сотен старых экспертов повылез этот ворнинг, что не есть красиво и удобно.

PS. Ну или может добавить что то типа #property warning off (x1, x2, ...)

#property strict

#define myOrderModify bool m = OrderModify

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
{
        // Снимаем все стопы
        for ( int z = OrdersTotal()-1; z >= 0; z -- )
        {
                if ( !OrderSelect( z, SELECT_BY_POS ) ) continue;
                myOrderModify( OrderTicket(), OrderOpenPrice(), 0.0, 0.0, 0 );
        }
}
Ну, и "Найти и заменить" )
 
RickD:

Какую нибудь функцию тогда в новом билде для получения актуального цвета буфера индикатора? Заодно тогда и стиля рисования, толщины линии?

Ну пожалуйста!
 
VOLDEMAR:

Странная до жути весщь происходит, вот код

 Функция определения нового бара на выбранном таймфреме , получает по ссылке две переменных для бай и сел ордеров , в случае появления нового бара присваивает 1

так вот что странно что вторая часть функции

 

 не выполняется, я пробовал использовать инт в место датетайм..

но счеттчики zz и tt всеравно равны нулю , они обьявлены в глобальных переменных и нигде не обнуляются ...

Такое подозрение что static не хранит данные .... 

А не затруднит расставить ВСЕ скобки? К чему относится последняя строка?

   if(NewBar==Off){bu=1; su=1;}
 
VOLDEMAR:

Странная до жути весщь происходит, вот код

 Функция определения нового бара на выбранном таймфреме , получает по ссылке две переменных для бай и сел ордеров , в случае появления нового бара присваивает 1

так вот что странно что вторая часть функции

 

 не выполняется, я пробовал использовать инт в место датетайм..

но счеттчики zz и tt всеравно равны нулю , они обьявлены в глобальных переменных и нигде не обнуляются ...

Такое подозрение что static не хранит данные .... 

 

 

Проследите, как будет идти исполнение, если выражение "iTime(_Symbol,TimeFreme,0)" даёт 0, то есть, если функция возвращает нулевое значение?

Прочитайте внимательно, что и в каких случаях может вернуть функция iTime. Думаю, всё сами теперь определите.

 
AlexeyVik:

А не затруднит расставить ВСЕ скобки? К чему относится последняя строка?


к отключению работы по новому бару
simpleton:

Проследите, как будет идти исполнение, если выражение "iTime(_Symbol,TimeFreme,0)" даёт 0, то есть, если функция возвращает нулевое значение?

Прочитайте внимательно, что и в каких случаях может вернуть функция iTime. Думаю, всё сами теперь определите.

Все проследил , работаю в термнале альпари, у них недавно были изменены торговые условия теперь 9000 рур не достаточно для открытия ордера лотом 0,05

скорее всего то что лоты теперь стали минимальны 0,1 хотя почему то переодично открываются ордера лотами меньше 0,01 вобщем на серверах альпари бардак, сорвались тесты..

 
В справке отсутствует информация по indicator_plots, хотя мастер индикаторов ставит эту команду.
 
OBJPROP_TOOLTIP теряется при перезапуске терминала
Причина обращения: