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
Qual deles?
ambos costumavam funcionar bem, agora não.
2) há frequentemente problemas quando se tenta testar a execução com ligação aos núcleos (funciona com a nona execução). ver a imagem.
Um grupo de telepatas já está a analisar o seu problema.
não é necessário ser um telepata para compreender que iCustom() não funciona como deveria.
para o testar, pode executar o código do Expert Advisor:
duplo tampão[];
ResetLastError();
int MA_handle = iCustom(NULL, 0, "Exemplos\\\\Média Móvel Personalizada", 21, 0, MODE_SMMA);
//int MA_handle = iMA(NULL, 0, 21, 0, MODE_SMMA, PRICE_MEDIAN);
Print("MA_handle = ", MA_handle, " error = ", GetLastError()));
int copy = CopyBuffer(MA_handle, 0, 0, 5, buffer);
if (copy == -1) Print("Failed to get Custom Moving Average indicator");
senão
for (int i = 0; i < 5; i++) Print("buffer[", i, "] = ", buffer[i];
e a mensagem "Failed to get Custom Moving Average indicator values" resultará.
ou seja, CopyBuffer dá um erro (devolve -1) para o indicador iCustom(). se tomarmos o indicador padrão iMA(), o mesmo código funciona!
Olhe para a direcção de indexação da matriz resultante, talvez necessite de ser expandida.
tudo está bem com a direcção de indexação e em construções anteriores isto também funcionou. em 448 e 450 não funciona.
Tenho sugerido muitas vezes que os programadores devem testar a funcionalidade principal do terminal mais minuciosamente,
mas de construção em construção obtêm diferentes erros críticos em vez de erros críticos.
Isto é, uma coisa é fixa e outra que normalmente funcionava parte-se e não há fim à vista.
O deslize antes de copiar os dados, leva tempo a calcular o indicador, por isso mesmo que o cabo regresse correctamente, os dados ainda não foram calculados,
Em geral, recomenda-se chamar indicadores no inite, e solicitar dados já em OnTick() ou outras funções especiais.
mais uma vez, copia-se 5 dados da barra zero, mas no copybuffer zero bar está algures por volta de 1970 (depende das definições da barra máxima), foi por isso que eu disse para olhar para a indexação da matriz.
O deslize antes de copiar os dados, leva tempo a calcular o indicador, por isso, embora o cabo retorne correctamente, os dados ainda não foram calculados.
Sleep(1000); // 1 seg. depois de chamar iCustom() ajudou, MAS. como devo saber quanto tempo demorará o processo de cálculo?
é errado dar o manípulo indicador correcto que aponta para o lixo ! e deve ter funcionado correctamente antes porque não havia tal problema.
em geral, é recomendado chamar indicadores nas iniciais, e pedir dados já em OnTick() ou outras funções especiais.
Essa é uma boa dica para mim, obrigado ) porque se o tivesse feito dessa forma, não teria visto o problema...
Mais uma vez está a copiar 5 dados da barra zero, mas no copyBuffer a barra zero está algures por volta de 1970(depende das definições da barra máxima), foi por isso que eu disse para olhar para a indexação da matriz.
Tanto quanto entendi da documentação de ajuda, em CopyBuffer() barra zero é na realidade "tempo presente", e já quando se copia, a matriz é expandida.
Sleep(1000); // 1 seg. depois de chamar iCustom() ajudou, MAS... como é suposto eu saber quanto tempo demora o processo de cálculo?
é errado dar a pega indicadora correcta que indica o lixo ! e deve ter funcionado correctamente antes, porque não existia tal problema.
As seguintes opções indicadoras (circuladas a vermelho) podem ser definidas programticamente?
Não encontrei uma forma de o fazer.
Não sei se isto é um bug, mas penso que existem erros no código das bibliotecas para todos os tipos de muvings (SignalFrAMA, SignalAMA, SignalMA, SignalDEMA, SignalTEMA) para o mestre, verCSignalTEMA::ShortCondition()
Também na biblioteca SignalMA em
Não sei se isto é um bug, mas penso que existem erros no código das bibliotecas para todos os tipos de muvings (SignalFrAMA, SignalAMA, SignalMA, SignalDEMA, SignalTEMA) para o mestre, ver CSignalTEMA::ShortCondition()
Também na biblioteca SignalMA em
https://www.mql5.com/ru/forum/1111/page391#comment_67358
Dar a linha completa da chamada.
/i:<caminho para a pasta MQL5>.
Dar a cadeia de chamada completa.
Aqui estão todas as opções tentadas:
Após cada tentativa, foi feita uma verificação para ver se o ficheiro existia no caminho
D:\Users\Дмитрий\AppData\Roaming\MetaQuotes\Terminal\44 D6FB562C883F0C70690F3306A3851D\MQL5\Scripts\sInstallerTestScript.ex5
O inluder no caminho
D:\Users\Дмитрий\AppData\Roaming\MetaQuotes\Terminal\44 D6FB562C883F0C70690F3306A3851D\MQL5\Include\InstallerTestInclude\IncInstallerTest.mqh
existe.
A verificação da existência foi realizada pela função: