Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 952

 
atztek:
Entendo corretamente, a única maneira de evitar o excesso de memória por buffers indicadores é
para inicialmente alocar uma certa faixa para eles (por exemplo, de 0 a 2000) e não excedê-la?

A única maneira é especificar o número mínimo de barras exibidas nas configurações do terminal
 
Vinin:
A única maneira é especificar nas configurações dos terminais o número mínimo de barras a serem exibidas
Se eu entendi corretamente o que você sugere, esta opção não é adequada para mim.
O que eu estou dizendo é para limitar as últimas barras 0-2000 (2000 por exemplo). Quando uma nova barra aparece, devemos sobrescrever os valores dos amortecedores e adicionar uma nova barra ao amortecedor 0-ésimo e remover a última barra removida de acordo. No entanto, este ciclo irá colocar alguma carga na CPU.
 
atztek:
Se eu entendi corretamente o que você sugere, esta variante não é adequada para mim.
Estou me limitando às últimas barras 0-2000 (2000 por exemplo). Quando recebo uma nova barra, tenho que sobrescrever os valores dos amortecedores e adicionar uma nova barra ao amortecedor 0-ésimo e remover a última barra removida de acordo. No entanto, este ciclo irá colocar alguma carga na CPU.

Se para cálculos, você pode usar um buffer circular. então não há necessidade de sobrescrever os valores do buffer. Só armazene a posição atual e passe para o próximo item quando uma nova barra aparecer.

Você precisa de matrizes dinâmicas padrão para a renderização.

 
Vinin:

Se para cálculos, você pode usar um buffer circular. então não há necessidade de sobrescrever os valores do buffer. Só armazene a posição atual e passe para o próximo item quando uma nova barra aparecer.

Para a renderização, você precisa de matrizes dinâmicas padrão.

Os dados correspondentes à barra de zero devem ser armazenados no elemento zero do buffer para que a linha seja traçada corretamente.
 
em eurusd,gpbusd,usdchf,usdjpy,audusd,nzdusd no testador funciona completamente.
E no caso de usdrub,xauusd,audcad,audchf,chfjpy óleo, gás no diário de bordo - Erro de fim de ordem 131
(para verificar todos os tipos de erros, usei também uma ação do programa - OrderSend Sell. ainda - não está funcionando).
todas as cotações de moedas foram carregadas da mesma maneira. e não há diferença entre símbolos nas propriedades dos símbolos.
 
É possível controlar o botão de pausa do Testador a partir do código? -
ou seja, posso criar meu próprio botão, colocá-lo na tela e usá-lo para mudar o Testador para o modo Pausa/Trabalho?
PS Anteriormente no fórum eles escreveram sobre a possibilidade de interceptar alguns comandos MT4.
 
Testando o assessor do tutorial de Kovalev sobre as plataformas de dois corretores diferentes. Deve entrar com 10 por cento do depósito, como no tutorial. Quando os testes em uma corretora são executados com 0,4 lote, em outra - 0,08. MODE_MINLOT, MODE_MINSIZE são iguais a 0,01. Por que isso está acontecendo?
 
JoinDoe:
Testando o assessor do tutorial de Kovalev sobre as plataformas de dois corretores diferentes. Deve entrar com 10 por cento do depósito, como no tutorial. Ao testar em um corretor, as negociações são executadas com 0,4 lotes, enquanto em outro - 0,08. MODE_MINLOT, MODE_MINSIZE são iguais a 0,01. Por que isso está acontecendo?
A alavancagem é a mesma?
 
AlexeyVik:
A alavancagem é a mesma?
Está nas configurações da minha conta nos corretores a serem examinadas? Quanto à alavancagem no programa, o programa é o mesmo, portanto a alavancagem é definida da mesma forma a partir do programa. E assim, no "Resultado" do testador mostra 0,4 e 0,08 respectivamente. Sim, e os pontos na mesma guia "Resultados" são iguais em valor a 1 dólar(par EURUSD), então isso significa que a alavancagem é a mesma.
 
JoinDoe:
Está nas configurações da minha conta nos corretores a serem examinadas? Quanto à alavancagem no programa, ela é a mesma no programa, portanto a mesma alavancagem é definida a partir do programa. E assim, no "Resultado" do testador mostra 0,4 e 0,08 respectivamente. Sim, e os pontos na mesma guia "Resultado" são iguais em valor a 1 dólar (par EURUSD), então isso significa que a alavancagem é a mesma.

SIM.

Motor de busca para ajudá-lo, leia o que é "alavancagem" em forex e você descobrirá tudo. É a alavancagem, AccountLeverage() é utilizada no programa ao calcular o lote como um % do depósito.

Razão: