[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 312
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Olá guru da programação
Você pode me dizer como desenhar um retângulo preenchido com a cor de fundo no canto superior esquerdo com uma pequena reentrância (para estética) no topo da carta e sob o texto exibido pelo especialista?
Obrigado de antemão
é a mesma coisa... Para descrevê-lo também, apenas para uma situação diferente.
Não é isso?
Artem, não se importa de escrever o código, pois não? Ou me dê aquela coisa que tem na mão e eu acabo com esta miséria...
Pergunta sobre o funcionamento do testador: Depois deexecutar um teste, você muda os parâmetros (datas, par de moedas, período de tempo), executa novamente o teste - ele é executado, mas quando está sobre as informações nas guias como "gráfico" e "relatório" não muda em nada - tudo permanece do teste anterior. O relatório salvo também se revela velho. Qual é a razão e como consertá-la? Talvez haja alguma função para redefinir os resultados?
Li o manual, artigos, procurei no fórum - não encontrei nenhuma menção a tal problema...
Não deveria ser assim, talvez você tenha a "Otimização" verificada?
Este não deveria ser o caso, talvez você tenha selecionado "Otimizar"?
Oh, esse parece ser o caso: ao fazer um novo teste não percebi que a otimização estava em andamento, achei que não era crítica. Solução de interface levemente estranha...
Mas agora está funcionando, muito obrigado!
Eu não me aprofundei na lógica, mas algo me diz que há alguns cálculos desnecessários. Há um ano e meio atrás eu estava resolvendo o mesmo problema com citações recolhendo e formando castiçais M1 com corte claro no início do minuto astronômico.
Se você estiver interessado, poderá dar uma olhada em alguns momentos de pura otimização de seu código (arquivo). Realmente, se falamos seriamente sobre otimização, você precisa medir o tempo de execução do código. ;)
Agora estou tentando de uma maneira totalmente diferente do zero.
Pergunta para Vadim sobre o mapeamento. Então, uh... Começou do zero. Pegamos o tiquetaque original TF:
Em princípio, há uma lógica muito simples: pegamos um bidask, formamos RateInfo, mas colocamos o tempo no Volume e modelamos o Tempo. Agora, sem nos preocuparmos em como simular o Tempo, removemos a simulação completamente e a fazemos por TOLHCV padrão e antes disso colocamos "se passaram mais de 0 segundos desde a última chamada de partida()". Se fosse menos em outro ramo da mesma condição, editar Volume Alto-Baixo e Aumentar. Em essência é o mesmo que o descrito acima, mas com o ciclo completamente removido, ou seja, obtemos a segunda TF "com lacunas" (com segundos faltando):
Também deixou a classificação de boi completamente fora. Vale a pena apostar? Vamos verificar, colocar GetTickCount() com encolhimento para esta variante e para a inicial do proprietário, executá-las simultaneamente em um gráfico, olhar para o registro:
como esperado. Tick - original, segundos com lacunas - modificado. Agora forma uma matriz auxiliar antes do tempo=TimeCurrent():
Isto está no código dos segundos tf. Para a EA que estará pairando no próprio segundotf, os valores de TOLHCV x segundos atrás podem então ser obtidos como ind[GlobalVariableGet("final")]-ind[GlobalVariableGet("final")-x]+1, se de alguma forma esta matriz for passada. Portanto, vamos usar o mapeamento:
Escrevemos um roteiro de teste que vai pairar sobre os segundos e lemos os valores deTOLHCV x segundos atrás (não os candelabros):
Executamos o cronograma de segundos. Na inicialização, será exibida uma janela
Há 58.572 vezes no tronco
e na desinicialização, mostra uma janela
В методе "MT4::Memory::SearchIndexOrHandle()" не установлен параметр для поиска в области памяти терминала.
Bem desinicializei-o mais tarde, eu coloquei o roteiro - alerta uma vez. Eu substituo MemoryCreate e MemoryCloseHandle, nada aparece (o script mantém o alerta), o log
- e é isso. Portanto, logicamente falando, estou usando chamadas em ordem errada ou declarando-as de forma incorreta. Meu sistema operacional é o WinXP. Vadim, ao menos me diga em que direção seguir.