Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1590

 
законопослушный гражданин:

я регулирую так: 

1.кликаю мышкой по ползунку один раз, далее мышку можно переместить, главное не кликать в другие пространства

2.нажатием стрелок на клаве регулирую -быстрее медленнее

П,С, на встроенном тестере стратегий МТ4

Эх, была бы сказкой, если бы можно было кликать на график, а эффект горячих клавиш не сбрасывался. Но это лучше чем ничего
 

Вопрос возник. Есть ли смысл объявлять статические переменные в глобальной области. 

В локальной понятно, не видимость вне тела функции и сохранение значений предыдущего вызова.

А в глобальной какой может быть смысл?

 
Valeriy Yastremskiy:

Вопрос возник. Есть ли смысл объявлять статические переменные в глобальной области. 

В локальной понятно, не видимость вне тела функции и сохранение значений предыдущего вызова.

А в глобальной какой может быть смысл?

Только если она может меняться в разных функциях

 
MakarFX:

Только если она может меняться в разных функциях

Не понял) Глобальная тоже меняется в разных функциях. Стат.переменная в данном случае ничем не отличается от обычной глобальной переменной. И память располагается в глобальном пуле. Из справки:

Переменные

Существуют три класса памяти: static, input и extern. Эти модификаторы класса памяти явно указывают компилятору, что соответствующие переменные распределяются в предопределенной области памяти, называемой глобальным пулом.

Иногда встречаю в кодах стат.переменные объявленные в глобальной области. Никак не догоняю логику авторов.

 
Valeriy Yastremskiy:

Не понял) Глобальная тоже меняется в разных функциях. Она в данном случае ничем не отличается от обычной глобальной переменной. И память располагается в глобальном пуле. Из справки:

Переменные

Существуют три класса памяти: static, input и extern. Эти модификаторы класса памяти явно указывают компилятору, что соответствующие переменные распределяются в предопределенной области памяти, называемой глобальным пулом.

Иногда встречаю в кода стат.переменные объявленные в глобальной области. Никак не догоняю логику авторов.

Да, ты прав и логики нет никакой. Просто автор кода так видит.

Мой предыдущий пост не обдуман.

 

Valeriy Yastremskiy:

Никак не догоняю логику авторов.

Логики никакой, одна шизофрения. Выражение «масло масляное» это такое вежливое определение «шизофрения».

 
MakarFX:

Да, ты прав и логики нет никакой. Просто автор кода так видит.

Alexey Viktorov:

Логики никакой, одна шизофрения. Выражение «масло масляное» это такое вежливое определение «шизофрения».

Спасибо, тяжко иногда через код логику автора найти))))

 
MakarFX:
да

подскажите пожалуйста

как организовать возврат стартового лота -Lot,(для открытия следующего ордера), после исполнения этой части функции:

if(GetProfitFromStart()>CountProfit || GetProfitFromStart()<CountLoss*-1)
     {
      if (IsTesting()) 
        {
         CloseOrder(); ObjectSetInteger(0,"lab_Button",OBJPROP_STATE,false);
        }
      else
        {
         CloseOrder();
        }
     }
Файлы:
 
законопослушный гражданин:

подскажите пожалуйста

как организовать возврат стартового лота -Lot,(для открытия следующего ордера), после исполнения этой части функции:

после

CloseOrder();
добавь
Start = TimeCurrent();
 

со static в mql всё запущено и чревато ошибками. Код всегда собирается/компилируется целиком, без промежуточных obj и декларация статик просто дань традиции. 

если человек использует static в mql - то он почти 100% из мира C/C++/C# ; или подсматривал и нелепо подражает :-)

а ведь есть ещё и __thread__ :-)