[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 51
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
Eu sei como abrir um pedido usando código.
Preciso criar um sistema semi-automático com propriedades de gerenciamento.
Abro uma posição manualmente, mas a EA monitora o tamanho do lote e o altera por padrão na MT (serviço/definições/volume comercial/defaultos).
É possível fazer isso?
Não. Pelo menos não na MQL4
A referência seria útil:
duplo iWPR( símbolo de corda, período int, período int, turno int)
Portanto, correto é:
MUITO OBRIGADO
Pessoal, como você puxa o tempo de formação de uma determinada barra no MACD sem usar a tabela de preços?
A coluna corresponde ao tempo da formação da barra na tabela de preços,
Ou seja, você precisa saber o número de um determinado bar.
Quais são as regras para a otimização do código? Estou interessado nas regras de redação, não no algoritmo.
Para ser mais preciso, deixe-me dar-lhe um exemplo:
há dois roteiros "idênticos":
и
o primeiro é duas vezes mais rápido do que o segundo. (para mim são 4 segundos)
É claro que matrizes de cem milhões não são usadas com freqüência :-) e na realidade o ganho é de alguns milissegundos para uma matriz comum e que o principal problema está nos algoritmos de buggy e não em tais bagatelas, mas mesmo assim...
Quais são as regras para a otimização do código? Estou interessado nas regras de redação, não no algoritmo.
Para ser mais preciso, deixe-me dar-lhe um exemplo:
há dois roteiros "idênticos":
и
o primeiro é duas vezes mais rápido do que o segundo. (para mim são 4 segundos)
É claro que matrizes de cem milhões não são usadas com freqüência :-) e na realidade o ganho será de alguns milissegundos para uma matriz comum e que o principal problema está nos algoritmos de buggy e não em detalhes tão minúsculos, mas ainda assim...
Não há regras como tais. Ou seja, você pode escrevê-lo como achar conveniente e ele funcionará. Naturalmente, ele funcionará com eficiência diferente.
Para cada operação seu custo em termos de expressão de tempo é conhecido - você pode encontrá-lo nos padrões linguísticos, assim como o fluxo de trabalho dos loops e outras construções lingüísticas (o padrão C - menciono-o porque duvido que você tenha tentado entendê-lo, a partir do básico - o produtor recomendou consultar este mesmo padrão linguístico em todos os casos não especificados).
No segundo caso, você chama constantemente a função ArraySize(Massiv) - esta é a operação mais cara (chamada de função - qualquer, não esta), enquanto a operação de comparação é chamada em cada laço.
Neste caso: o laço
para (int a=ArraySize(Massiv)-1;a>0;a--)
fará a mesma coisa, mas significativamente mais rápido. Refiro-me à forma como o loop está organizado. Se você tiver cálculos volumosos em um loop, não haverá grande diferença.
Há um "mas" - se você estiver usando um testador ou redes reconfiguradas - a diferença será muito significativa e aparecerá muito, muito ....
Sim, mais uma coisa: você tem um erro no primeiro script - indo além dos limites da matriz. Leia os manuais - está tudo escrito ali. Você deve escrevê-lo assim:
int x=ArraySize(Massiv);
para (int a=0;a<x;a++)
Boa sorte.
Boa tarde
Favor explicar como interpretar esta passagem no tutorial FileOpen
===
O conteúdo das entradas nos arquivos
Com qualquer combinação de modos, os registros de dados são escritos no arquivo sem lacunas. Quando os arquivos são formados no modo FILE_BIN, os registros de dados são escritos consecutivamente. Dependendo do tipo de dados escritos no arquivo (e das funções de gravação utilizadas para este fim), uma combinação de caracteres de fim de linha ("\r\n") pode ser escrita entre grupos de registros. Quando arquivos são gerados no modo FILE_CSV, os registros de dados são separados com um delimitador de arquivo (geralmente ';'), e grupos de registros (consistindo de cordas) são separados com uma combinação de caracteres de fim de linha ("\r\n").
===
tudo está clarocom "int FileOpen(string filename, int mode, int delimiter=';')".
Onde devo colocar ("\r\n")? Pode ser usado com FILE_CSV? Dê-me um exemplo com ("\r\n") por favor, sou tão burro.
Boa tarde
Favor explicar como interpretar esta passagem no tutorial FileOpen
===
O conteúdo das entradas nos arquivos
Com qualquer combinação de modos, os registros de dados são escritos no arquivo sem lacunas. Quando os arquivos são formados no modo FILE_BIN, os registros de dados são escritos consecutivamente. Dependendo do tipo de dados escritos no arquivo (e das funções de gravação utilizadas para este fim), uma combinação de caracteres de fim de linha ("\r\n") pode ser escrita entre grupos de registros. Quando arquivos são gerados no modo FILE_CSV, os registros de dados são separados com um delimitador de arquivo (geralmente ';'), e grupos de registros (consistindo de cordas) são separados com uma combinação de caracteres de fim de linha ("\r\n").
===
tudo está clarocom "int FileOpen(string filename, int mode, int delimiter=';')".
mas onde deve ser usado o "r\n"? Pode ser usado com o FILE_CSV?
Em nenhum lugar. O manual diz claramente em russo: "grupos de registros (fazendo cordas) são separados com uma combinação de caracteres de fim de linha ("\r\n")".
Você poderia me dar uma dica?
no meu EA, vários alertas estão em fila em um bloco, e vários em fila em outro bloco
no log no teste eles não estão em ordem, mas classificados - 2 alertas do primeiro bloco, 3 do segundo, depois 3 do primeiro e os últimos 2 do segundo
colocar um deslizamento de 500 segundos após cada um, ou seja, meio segundo e nenhuma ação - todos ainda são aleatórios e em 1 segundo podem ser colocados todos os 10
qual é a razão?
como fazer com que os alertas fiquem em ordem?