Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 722

 
SemenTalonov:

Valor devolvido se nenhuma barra foi encontrada no momento especificado. Seexato=falso iBarShift retorna índice da barra mais próxima com tempo aberto menor que o especificado (time_open<time). Se tal barra não for encontrada (sem histórico antes do tempo especificado), a função retornará -1.

Mas nós temos história, é um fato. Tudo acontece na mais nova (0ª barra por série temporal).

As séries de tempo estão prontas quando você acessa?
 
Artyom Trishkin:
As séries cronológicas estão prontas quando você as aborda?

Ela não pode estar pronta?

 
SemenTalonov:

Ela poderia estar despreparada?

Sim
 
Comentários não relevantes a este tópico foram movidos para "Características da linguagem mql5, complexidades e técnicas".
 
Sincronização dos dados do terminal e dos dados do servidor

Se OnTick() ou OnCalculate() não conseguir obter todos os dados necessários, desista do manipulador de eventos, esperando obter acesso aos dados quando o manipulador for chamado na próxima vez.


É assim que parece

 
Você sabe se há um roteiro ou um indicador no site que mostra o nível de equilíbrio para dois indicadores? Por exemplo, eu tenho uma grade de pedidos, o preço é de 1.2255 e tenho muitos pedidos abertos, mas preciso encontrar o nível de breakeven de dois pedidos de venda, nível de breakeven para dois pedidos de venda, para 1.3400, que está ganhando e para 1.2150, que é menos. Aqui, eu preciso encontrar o nível de equilíbrio entre eles. Existe um roteiro que deve me ajudar a indicar 2 ou 3 ordens pendentes e o nível 0 será mostrado no gráfico com a consideração de lotes, Martingale, se houver um?
 
Eu escrevo assim:
void OnTick()
{
   double raznica=Close[30000];
   Alert(raznica);
}


Há um erro no testador:



Por quê?

 
multiplicator:
Eu escrevo assim:

Há um erro no testador:

Por quê?

Porque não há barra com índice 30000 na tabela e no terminal

 
Vladimir Pastushak:

Porque não há 30000 barras na tabela e no terminal

Então, como faço para testá-lo?

a EA, quando começa, tem que processar 30.000 minutos anteriores.


Estou testando um EA para 2018.

No lançamento, deve passar por todas as atas do mês anterior (este acaba sendo o último mês de 2017),
e usá-los para calcular o coeficiente de variância.

São cerca de 30.000 minutos.


Você pode levar os próximos? A EA pode "olhar para o futuro"?
Preciso calcular a variância, portanto não me importo se existem as subseqüentes ou as anteriores.
 
multiplicator:
a EA pode "ver o futuro"?

não pode.

use iBars() para ver o histórico disponível

HH: Se não estou enganado, no testador, quando você inicia o Expert Advisor está disponível 1000 barras, então com a geração de novos dados o número de barras irá aumentar. O testador modela o histórico de todos os TFs aos quais é dirigido, ou seja, se você executou o teste no H1 e durante o teste acessou os dados no TF M1, então quando você começar você estará disponível para 1000 barras no H1 e portanto 60 * 1000 = 60.000 barras M1

você precisa ler artigos como esteem https://www.mql5.com/ru/articles/1511

Strategy Tester: режимы моделирования при тестировании торговых стратегий
Strategy Tester: режимы моделирования при тестировании торговых стратегий
  • www.mql5.com
Многие программы технического анализа позволяют проводить тестирование торговых стратегий на исторических данных. В большинстве случае тестирование идет по уже сформированным данным, без попыток моделирования движения внутри ценового бара. Получается быстро, но недостаточно точно. Для качественного тестирования торговой стратегии важно выбрать...