Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1891
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
Obrigado. Vou trabalhar com isso. O manual é uma bagunça.
Parece estar adaptado...
Todos dizem que o mql5 é mais rápido que o mql4. Então tenho uma pergunta a fazer. Por que o mesmo Expert Advisor foi executado em 164 ms em mql4 e 527 ms em mql5? Qual poderia ser o problema?
A adaptação parece ter funcionado...
Todos dizem que o mql5 é mais rápido que o mql4. Então tenho uma pergunta a fazer. Por que o mesmo Expert Advisor funciona em 164 ms em mql4 e 527 ms em mql5? Qual poderia ser o problema?
Com o que e como você mediu o desempenho?
Adaptei todos os erros do compilador e os consertei. EXCEPTO para o uso de indicadores técnicos. Eu tenho muito pouca idéia do que fazer com esta EA. A documentação é incompreensível e cobre duas páginas. Talvez eu esteja procurando no lugar errado.
Uma linha de código em mql4 como segue
duplo MA1EURGBP_TF = iMA("EURGBP",15,MA1_Period,0,MODE_EMA,PRICE_OPEN,0);
ou
duplo Stoch_M_GBPUSD=iStochastic("GBPUSD", Stoch_Period, K_Period, D_Period, Slowing, MODE_EMA, 0, MODE_MAIN, 0);
De acordo com a documentação, a página inteira do código muda em mql5. Alças, amortecedores, matrizes com parâmetros, isto para init, isto para calcular, manipulação de erros durante a criação de alças... isto é uma loucura... Talvez eu esteja procurando no lugar errado.
E se eu uso vários pares e vários prazos, recebo "Guerra e Paz" lá.
No 4ka, a parte informativa deve funcionar com outros símbolos, a parte do pedido não. Mas devemos primeiro carregar os símbolos necessários no arquivo de citações. Não funcionava antes. Ele trabalhará para a profundidade de carregamento do arquivo por meio de um símbolo. Você pode ver a data no arquivo.
Mais conselhos, por favor.
Transferi a EA para o mt5, tudo parece estar funcionando. Escrevi um indicador personalizado no mt4 para verificar a exatidão da execução, também estou movendo-o para o mt5.
Eu adaptei o indicador, parece que ele também funciona, mas não muito bem.
1) não funciona apagando objetos da tabela ao desinstalar. Acho que não há lugar para cometer um erro.
int OnInit()
{
ObjectCreate(0, "GBP_S0",OBJ_LABEL,0,0,0);
return(INIT_SUCCEED);
}
nulo OnDeinit(const int razão);
{
ObjectDelete(0, "GBP_S0");
}
2)
Se o fizermos desta maneira:
ExtGBPBuffer[i]=GBPTP;
ObjectSetString(0, "GBP_S101",OBJPROP_TEXT,ExtGBPBuffer[i]));
Então o valor GBP_S101 é exatamente o que estamos procurando. Mas a linha é zero. Como isso pode ser? Ou seja, a linha é desenhada e tudo está bem, cor, largura, tudo, exceto valores.
Mesmo se eu fizer desta maneiraExtGBPBuffer[i]=2; a linha ainda é 0
1) Excluir objetos do gráfico quando a desinstalação não funciona. Parece não haver lugar para errar.
Funciona
Rapazes, avisem sobre o indicador personalizado mql4 construído em MA baseado nos preços de abertura, ele não muda suas leituras com novos tiquetaques chegando, por isso se baseia nos preços de abertura.
No mql5 o indicador adaptado muda suas leituras na zona de transição a cada tique... Também através da abertura de preços, mesmo assim
copy=CopyBuffer(MA2EURJPY,0,1,CountBars,MA2EURJPY_TF);
if(copy<0)
Print("Copy failed MA2EURJPY_MAS");
para fazer uma segunda leitura, mas ainda faz tic-tac para frente e para trás
Funciona
Funciona apenas uma vez, tenho a sensação de que a linguagem está com falhas. Quando eu edito um fragmento não relacionado em mql5, tudo deixa de funcionar...
Tenho a sensação de que a linguagem é muito falsa. Quando eu edito uma seção não relacionada em mql5, tudo deixa de funcionar... Eu também já tive tais situações, mas sempre que descubro "não foi o babina", então não é o babina, então não é o mql4.
Eu também tive situações semelhantes, mas toda vez que se descobriu que "não era o babina", então...
Você pode me dar uma dica?
Em mql4 havia um indicador baseado em MA para o preço de abertura, que permitia evitar a re-encomenda na barra atual. através de int start() ele funcionou bem. Mostrou tudo claramente.
Em mql5, o mesmo indicador não funciona através de int start, ele funciona através de int OnCalculate. Ele continua recalculando e redesenhando, por um segundo a imagem desaparece e pode ter valores diferentes por causa da situação limite com a interseção de dois MAs, embora a distância entre dois MAs esteja definida, isso não ajuda. Pensei que não tiraria o valor 0, mas o 1º do buffer MA, mas não funcionou e também pensei em pular esta função antes da chegada de um novo bar e também não funcionou (até tentei parar de exibir nada). Como superar esta situação?
Ao virar a tabela da direita para a esquerda, também pisca o indicador com recálculo constante