[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 41

 

Всем доброго времени суток, еще раз!

Вопрос такой, почему функция (см. ниже) выдает ошибку: 'A' - array item cannot be assigned?

double get_init_values(double A[], int index){

int size = 0;

size = ArraySize(A);

if (size < index){

return (0);

}else{

A [index] = Ask;

return (A);
}

}

Посмотрите, пожалуйста!

Заранее спасибо!
 
BBSL:

Всем доброго времени суток, еще раз!

Вопрос такой, почему функция (см. ниже) выдает ошибку: 'A' - array item cannot be assigned?

Посмотрите, пожалуйста!

Заранее спасибо!

Массив нельзя возвращать
 
granit77:
А не надо пытаться! Файлы .mqh кладутся в include и тихонько так себе лежат. При компиляции советника, в котором они прописаны, компилятор автоматически объединяет необходимые элементы кода и компилирует совместно.
При попытке отдельной компиляции .mqh компилятор пытается определить тип изделия (советник, индикатор..), и начинает придираться, "где ты start подевал?" и пр.
Разбираться с .mqh надо начинать, если ошибки возникают при правильной компиляции.

Спасибо!
 
DhP:

Ваша строчка также справедлива, как и первая.

Таким образом Вы можете получить любую информацию об открытом ордере,

но только один раз в момент подтверждения открытия.

Cм. https://docs.mql4.com/ru/trading/OrderSend

Спасибо за ответ и полезную ссылку.
 

Вопрос писателям индикаторов.

Как в коде индикатора наложить МА на индикатор, выводящий данные попеременно из трех буферов.

Получить МА от одного буфера умею.

 
Vinin:

Массив нельзя возвращать


Спасибо, что ответели!

Почему тут, не возникает ошибки при компиляции?

double get_init_Array(double A[], int size){

ArrayResize(A, size);

ArrayInitialize(A, 0);

return (A);

}

Или я тут не массив возвращаю?

Есть ли возможность вернуть указатель на первый элемент массива, как в с++?

Заранее спасибо!

 

Люди, кто знает почему при тесте в режиме все тики советник сливает, а в режиме по открытию баров делает очень и очень хорошие результаты??

Получается если я буду учитывать только открытие бара советник будет хорошо торговать??

 
BBSL:


Спасибо, что ответели!

Почему тут, не возникает ошибки при компиляции?

Или я тут не массив возвращаю?

Есть ли возможность вернуть указатель на первый элемент массива, как в с++?

Заранее спасибо!

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

double get_init_Array(double &A[], int size)

если надо просто первый элемент вернуть

то

return (A[0]);
 
r.ig.h:

Люди, кто знает почему при тесте в режиме все тики советник сливает, а в режиме по открытию баров делает очень и очень хорошие результаты??

Получается если я буду учитывать только открытие бара советник будет хорошо торговать??

нет. в режиме "цены открытия" - эксперт делает "срабатывание" ваших стопов и отложек задним числом.
 
Sergey_Rogozin:

Вопрос писателям индикаторов.

Как в коде индикатора наложить МА на индикатор, выводящий данные попеременно из трех буферов.

Получить МА от одного буфера умею.

что такое "попеременно" ?
Причина обращения: