Ваши вопросы по языку MQL4

Walle2323

Активный участник
где надо "Изменить имя вызова функции!!!" и на какое имя
Нужно найти в коде вызов функции с именем "input" и заменить на "input_Funk".

PS.
Если я правильно понял то это здесь -> 117,118,119
 
Последнее редактирование:

1Игорь1

Интересующийся
по 57 и 211 строке все равно выдает ошибку
'if' - open parenthesis expected 57 7
'if' - open parenthesis expected 211 7
Как поправить?
 

1Игорь1

Интересующийся
еще сейчас заметил, почему-то в 117 строке double a1 = input_Funk(9, 0) ПЕРИОД=9, а в функции в строках
190 double input_Funk(int p, int shift) {
191 double result = iRSI(Symbol(), 0, 18, PRICE_OPEN, shift * p) / 100.0; ПЕРИОД=18
наверно правильно:
191 double result = iRSI(Symbol(), 0, p, PRICE_OPEN, shift * p) / 100.0;
Да?
 

Walle2323

Активный участник
по 57 и 211 строке все равно выдает ошибку
'if' - open parenthesis expected 57 7
'if' - open parenthesis expected 211 7
Как поправить?

open parenthesis expected -> ожидается открывающая скобка

Проверяйте количество скобок.
И в общем-то я не телепат. оО
 
Последнее редактирование:

1Игорь1

Интересующийся
если поставить скобки так: if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES));, то выдает ошибку: empty controlled statement found
Как сделать правильно?
 

1Игорь1

Интересующийся
но в тоже время пишет: 0 error(s), 2 warning(s), compile time: 543 msec 1 3
что это значит?
 

Walle2323

Активный участник
еще сейчас заметил, почему-то в 117 строке double a1 = input_Funk(9, 0) ПЕРИОД=9, а в функции в строках
190 double input_Funk(int p, int shift) {
191 double result = iRSI(Symbol(), 0, 18, PRICE_OPEN, shift * p) / 100.0; ПЕРИОД=18
наверно правильно:
191 double result = iRSI(Symbol(), 0, p, PRICE_OPEN, shift * p) / 100.0;

_https://docs.mql4.com/ru/basis/function
 
Последнее редактирование модератором:

1Игорь1

Интересующийся
Супер, пишет ошибок 0. Вы гений!!!
Скажите, чтобы понимать, почему он до этого, прооптимизировал и работал 2-а дня, если были ошибки?
И в функции надо менять 18 на p?
 

Walle2323

Активный участник
Супер, пишет ошибок 0. Вы гений!!!
Скажите, чтобы понимать, почему он до этого, прооптимизировал и работал 2-а дня, если были ошибки?
И в функции надо менять 18 на p?
Ну на счет надо менять или нет Вам виднее.
Прочтите ссылку данную мною выше и возможно вопросы отпадут. оО
Думаю что у вас обновился терминал и из-за этого полезли ошибки.
 

1Игорь1

Интересующийся
Подскажите еще, пжл, что надо прописать и куда, чтобы период=9 в double a1 = input_Funk(9, 0); можно было задавать в параметрах советника?
 

1Игорь1

Интересующийся
вот так выглядит функция
// Преобразует вероятность в торговый сигнал

double tradesSingal() {
// Считываем показания индикаторов
double a1 = input_Funk(9, 0); // Меняя период можно манипулировать
double a2 = sigmoid(a1 - input_Funk(9, 1));
double a3 = sigmoid(a1 - input_Funk(9, 2));
 

Walle2323

Активный участник
вот так выглядит функция
// Преобразует вероятность в торговый сигнал

double tradesSingal() {
// Считываем показания индикаторов
double a1 = input_Funk(9, 0); // Меняя период можно манипулировать
double a2 = sigmoid(a1 - input_Funk(9, 1));
double a3 = sigmoid(a1 - input_Funk(9, 2));


перед функцией OnInit()
добавить
Код:
extern int Period_f = 30;



потом в заменить на
Код:
double tradesSingal() {
   // Считываем показания индикаторов
   double a1 = input_Funk(Period_f, 0);              // Меняя период можно манипулировать
   double a2 = sigmoid(a1 - input_Funk(9, 1));
   double a3 = sigmoid(a1 - input_Funk(9, 2));
 
Последнее редактирование:

1Игорь1

Интересующийся
я правильно понял, что туда где задаются параметры вставить extern int Period_f = 30;, а функции число заменить на Period_f?
А зачем в последней строке [/QUOTE]? это надо или это описка?
 

1Игорь1

Интересующийся
С Вами очень приятно работать. Если возникнут вопросы, как Вас найти?
 
Верх