A moeda de lucro (SYMBOL_CURRENCY_PROFIT) do símbolo personalizado é reiniciada após o reinício do Terminal. Devido a isto, o TickValue é frequentemente zero, o que gera negócios com lucro zero no Testador de Estratégia. De cada vez, temos de devolver o valor da moeda de lucro a uma moeda normal.
Reprodução
voidOnStart()
{
conststring Name = "EXAMPL";
if (CustomSymbolCreate(Name))
CustomSymbolSetString(Name, SYMBOL_CURRENCY_PROFIT, "JPY");
Print(SymbolInfoString(Name, SYMBOL_CURRENCY_PROFIT)); // "JPY" - до перезагрузки Терминала, "MPL" - после.
}
Nos símbolos personalizados do Testador obtém-se graal devido ao deslizamento positivo das ordens de limite. Por favor, desactivar o deslizamento de ordem limite para símbolos personalizados, ou ajustar o deslizamento (e a comissão).
Os nomes são diferentes e a eliminação é feita com isso em mente.
SALVE QUE:
_______________________________________
Ao apagar o primeiro indicador na lista de subjanelas, a subjanela é completamente limpa de objectos (mesmo linhas desenhadas manualmente, setas, etiquetas de texto são apagadas)
Reproduzido:
1. criar no construtor um indicador vazio para uma janela separada (ou tomar qualquer indicador existente, por exemplo MACD, etc. do conjunto de entrega padrão)
2. adicionar 5 indicadores/copiadoras a uma subjanela
3. Desenhar manualmente uma linha vertical numa subjanela (ou em qualquer objecto).
Se remover qualquer indicador não o primeiro da lista de indicadores, a linha permanecerá, mas se o primeiro estiver na lista, todos os objectos da sub-janela serão eliminados (linha vertical desenhada).
Se traçar novamente uma linha depois de apagar a primeira, esta será apagada novamente quando a primeira das restantes for apagada. Quando não é apagado o primeiro, os objectos na sub-janela não são apagados.
Onde está escrito na documentação? O que o torna tão especial - o primeiro indicador na lista de sub-janelas?
Parece que há uma reinicialização completa da subjanela.
Reproduzido por MT4/MT5.
A diferença é que em MT5 os nomes dos ficheiros indicadores devem ser diferentes. No MT4, pode colocar o mesmo ficheiro indicador numa sub-janela sem alterar o nome do ficheiro.
Todos os objectos são eliminados numa subjanela, se o indicador era o primeiro da lista de indicadores de uma subjanela no momento da sua eliminação
Ao apagar o primeiro indicador da lista de indicadores numa subjanela, todos os objectos da subjanela são removidos ANTES de Deinit()
voidOnDeinit(constint reason)
{
int window=ChartWindowFind();
if(window==2)
{
int count=0;
for(int i=ObjectsTotal()-1;i>=0;i--)
{
if(ObjectFind(ObjectName(i))==window) count++;
}
Alert("Осталось объектов в подокне #2 - ",count," _StopFlag=",_StopFlag," REASON=",reason);
}
//....
}
Vamos eliminar não o primeiro, mas o primeiro da lista
Todos os objectos são eliminados, independentemente de serem indicadores ou objectos criados manualmente numa subjanela.
Executar o conselheiro no modo "Todos os tiquetaques" no MQ-Demo
voidOnTick()
{
staticint i = 0;
if (i < 2)
{
MqlTick Tick;
if (SymbolInfoTick(_Symbol, Tick))
Print(Tick.time_msc);
i++;
}
elseExpertRemove();
}
Resultado
Si-6.18,M1 (MetaQuotes-Demo): every tick generating
Si-6.18,M1: testing of Experts\fxsaber\LimitsSlippage.ex5 from 2018.03.2500:00 to 2018.03.2700:00 started
2018.03.2610:00:0015220584003782018.03.2610:00:0015220584000132018.03.2610:00:00ExpertRemove() function called
O tempo do primeiro tick gerado é maior do que o segundo - bug.
O optimizador entra em loop infinito com as seguintes (as três passagens já foram iniciadas) mensagens repetidas
2018.03.2723:13:54.520 Core 2 TESTER_EURUSD: history for2017 year synchronized
2018.03.2723:13:54.578 Core 1 pass 0 tested with error "history processing error (314 TESTER_EURUSD)"in0:00:00.1252018.03.2723:13:54.580 Core 2 pass 1 tested with error "history processing error (314 TESTER_EURUSD)"in0:00:00.1242018.03.2723:13:54.580 Core 3 pass 2 tested with error "history processing error (314 TESTER_EURUSD)"in0:00:00.1242018.03.2723:13:54.600 Core 5 common synchronization completed
Reprodução ZS
Copiar o conteúdo do arquivo anexo para a caixa de areia.
Executar guião no MQ-Demo
#include <fxsaber\ThirdPartyTicks\ThirdPartyTicks.mqh> // https://www.mql5.com/ru/code/20225voidOnStart()
{
THIRDPARTYTICKS ThirdPartyTicks; // Подключились к локальному архиву котировокconststring Name = ThirdPartyTicks["EURGBP"].ToCustomSymbol(true); // Создали кастомный символ на основе локального архива if (Name != NULL)
{
const SYMBOL Symb("TESTER"); // Создали символif (Symb.IsExist()) // Если символ создан
{
Symb.CloneProperties("Si-6.18");
Symb.SetProperty(SYMBOL_DIGITS, 5);
Symb.CloneHistory(Name);
if (Symb.On()) // Включили в Обзор рынкаChartOpen(Symb.Name, PERIOD_CURRENT); // Открыли график нового символа
}
}
}
Será criado um símbolo TESTER personalizado. Seleccioná-lo no Testador. Definição: Optimização lenta, Todas as carraças.
A moeda de lucro (SYMBOL_CURRENCY_PROFIT) do símbolo personalizado é reiniciada após o reinício do Terminal. Devido a isto, o TickValue é frequentemente zero, o que gera negócios com lucro zero no Testador de Estratégia. De cada vez, temos de devolver o valor da moeda de lucro a uma moeda normal.
Reprodução
Fórum sobre comércio, sistemas comerciais automatizados e teste de estratégias comerciais
Estatísticas de derrapagens de encomendas limitadas na troca
fxsaber, 2018.03.27 08:28
No MQ-Demo os símbolos MOEX estão a deslizar!
Não há opção para desactivar o Agente Core1.
Não há forma de fazer uma única corrida
Reiniciar o Terminal não ajuda.
HH É assim que a Optimização acontece a partir de apenas duas passagens(animação)
Existem erros contínuos de autorização nos Agentes até que ocorram ligações normais. E isso é apenas em dois passes!
Há uma grave falta de uma lista de símbolos disponíveis para escolher.
Não há opção para desactivar o Agente Core1.
Para além disto
Fórum sobre comércio, sistemas automatizados de comércio e teste de estratégias comerciais
Insectos, insectos, perguntas
Kirill Belousov, 2018.03.26 12:30
Os nomes são diferentes e a eliminação é feita com isso em mente.
SALVE QUE:
_______________________________________
Ao apagar o primeiro indicador na lista de subjanelas, a subjanela é completamente limpa de objectos (mesmo linhas desenhadas manualmente, setas, etiquetas de texto são apagadas)
Reproduzido:
1. criar no construtor um indicador vazio para uma janela separada (ou tomar qualquer indicador existente, por exemplo MACD, etc. do conjunto de entrega padrão)
2. adicionar 5 indicadores/copiadoras a uma subjanela
3. Desenhar manualmente uma linha vertical numa subjanela (ou em qualquer objecto).
Se remover qualquer indicador não o primeiro da lista de indicadores, a linha permanecerá, mas se o primeiro estiver na lista, todos os objectos da sub-janela serão eliminados (linha vertical desenhada).
Se traçar novamente uma linha depois de apagar a primeira, esta será apagada novamente quando a primeira das restantes for apagada. Quando não é apagado o primeiro, os objectos na sub-janela não são apagados.
Onde está escrito na documentação? O que o torna tão especial - o primeiro indicador na lista de sub-janelas?
Parece que há uma reinicialização completa da subjanela.
Reproduzido por MT4/MT5.
A diferença é que em MT5 os nomes dos ficheiros indicadores devem ser diferentes. No MT4, pode colocar o mesmo ficheiro indicador numa sub-janela sem alterar o nome do ficheiro.
Todos os objectos são eliminados numa subjanela, se o indicador era o primeiro da lista de indicadores de uma subjanela no momento da sua eliminação
Ao apagar o primeiro indicador da lista de indicadores numa subjanela, todos os objectos da subjanela são removidos ANTES de Deinit()
Vamos eliminar não o primeiro, mas o primeiro da lista
Executar o conselheiro no modo "Todos os tiquetaques" no MQ-Demo
Resultado
O tempo do primeiro tick gerado é maior do que o segundo - bug.
Reprodução ZS
Copiar o conteúdo do arquivo anexo para a caixa de areia.
Executar guião no MQ-Demo
Será criado um símbolo TESTER personalizado. Seleccioná-lo no Testador. Definição: Optimização lenta, Todas as carraças.
Adicionar este EA
Separador Opções
Iniciar Optimização e ver loop infinito
No Testador, as ordens remotas sobre "sem dinheiro" são atribuídas a tempo zero de fecho
Isto é um insecto, é claro.
Serei eu o único com uma imagem deste post que não abre num novo popup? Mozilla FireFox 59.0.2 (64bit)
Ou seja, a imagem que está na citação não se abre.