Pergunta, o que estou fazendo de errado? As arrays (STATIC) são preenchidas, mas o cálculo dá 0 (zero). Você pode me dizer o que eu não tenho em meu código? Por que os elementos da matriz não estão sendo comparados e acrescentados...? Obrigado
double Open[60],High[60],Lo[60,Close[60]; int to_copy=60;
Pergunta, o que estou fazendo de errado? As arrays (STATIC) são preenchidas, mas o cálculo dá 0 (zero). Você pode me dizer o que eu não tenho em meu código? Por que os elementos da matriz não estão sendo comparados e acrescentados...? Obrigado
1) O laço vai além da matriz - se o tamanho do buffer é 60, o último índice é 59, porque o primeiro índice é 0
2) O código não está completo - por exemplo, como Tf é definido e com o que foi iniciada a vela?
* ao copiar preços a indexação é deslocada por um, porque você copia 60 elementos a partir do primeiro índice, ou seja, os preços da primeira barra fechada já estarão sob índice 0
Em ajuda está escrito - "Verifica a terminação forçada do programa mql5". Ou seja, "olha" para algumas linhas de código à frente e verifica se alguma coisa está correta? Como é definida sua área de responsabilidade (por exemplo, por linha ou 10 linhas)?
Pensei que isso só impedia que o laço fosse além da matriz, mas o vi de volta no código FAMA antes de copiar preços altos e baixos
Em ajuda está escrito - "Verifica a terminação forçada do programa mql5". Ou seja, "olha" para algumas linhas de código à frente e verifica se alguma coisa está correta? Como é definida sua área de responsabilidade (por exemplo, por linha ou 10 linhas)?
Pensei que isso só impedia que o laço fosse além da matriz, mas vi isso ainda no código FAMA antes de copiar os preços Alto e Baixo
Não parece em nenhum lugar... Está claramente escrito ali. Ele verifica a bandeira... Releia-o.
Возвращает true, если в системной переменной _StopFlag содержится значение, отличное от 0. Ненулевое значение записывается в переменную _StopFlag, если поступила команда завершить...
Em ajuda está escrito - "Verifica a terminação forçada do programa mql5". Ou seja, "olha" para algumas linhas de código à frente e verifica se alguma coisa está correta? Como é definida sua área de responsabilidade (por exemplo, por linha ou 10 linhas)?
Pensei que isso só impedia que o laço fosse além da matriz, mas vi isso no código FAMA antes de copiar os preços altos e baixos
se ocorrer uma parada de um programa MQL, o _StopFlag será definido, e pode ser verificado usando uma variável predefinida ou a função IsStopped() - o que for conveniente, use-o dessa forma.
após definir _StopFlag , o programa MQL tem um pouco de tempo para parar, e então o terminal descarrega-o forçadamente
o uso mais difundido é de scripts em loop, você não
while(true)
{
...
}
é melhor escrevê-lo assim:
while(!IsStopped())
{
...
}
bem, às vezes em cálculos de custos ou em grandes ciclos que utilizam
1) O laço tem uma matriz ultrapassada - se o tamanho do buffer for 60, então o último índice será 59, já que o primeiro índice é 0
2) O código não está completo - por exemplo, como Tf é definido e com o que foi iniciada a vela?
* ao copiar os preços, a indexação é deslocada por um, pois você copia 60 elementos a partir do primeiro índice, ou seja, os preços da primeira barra fechada já estarão sob o índice 0
OBRIGADO por sua resposta. Código completo. Aumentou o tamanho estático da matriz. Removido a entrada de controle zero nos operadores. "boneco" comum. Ainda estou tentando descobrir POR QUE não está acrescentando. O que não está no meu código agora? Obrigado pelas dicas. Ainda não trabalhei com arrays estáticos em mql5.....
Допускается объявление не более чем 4-мерного массива. При объявлении динамического массива (массива с неуказанным значением в первой паре квадратных скобок) компилятор автоматически создает переменную указанной выше структуры (объект динамического массива) и обеспечивает код для правильной инициализации. Статические массивы При явном...
Você pode me dizer se é possível fazer loop através de variáveis com nomes: L1, L2, L3 ... Ln para escrever em uma matriz bidimensional
eliminou o post - você sabe sobre arrays
mas ainda não possível
como uma opção para escrever uma macro substituição, escreva um exemplo específico - talvez alguém escreva uma macro para sua tarefa, eu sou ruim em escrever macros.
Código completo. Aumento do tamanho da matriz estática. Removido o controle zero de escrita nos operadores... "boneco" comum. Ainda querem entender por que não conta a adição. O que não está no meu código agora? Obrigado pelas dicas. Ainda não trabalhei comarrays estáticos em mql5.....
Допускается объявление не более чем 4-мерного массива. При объявлении динамического массива (массива с неуказанным значением в первой паре квадратных скобок) компилятор автоматически создает переменную указанной выше структуры (объект динамического массива) и обеспечивает код для правильной инициализации. Статические массивы При явном...
OBRIGADO pela resposta. Código completo. Aumento do tamanho da matriz estática. Removida a entrada de controle zero nos operadores. "boneco" comum. Ainda estou tentando descobrir POR QUE não está acrescentando. O que não está no meu código agora? Obrigado pelas dicas. Ainda não trabalhei com arrays estáticos em mql5.....
ATUALIZEI O CÓDIGO. A questão é a mesma...
Não estou familiarizado com indicadores, mas é apenas desnecessário. Eu já o tenho ))))
intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
//+------------------------------------------------------------------+//| Поиск события и установка меток на графике |//+------------------------------------------------------------------+if(CopyOpen(NULL,PERIOD_H4,0,to_copy,Open)<to_copy)
return(0);
if(CopyHigh(NULL,PERIOD_H4,0,to_copy,High)<to_copy)
return(0);
if(CopyLow(NULL,PERIOD_H4,0,to_copy,Low)<to_copy)
return(0);
if(CopyClose(NULL,PERIOD_H4,0,to_copy,Close)<to_copy)
return(0);int indexmass=ArraySize(Open);
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Boa internet e boa saúde para todos.
Pergunta, o que estou fazendo de errado? As arrays (STATIC) são preenchidas, mas o cálculo dá 0 (zero). Você pode me dizer o que eu não tenho em meu código? Por que os elementos da matriz não estão sendo comparados e acrescentados...? Obrigado
double Open[60],High[60],Lo[60,Close[60]; int to_copy=60;Comment(High[10],". ",candle);candle дает результат 0 нольBoa internet e boa saúde para todos.
Pergunta, o que estou fazendo de errado? As arrays (STATIC) são preenchidas, mas o cálculo dá 0 (zero). Você pode me dizer o que eu não tenho em meu código? Por que os elementos da matriz não estão sendo comparados e acrescentados...? Obrigado
1) O laço vai além da matriz - se o tamanho do buffer é 60, o último índice é 59, porque o primeiro índice é 0
2) O código não está completo - por exemplo, como Tf é definido e com o que foi iniciada a vela?
* ao copiar preços a indexação é deslocada por um, porque você copia 60 elementos a partir do primeiro índice, ou seja, os preços da primeira barra fechada já estarão sob índice 0
Como funciona a função
IsStopped();... e que lista de tarefas ele realiza?
Em ajuda está escrito - "Verifica a terminação forçada do programa mql5". Ou seja, "olha" para algumas linhas de código à frente e verifica se alguma coisa está correta? Como é definida sua área de responsabilidade (por exemplo, por linha ou 10 linhas)?
Pensei que isso só impedia que o laço fosse além da matriz, mas o vi de volta no código FAMA antes de copiar preços altos e baixos
Como funciona a função
... e que lista de tarefas ele realiza?
Em ajuda está escrito - "Verifica a terminação forçada do programa mql5". Ou seja, "olha" para algumas linhas de código à frente e verifica se alguma coisa está correta? Como é definida sua área de responsabilidade (por exemplo, por linha ou 10 linhas)?
Pensei que isso só impedia que o laço fosse além da matriz, mas vi isso ainda no código FAMA antes de copiar os preços Alto e Baixo
Não parece em nenhum lugar... Está claramente escrito ali. Ele verifica a bandeira... Releia-o.
Como funciona a função
... e que lista de tarefas ele realiza?
Em ajuda está escrito - "Verifica a terminação forçada do programa mql5". Ou seja, "olha" para algumas linhas de código à frente e verifica se alguma coisa está correta? Como é definida sua área de responsabilidade (por exemplo, por linha ou 10 linhas)?
Pensei que isso só impedia que o laço fosse além da matriz, mas vi isso no código FAMA antes de copiar os preços altos e baixos
se ocorrer uma parada de um programa MQL, o _StopFlag será definido, e pode ser verificado usando uma variável predefinida ou a função IsStopped() - o que for conveniente, use-o dessa forma.
após definir _StopFlag , o programa MQL tem um pouco de tempo para parar, e então o terminal descarrega-o forçadamente
o uso mais difundido é de scripts em loop, você não
é melhor escrevê-lo assim:
bem, às vezes em cálculos de custos ou em grandes ciclos que utilizam
Olá a todos.
Você pode me dizer se é possível fazer loop através de variáveis com nomes: L1, L2, L3 ... Ln para escrever para uma matriz bidimensional
1) O laço tem uma matriz ultrapassada - se o tamanho do buffer for 60, então o último índice será 59, já que o primeiro índice é 0
2) O código não está completo - por exemplo, como Tf é definido e com o que foi iniciada a vela?
* ao copiar os preços, a indexação é deslocada por um, pois você copia 60 elementos a partir do primeiro índice, ou seja, os preços da primeira barra fechada já estarão sob o índice 0
OBRIGADO por sua resposta. Código completo. Aumentou o tamanho estático da matriz. Removido a entrada de controle zero nos operadores. "boneco" comum. Ainda estou tentando descobrir POR QUE não está acrescentando. O que não está no meu código agora? Obrigado pelas dicas. Ainda não trabalhei com arrays estáticos em mql5.....
ATUALIZEI O CÓDIGO. A questão é a mesma...
Comment("indexmass ",indexmass," Open ",Open[10]," candle ",candle," averpips ",averpips);Olá a todos.
Você pode me dizer se é possível fazer loop através de variáveis com nomes: L1, L2, L3 ... Ln para escrever em uma matriz bidimensional
eliminou o post - você sabe sobre arrays
mas ainda não possível
como uma opção para escrever uma macro substituição, escreva um exemplo específico - talvez alguém escreva uma macro para sua tarefa, eu sou ruim em escrever macros.
Gente!!! (Dica ... )))
Código completo. Aumento do tamanho da matriz estática. Removido o controle zero de escrita nos operadores... "boneco" comum. Ainda querem entender por que não conta a adição. O que não está no meu código agora? Obrigado pelas dicas. Ainda não trabalhei comarrays estáticos em mql5.....
ATUALIZEI O CÓDIGO. A questão é a mesma...
OBRIGADO pela resposta. Código completo. Aumento do tamanho da matriz estática. Removida a entrada de controle zero nos operadores. "boneco" comum. Ainda estou tentando descobrir POR QUE não está acrescentando. O que não está no meu código agora? Obrigado pelas dicas. Ainda não trabalhei com arrays estáticos em mql5.....
ATUALIZEI O CÓDIGO. A questão é a mesma...
Não estou familiarizado com indicadores, mas é apenas desnecessário. Eu já o tenho ))))