Pergunta sobre inicialização de indicadores pelo Consultor Especialista durante os testes em modo visual.
Se inicializo indicadores no OnInit() { } do Expert Advisor, então no testador visual o indicador normalmente não aparece e não é desenhado.
Ao mesmo tempo, no registo, a inicialização é passada e o manípulo é recebido. Sente-se que no modo visual o testador não tem tempo para fazer algo e o indicador não se cola ao gráfico.
Se inicializar indicadores em OnTick() { } da EA, o problema desaparece, mas cria uma escrita desnecessária, verificação e assim por diante.
Se eu descomentar o IndicatorInitialization() no OnTick e o comentar no OnInit, ele começa a funcionar.
int TicksTesterIndicatorHandle = INVALID_HANDLE;
bool InitComplite=false;
intOnInit()
{
IndicatorInitialization();
return(INIT_SUCCEEDED);
}
voidOnDeinit(constint reason)
{
IndicatorRelease(TicksTesterIndicatorHandle);
}
voidOnTick()
{
//if(!InitComplite)// {// IndicatorInitialization();// }
}
//+------------------------------------------------------------------+bool IndicatorInitialization()
{
//---Получить хэндл индикатора TicksTesterIndicator
TicksTesterIndicatorHandle=iCustom(NULL, _Period, "OnInit_TestIndicator");
//--- Нужно проверить, не были ли возвращены значения Invalid Handleif(TicksTesterIndicatorHandle<0)
{
Print("Ошибка при создании индикатора TicksTesterIndicator - номер ошибки: ",GetLastError(),"!!!");
return(false);
}
else
{
Print("TicksTesterIndicator инициализирован, хэндл: ", TicksTesterIndicatorHandle);
ArraySetAsSeries(Buf, true);
InitComplite=true;
}
return(true);
}
Depois de o MetaEditor pendurar e depois reiniciar - este ficheiro é agora apresentado como um conjunto de texto vermelho, mas o mesmo bloco de notas abre-o normalmente (removido desnecessariamente)
Não é possível ultrapassar o erro [preço inválido] ao colocar uma encomenda pendente. O problema é que tais erros estão a cair nas verificações padrão da publicação da EA. Não consigo olhar para os registos em conformidade para compreender qual é a razão. Não o reproduzi nos meus testes. Evidentemente, a complexidade é que não sei quais os parâmetros que o símbolo representa nas verificações padrão. Tentei usar o terminal MetaQuotes para o reproduzir. A ordem abre no mesmo lugar, mesmo ao mesmo preço e não há erro. Os preços são normalizados por CSymbolinfo::NormilizePrice(), há verificações de StopsLevel, nível de congelamento, para a correcção dos preços de encomendas pendentes, actualizo os dados de preços com cada verificação.
Talvez alguém conheça todos os casos em que um tal erro possa ocorrer em encomendas pendentes? A única de que me consigo lembrar é
Preço não normalizado
Preço acima/abaixo do preço de mercado para um determinado tipo de ordem
Não é possível ultrapassar o erro [preço inválido] ao colocar uma encomenda pendente. O problema é que tais erros estão a cair nas verificações padrão da publicação da EA. Não consigo olhar para os registos em conformidade para compreender qual é a razão. Não o reproduzi nos meus testes. Evidentemente, a complexidade é que não sei quais os parâmetros que o símbolo representa nas verificações padrão. Tentei usar o terminal MetaQuotes para o reproduzir. A ordem abre no mesmo lugar, mesmo ao mesmo preço e não há erro. Os preços são normalizados por CSymbolinfo::NormilizePrice(), há verificações de StopsLevel, nível de congelamento, para a correcção dos preços de encomendas pendentes, actualizo os dados de preços com cada verificação.
Talvez alguém conheça todos os casos em que um tal erro possa ocorrer em encomendas pendentes? A única de que me consigo lembrar é
Preço não normalizado
Preço acima/abaixo do preço de mercado para um determinado tipo de ordem
Все продукты Маркета перед публикацией проходят обязательную предварительную проверку для обеспечения единого стандарта качества. В этой статье мы расскажем о наиболее частых ошибках, которые допускают разработчики в своих технических индикаторах и торговых роботах. А также покажем как самостоятельно проверить свой продукт перед отправкой в Маркет.
É possível fazer um corte de teste por parâmetros no testador?
Por exemplo, se for atingido um drawdown de 40% num teste, este pára e são utilizados recursos para os testes seguintes.
Isto é possível para os seus EAs: precisa de contar o critério de saída dentro (se for pesado - no OnTimer), atingiu o limiar - TesterStop()/ExpertRemove().
Print(SymbolSelect( "EURUSD " ,true)); recebo um erro - true
Ler cuidadosamente a documentação:SymbolExist
Eis como fica em código:
Leia atentamente a documentação:SymbolExist
Eis como fica no código:
Obrigado, Vladimir
Pergunta sobre inicialização de indicadores pelo Consultor Especialista durante os testes em modo visual.
Se inicializo indicadores no OnInit() { } do Expert Advisor, então no testador visual o indicador normalmente não aparece e não é desenhado.
Ao mesmo tempo, no registo, a inicialização é passada e o manípulo é recebido. Sente-se que no modo visual o testador não tem tempo para fazer algo e o indicador não se cola ao gráfico.
Se inicializar indicadores em OnTick() { } da EA, o problema desaparece, mas cria uma escrita desnecessária, verificação e assim por diante.
Se eu descomentar o IndicatorInitialization() no OnTick e o comentar no OnInit, ele começa a funcionar.
Continuação da históriados ficheirosmágicos:
Depois de o MetaEditor pendurar e depois reiniciar - este ficheiro é agora apresentado como um conjunto de texto vermelho, mas o mesmo bloco de notas abre-o normalmente (removido desnecessariamente)
Tarde,
Android MT5/MT4: Na janela de colocação de encomendas, as cores das linhas de carraças são misturadas. Também nos esquemas de cores da carta.
Olá a todos!
Não é possível ultrapassar o erro [preço inválido] ao colocar uma encomenda pendente. O problema é que tais erros estão a cair nas verificações padrão da publicação da EA. Não consigo olhar para os registos em conformidade para compreender qual é a razão. Não o reproduzi nos meus testes. Evidentemente, a complexidade é que não sei quais os parâmetros que o símbolo representa nas verificações padrão. Tentei usar o terminal MetaQuotes para o reproduzir. A ordem abre no mesmo lugar, mesmo ao mesmo preço e não há erro. Os preços são normalizados por CSymbolinfo::NormilizePrice(), há verificações de StopsLevel, nível de congelamento, para a correcção dos preços de encomendas pendentes, actualizo os dados de preços com cada verificação.
Talvez alguém conheça todos os casos em que um tal erro possa ocorrer em encomendas pendentes? A única de que me consigo lembrar é
Bom dia.
É possível fazer um corte de teste por parâmetros no testador?
Por exemplo, se for atingido um drawdown de 40% num teste, este pára e os recursos vão a favor dos testes seguintes.
Olá a todos!
Não é possível ultrapassar o erro [preço inválido] ao colocar uma encomenda pendente. O problema é que tais erros estão a cair nas verificações padrão da publicação da EA. Não consigo olhar para os registos em conformidade para compreender qual é a razão. Não o reproduzi nos meus testes. Evidentemente, a complexidade é que não sei quais os parâmetros que o símbolo representa nas verificações padrão. Tentei usar o terminal MetaQuotes para o reproduzir. A ordem abre no mesmo lugar, mesmo ao mesmo preço e não há erro. Os preços são normalizados por CSymbolinfo::NormilizePrice(), há verificações de StopsLevel, nível de congelamento, para a correcção dos preços de encomendas pendentes, actualizo os dados de preços com cada verificação.
Talvez alguém conheça todos os casos em que um tal erro possa ocorrer em encomendas pendentes? A única de que me consigo lembrar é
Artigo: Que testes é que um robô comercial tem de passar antes de ser publicado no Mercado?
É possível fazer um corte de teste por parâmetros no testador?
Por exemplo, se for atingido um drawdown de 40% num teste, este pára e são utilizados recursos para os testes seguintes.
Isto é possível para os seus EAs: precisa de contar o critério de saída dentro (se for pesado - no OnTimer), atingiu o limiar - TesterStop()/ExpertRemove().
Algo desnecessário.