Выпущена бета-версия MetaTrader 4 Build 529 с новым компилятором - страница 124

 
VOLDEMAR:

Лучше все писать на английском, попадет Ваш код к забугорному трейдеру, он ничего не поймет...

Я пишу код для русского и он просит по-русски писать. А то, что здесь проверяю - пишу для себя, и мне неважно, по-русски я пишу, или по марсиански. Увидел проблемку - описал её.

Для маркета пишу по-английски.

 
pro_:
stringo:

Ищется и находится.

Давайте Ваш пример.



Написал в личку. С примером проблемы с которой сталкиваюсь. ObjectFind была попыткой решения проблемы, и наверное вы правы, сама по себе
ObjectFind работает нормально.

Проблема понятна. Неправильное использование функции ObjectFind. ObjectFind возвращает номер подокна, в котором найден объект. Если объект не найден, возвращается -1. Вы же проверяете на "ноль - неноль"
 
Night63:

Здравствуйте!

Выявили такую проблему.

Вставляем в код блок перехода с 4-значных котировок на 5-значные (код абсолютно рабочий, проверенный на десятках советников) :

Дальше можно наблюдать следущее.

Вызываем входные параметры советника нажатием F7, всё корректно:

Нажимаем ОК, снова жмём F7:

Нажимаем ОК, снова жмём F7:

Нажимаем ОК, снова жмём F7:

И т.д......

Данный баг с обновленными билдами не исчезает. Проявляется у разных пользователей одинаково. Тема обсуждалась тут


Нельзя менять входные переменные!

Используйте ключевое слово input вместо extern, тогда компилятор не даст Вам этого сделать

Мы подумаем, что можно сделать, чтобы оставить старую четвёрочную функциональность

PS большое спасибо, что подняли этот вопрос

 
artmedia70:
Значит в дальнейшем Bars будет не только предопределённой переменной, но и будет функция с таким же именем: Bars() ?

Вполне возможно. (В Си/Си++ такое, кстати, разрешено)
 
stringo:

Нельзя менять входные переменные!



Вот тут можно по подробней, что значит нельзя менять входные переменные ???

Если входная переменная input int TakeProfit = 300 ;

дальше в коде я могу ей присвоить другое значение ???

Не пойму, когда нельзя менять ???

 

Еще вопрос, как программно можно определить что курсор мыши находится на обьекте bmp ???

Я сделал код в котором под обьектом есть область в которую попадает курсор и код понимает что курсор находится над обьектом bmp ...

Спрашиваю потому что ищу более простой метод определения курсора над объектом bmp ...

 
VOLDEMAR:

Вот тут можно по подробней, что значит нельзя менять входные переменные ???

Если входная переменная input int TakeProfit = 300 ;

дальше в коде я могу ей присвоить другое значение ???

Не пойму, когда нельзя менять ???

Программно нельзя менять. Только пользователем в настройках.

input int TakeProfit = 300;

int takeProfit;

int start() {

takeProfit=TakeProfit;

// И изменяем далее уже takeProfit.

return(0);

}

 
artmedia70:

Программно нельзя менять. Только пользователем в настройках.

input int TakeProfit = 300;

int takeProfit;

int start() {

takeProfit=TakeProfit;

// И изменяем далее уже takeProfit.

return(0);

}




Спасибо !!! Буду теперь знать ...
 
VOLDEMAR:

Вот тут можно по подробней, что значит нельзя менять входные переменные ???

Если входная переменная input int TakeProfit = 300 ;

дальше в коде я могу ей присвоить другое значение ???

Не пойму, когда нельзя менять ???

Вот пример из нашего кастомного параболика

input double InpSARStep=0.02;    // Step
input double InpSARMaximum=0.2;  // Maximum
//---- buffers
double       ExtSARBuffer[];
//--- global variables
double       ExtSarStep;
double       ExtSarMaximum;

...

void OnInit()
  {
//--- checking input data
   if(InpSARStep<0.0)
     {
      ExtSarStep=0.02;
      Print("Input parametr InpSARStep has incorrect value. Indicator will use value",
            ExtSarStep,"for calculations.");
     }
   else
      ExtSarStep=InpSARStep;
   if(InpSARMaximum<0.0)
     {
      ExtSarMaximum=0.2;
      Print("Input parametr InpSARMaximum has incorrect value. Indicator will use value",
            ExtSarMaximum,"for calculations.");
     }
   else
      ExtSarMaximum=InpSARMaximum;

...

И в дальнейшем мы используем ExtSarStep и ExtSarMaximum

 
stringo:
Что точно, так это - совсем не скоро


Очень жаль. Моим экспертам эти события нужны как воздух.

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