Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 178
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
Sim, obrigado!
Não, mas obrigado de qualquer forma!)Boa noite.
Ao utilizar iOpen é especificado um turno. Se não houver histórico suficiente para o câmbio especificado, o iOpen do bar mais antigo é devolvido.
Pergunta: Como posso fazer um cheque para um bar com o shifter especificado? E caso não haja história suficiente, não retorne iOpen?
Boa noite.
Ao utilizar iOpen é especificado um turno. Se não houver histórico suficiente para o câmbio especificado, o iOpen do bar mais antigo é devolvido.
Pergunta: Como posso fazer um cheque para um bar com o shifter especificado? E no caso de não haver história suficiente, não retorna iOpen?
CopyOpen
A função recebe dados do histórico de preços de abertura de barras para um par de símbolos-período especificado na matriz open_array no valor especificado. Deve-se observar que a contagem dos elementos da posição inicial é feita do presente para o passado, ou seja, a posição inicial igual a 0 significa a barra atual.
Ao copiar uma quantidade desconhecida de dados, recomendamos usar uma matriz dinâmica como matriz de destino, porque se os dados forem menos (ou mais) do que a matriz pode conter, será feita uma tentativa de remodelar a matriz para que os dados solicitados possam ser copiados em sua totalidade.
Se for necessário copiar uma quantidade conhecida de dados, é melhor copiá-la para um buffer alocado estaticamente para evitar alocação desnecessária de memória em geral.
Independentemente da propriedade as_series=verdadeiro ou as_series=falso da matriz receptora, os dados serão copiados para que o elemento mais antigo esteja no início da memória física alocada à matriz. Existem 3 variantes da função.
Referenciamento por posição inicial e número de elementos necessários
intCopyOpen(
nome_símbolo de corda,// nome do símbolo
ENUM_TIMEFRAMEScronograma,// período
intstart_pos,// por onde começar
contagem de int,// quantos copiamos
doubleopen_array[]// matriz para cópia dos preços de abertura
);
Acesso por data de início e número de elementos necessários
intCopyOpen(
nome_símbolo de corda,// nome do símbolo
ENUM_TIMEFRAMEScronograma,// período
data/hora de início,// a partir da qual a data
contagem de int,// quantos copiamos
doubleopen_array[]// matriz para cópia dos preços de abertura
);
Acesso por data de início e data final do intervalo de tempo requerido
intCopyOpen(
nome_símbolo de corda,// nome do símbolo
ENUM_TIMEFRAMEScronograma,// período
data/hora de início,// a partir da qual a data
datahora_de_parada,// até que data
doubleopen_array[]// matriz para cópia dos preços de abertura
);
Parâmetros
símbolo_nome
[em] O símbolo.
cronograma
[em] Período.
start_pos
[em] Número do primeiro elemento a ser copiado.
contar
[em] Número de itens a serem copiados.
hora_de_início
[em] Tempo de barra correspondente ao primeiro elemento a ser copiado.
stop_time
[em] O tempo de barra correspondente ao último elemento.
open_array[]
[fora] Conjunto do tipo duplo.
Valor retornado
O número de elementos de matriz copiados ou -1 no caso de um erro.
Nota
Se o intervalo de dados solicitados estiver totalmente fora dos dados disponíveis no servidor, a função retorna -1. Se forem solicitados dados fora do TERMINAL_MAXBARS (número máximo de barras no gráfico), a função também retornará -1.
Se as séries de tempos solicitadas ainda não foram construídas ou precisam ser baixadas do servidor, a função retornará imediatamente -1.
Ao solicitar dados do Expert Advisor ou um script, o carregamento do servidor será iniciado, se o terminal não tiver esses dados localmente, ou a construção das séries de tempos requeridos será iniciada, se os dados puderem ser construídos a partir do histórico local, mas ainda não estiverem prontos. A função retornará a quantidade de dados que estarão prontos no tempo limite, mas o carregamento do histórico continuará, e o próximo pedido semelhante retornará mais dados.
Ao solicitar dados por data de início e número de itens necessários, somente dados com data menor que (anterior a) ou igual à especificada serão devolvidos. Ao mesmo tempo, o intervalo é especificado e levado em conta para o segundo mais próximo. Isso significa que a data de abertura de qualquer barra, para a qual o valor é devolvido (volume, spread, valor no buffer indicador, preço Aberto, Alto, Baixo, Tempo Fechado ou Tempo Aberto), é sempre igual ou menor do que o especificado.
Ao solicitar dados no intervalo de datas especificado, somente os dados que estiverem dentro do intervalo solicitado serão devolvidos, e o intervalo é especificado e levado em consideração para o segundo mais próximo. Isto significa que o tempo de abertura de qualquer barra para a qual um valor é devolvido (volume, spread, valor no buffer indicador, preço Aberto, Alto, Baixo, Tempo Fechado ou Tempo Aberto), está sempre dentro do intervalo solicitado.
Assim,se o dia atual da semana for sábado, então ao tentar copiar os dados no horário semanal, especificando start_time=Last Tuesday e stop_time=Last Friday, a função retornará 0, já que o horário de abertura do horário semanal sempre cai no domingo, mas nenhuma barra semanal se enquadra no intervalo especificado.
Se precisarmos obter o valor correspondente à barra inacabada atual, podemos usar a primeira forma da chamada especificando start_pos=0 e count=1.
Saudações.
Cavalheiros, podem me dizer como fazer uma condição de cruzamento de níveis de preços com 1-2-3 zeros no final?
Saudações.
Cavalheiros, podem me dizer como fazer uma condição de cruzamento de níveis de preços com 1-2-3 zeros no final?
Ao comparar o valor do preço passado e atual com este nível, se o nível estiver entre estes valores, então houve uma travessia.
Ao comparar o passado e o preço atual com este nível, se o nível estiver entre estes valores, então ocorreu uma travessia.
Como posso especificar esses níveis para comparação?
Ou - como posso especificar que o número deve ter o número certo de casas decimais? Não por arredondamento, mas por eliminação.
E como eu escrevo esses níveis para comparação?
Ou - como posso especificar que o número deve ter o número certo de casas decimais? Não por arredondamento, mas por eliminação.
Aqui está a função de busca.
Sergey Gritsay,Vitaly Muzichenko lhe agradece.
Também me foi sugerida a função MathFloor() - Retorna o valor numérico inteiro mais próximo do fundo.
Digite o MySQL.
Sergey Gritsay:
Para este fim você precisa criar um servidor fora de seu computador local e transmitir dados através deste servidor. Para MT um indicador ou um Expert Advisor deve ser escrito para processar estes dados, ou terminais devem ser colocados em algum servidor VPS e lá você deve configurar uma copiadora de comércio de sua conta para as contas de seus amigos. Outra opção é copiar suas negociações executadas em determinados níveisatravés do serviço desinais. Em geral, você deve considerar sua capacidade financeira para encomendar o software apropriado.
MosheDayan:
Deixe-me lembrá-lo da pré-história. Tenho um indicador diário que obtém dados do csv e os exibe (níveis horizontais) em um gráfico. Criei um servidor a partir de meu laptop doméstico (é fraco mas não preciso de cálculos lá e me dará csvs e eles são muito pequenos). No servidor para a conexão de teste despejou-se o motor de fórum habitual - tudo parece ser visível do exterior. Ajuda com conselhos. Isso deve estar no servidor para ler a partir dele arquivos csv indicadores? Isto é, como o indicador se comunica com o banco de dados csv? Pode encher o servidor fTP do motor ou outra coisa e pode para a MT precisar abrir algumas portas especiais? Ou eu me enganei na direção em geral? Obrigado
Amigos, posso fazer-lhes outra pergunta? É possível não carregar um laptop doméstico, mas usar, ligar o indicador com arquivos csv, armazenamento gratuito de arquivos em nuvem como, por exemplo, Yandex.Disk ou Облако@mail.ru ou Box.net etc. Obrigado
Aqui está a função do buscador