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?
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?
Sergey Dymov uma EA com várias moedas que escrevi em mql4. No testador, é claro, não funciona. Decidi que devo mudar para mql5.
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.
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.
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.
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
for(int cycle=1; cycle<=6; cycle++)
{
int period = per+(CountBuy()+CountSell());
vgran = iCustom(NULL,TF,"Канал_1",period,1,0);
}
Uma dica. Adiciono um indicador via iCustom e faço um loop através deste indicador, mudando 1 instância de parâmetro-período. Como resultado, eu escolho alguma variante e trabalho com ela. Eu levo apenas o último bar. Mas quando paro meu Expert Advisor, noto que ele exibe uma dúzia de indicadores com parâmetros diferentes, e para toda a duração da história. Quando eu modifico um indicador em um histograma (uma janela separada), respectivamente, aparecem dez janelas de histograma. Como remover (não exibir linhas), e não usar o indicador inteiro durante a contagem do ciclo, mas apenas o último valor.
Aleksandr Kononov quando paro meu Expert Advisor, noto que ele exibe uma dúzia de indicadores com parâmetros diferentes, e para toda a duração da história. Quando eu modifico um indicador em um histograma (uma janela separada), respectivamente, aparecem dez janelas de histograma. Como remover (não exibir linhas), e não usar o indicador inteiro durante a contagem do ciclo, mas apenas o último valor.
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
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...
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
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