[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 21

 
Você não precisa redimensioná-lo depois, basta declará-lo e certificar-se de que é suficientemente grande antes de colocar os dados nele.
 
   
   
   ArrayResize(SMA,limit);     //--- Размер различный задавал от 1 до Bars 
   ArrayInitialize(SMA,0);
   for(i=0;i<limit;i++){// bla bla bla
   SMA[i]=...........; // --- Заполнение массива.
   MA1[i]=iMAOnArray(SMA,0,8,0,0,0); //----MA1 буферный.
 
OK, entendi, obrigado. Mas como posso determinar o tamanho suficiente se, por exemplo, eu preciso apenas de uma variável na matriz? É necessário inicializar 0?
 
Fox_RM:

Normalmente faço isto com um não tampão.

Para calcular o iMAOnArray o 1º valor NÃO é suficiente!!! Leia sobre esta função (eu dei um link em meu post anterior).
 
Para obter um valor de média, você precisa analisar o período de entrada de dados, portanto o tamanho da matriz inicial SMA[] não deve ser menor que o limite + período - então eu cometi um erro aqui ArrayRezize(SMA,limite + período); você não precisa inicializar, de qualquer forma você não irá além do necessário.
 

como o indicador no ciclo define o início de um novo dia, eu o tenho assim:

if(TimeDay(Time[i]) != TimeDay(Time[i+1]));// новый день
alguém tem um projeto melhor do que este?
 
Está tudo claro. Obrigado a todos vocês!
 
Você pode me dizer onde posso obter o código fonte para autoregressão, extrapolação, etc. etc., não necessariamente em mql.
 

Olá! Meu objetivo é transferir o indicador criando uma função para a EA.

O primeiro passo, que é a criação da função, é dado. Mas o próximo - teste - não funciona.

O indicador desenha canais. Tem 4 amortecedores e muitas variáveis. Coloquei tudo isso na função.

Mas ao criar um Expert Advisor de teste para ter certeza de que ele funciona exatamente comparando o indicador e minha função, eu não posso conseguir a compilação.

Erros constantes de variáveis externas, que não estavam presentes quando eu criei a função, apareceram no EA.

Por favor, me dê alguns conselhos ou um link para um exemplo. Tenho usado os artigos de DEUSZILLA, mas os exemplos dele são diferentes dos meus.

 
Ajude-me a escrever uma condição que fará com que a EA multiplique o lote por duas vezes depois de abrir n ordens