Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 420
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Existe alguma função que devolva o tipo de variável?
Por exemplo, você escreve.
int a=10;
então você escreve:
functia(a);
e diz: INT!
:)
Functia(duplo a) { devolver "DABLE!"; } // também de forma inesperada
Existe alguma função que retorna um tipo variável?
Por exemplo, você escreve.
int a=10;
então você escreve:
functia(a);
e diz: INT!
:)
A partir da ajuda:
É muito mais simples. Criar um botão de exibição (ou usar um dos botões existentes). Mais adiante - todos os objetos necessários são colocados com a bandeira de visibilidade em todas as TFs. Quando o botão é liberado, todos os objetos são definidos para exibir propriedades em todos os TFs (ou necessários, se necessário). Não há necessidade de apagar/rearranjar nada. A única coisa a fazer é redesenhar a tabela após esta operação.
Objeto propriedade OBJPROP_TIMEFRAMES.
Você pode me dizer como obter os dados do indicador em uma matriz? Isto é, é claro que eu preciso declarar uma matriz
duplo num_array[];
Não tenho bem a certeza do que fazer a seguir...
num_array[0] = iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,i); // a matriz com o índice [0] é igual a MA, mas se mudarmos o índice para [1], então se verifica que num_array[1] é igual
os mesmos dados do indicador como num_array[0]. Este não deve ser o caso. A matriz deve ser preenchida sequencialmente. Tudo que consigo pensar é em dividir o dia em 24
horas, declarar uma matriz bidimensional e atribuir um índice a cada hora com sua própria seqüência etc....
Talvez haja uma maneira mais simples ou menos complicada?
Você pode me dizer como obter os dados do indicador em uma matriz? Isto é, é claro que eu preciso declarar uma matriz
duplo num_array[];
Não tenho bem a certeza do que fazer a seguir...
num_array[0] = iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,i); // a matriz com o índice [0] é igual a MA, mas se mudarmos o índice para [1], então se verifica que num_array[1] é igual
os mesmos dados do indicador como num_array[0]. Este não deve ser o caso. A matriz deve ser preenchida sequencialmente. Tudo que consigo pensar é em dividir o dia em 24
horas, declarar uma matriz bidimensional e atribuir um índice a cada hora com sua própria seqüência etc....
Talvez haja uma maneira mais simples ou menos complicada?
Eu vejo as coisas desta maneira:
Eu vejo as coisas desta maneira:
Oh, posso usar oArrayResize para definir o número máximo de índices no array e executá-los através do loop. Muito obrigado, mas então há uma pergunta, quando todos os índices estiverem preenchidos com dados do indicador, devo limpá-los através doArrayFree, ou ele se reescreverá? Ou depois do 24º, tudo parará? Desculpe a pergunta grosseira, mas as matrizes são como que um cavalo escuro com funções desconhecidas.
Oh, eu posso definir o número máximo de índices na matriz através doArrayResize e executá-los através do loop. Muito obrigado, mas então há uma pergunta, quando todos os índices estiverem preenchidos com dados do indicador, devo limpá-los através doArrayFree, ou ele se reescreverá? Ou depois do 24º, tudo parará? Desculpe a pergunta grosseira, mas as matrizes são como que um cavalo escuro com funções desconhecidas.
Array = um conjunto de variáveis simples alinhadas em uma linha para uma referência de índice conveniente. O índice é uma variável inteira para acessar itens de matriz por número, a fim de organizar um loop. Índice = contador de números. ArrayFree = destruição da matriz - como bulldozing sobre casas decrépitas. Mas pode ser restaurado novamente com o ArrayResize. Bem , oArrayResize é uma cerca em torno de um conjunto residencial. O nosso está aqui, mas estranhos estão atrás da cerca, e é proibido entrar ali. Você pode entrar em cada casa muitas vezes (atribuir um novo valor a um elemento de matriz). Uma matriz é muito simples e conveniente para muitos propósitos. E aqueles que têm medo de arrays - aqueles ... Por isso, é melhor começar a lidar com eles.
//+------------------------------------------------------------------+ //| Проверка массива | //+------------------------------------------------------------------+ #property strict int m[10]; int n; void OnStart() { ArrayInitialize(m,7); Вывод(); // Заполнить семерками ArrayResize(m,7); Вывод(); // Удалить 3 последних элемента ArrayResize(m,9); Вывод(); // Увеличить размер m[1]=1; m[7]=1; Вывод(); // Изменить 2 элемента for(n=0; n<9; n++) m[n]=n*n; Вывод(); // Заполнить квадратами номеров ArrayCopy(m,m,0,2,7); Вывод(); // Копирование со сдвигом ArrayResize(m,ArraySize(m)-2); Вывод(); // Удалить 2 последних элемента } void Вывод() { string s=""; for(n=0; n<ArraySize(m); n++) s+=" " + string(m[n]); Alert(ArraySize(m), ":", s); }
Tente executar um roteiro como este - e pratiqueA partir da referência: