Erros, bugs, perguntas - página 941

 
Rosh:

Veja na ajuda integrada do terminal - MetaTrader 5 AjudaComeçarLançamento do Terminal:

Se não quiser ter problemas com o sistema de segurança - não instale o terminal em/Program Files/ .

Leia também o artigo Um mergulho rápido na MQL5


Obrigado .....
 
Yedelkin:

Eu queria criar um script que inspeccionasse a linha do indicador (semelhante ao MA, mas numa janela separada e redefinido para 0, mas esse não é o ponto) para a oscilação para zero, cruzamentos, etc., então o script muda os parâmetros do indicador e análise novamente, o resultado é uma tabela com os dados, ou melhor, um ficheiro com os resultados

não posso usá-lo como um script, por isso agora faço como corujas que olham através dos valores do indicador durante a optimização e os guardam na função DeInit, adicionando os dados durante cada passagem. O resultado será a mesma tabela com os mesmos 10000 valores do indicador


mais sugestões serão bem-vindas

 

Em suma, funcionou, embora seja mais lento através do testador do que através do guião, mas qualquer número de indicadores,

E quando testei tive de desactivar todos os núcleos, só testei em 1 porque os resultados estão divididos em várias partes, mas penso que é mais fácil copiar tudo para 1 ficheiro do que esperar

 

Porque é que o terminal.exe carrega um processador de 2x núcleo 50% quando existem 7-10 indicadores personalizados activos, o MT4 não carrega ?

Переход на новые рельсы: пользовательские индикаторы в MQL5
Переход на новые рельсы: пользовательские индикаторы в MQL5
  • 2009.11.23
  • Андрей
  • www.mql5.com
Я не буду перечислять все новые возможности и особенности нового терминала и языка. Их действительно много, и некоторые новинки вполне достойны освещения в отдельной статье. Вы не увидите здесь кода, написанного по принципам объектно-ориентированного программирования — это слишком серьезная тема для того, чтобы просто быть упомянутой в контексте как дополнительная вкусность для кодописателей. В этой статье остановимся подробней на индикаторах, их строении, отображении, видах, а также особенностях их написания по сравнению с MQL4.
 
dav1977:

Porque é que o terminal.exe carrega 50% do CPU no núcleo 2x com 7-10 indicadores personalizados activos, o MT4 não carrega?

Não há detalhes suficientes. Como se compara? Que indicadores exactamente? O que mais se está a passar no terminal? Tem o código fonte dos indicadores? Em que símbolo/período?

 
A minha impressão é que o MT5 funciona com um único agente CPU. Ou seja, num processador de 4 núcleos MT5 carregaria 25% da potência. Por exemplo, ao testar ou trabalhar normalmente no meu 2 núcleo é também 50%, mas ao optimizá-lo carrega todos os agentes e vai até 100%.
 

Olá. O problema em MetaTrader FOUR

Problema com ordens pendentes no testador, especificamente a data de expiração.

   ticket=OrderSend(symb, OP_SELLLIMIT, Lots, price, Slippage, 0, 0, lsComm, mn, TimeCurrent() + 60*60, op_color);

É assim que uma nova encomenda é aberta, ou seja, se não tiver sido accionada numa hora, o servidor deve fechá-la.

Depois verifico qual é a data de expiração:

   if (ticket>0)
   {
    OrderSelect(ticket, SELECT_BY_TICKET);
    Alert("OrderExpiration = ", TimeToStr(OrderExpiration(), TIME_DATE),":",TimeToStr(OrderExpiration(), TIME_MINUTES)); 
.......
   } 

Isto é o que recebo quando a EA trabalha no testador:

2013.03.01 12:45:58 2012.01.11 11:00 #advisor# EURUSD,H1: aberto #1 limite de venda 2.00 EURUSD a 1.27972 ok
2013.03.01 12:45:58 2012.01.11 11:00 #advisor# EURUSD,H1: Alerta: Expiração da encomenda = 2012.01.11:12:00
2013.03.01 12:45:58 2012.01.12 16:29 Testador: encomenda #1, venda 2,00 EURUSD é aberta a 1,27972

Ou seja, a data e hora de expiração são definidas correctamente, como eu quero, mas não há nenhum fecho no momento da expiração - uma posição é aberta após 24 horas.

Procurei em alguns fóruns, o problema ocorreu durante muito tempo.

 
alexvd:

Poucos detalhes. Como se compara? Que indicadores? O que mais se está a passar no terminal? Tem o código fonte dos indicadores? Em que símbolo/período?

Comparando os indicadores em MT4, escrevi e transferi para MT5. Apenas indicadores em terminal. Tenho fontes. Os fuchs RTS não dependem do símbolo. Período M1

O problema é que, devido à carga de CPU, os novos castiçais e os preços deixam de desenhar !!!!!!!!!!!!!!!.

(Figuras https://www.mql5.com/ru/forum/9926/page4 )

БКС запустила MetaTrader 5 на ФОРТС
БКС запустила MetaTrader 5 на ФОРТС
  • www.mql5.com
MetaTrader 5 - программа, предназначенная для торговли через интернет на рынке ФОРТС и других финансовых рынках.
 
dav1977:

Comparando os indicadores em MT4, escrevi e transferi para MT5. Apenas indicadores em terminal. Tenho fontes. Os fuchs RTS não dependem do símbolo. Período M1

O problema é que por causa da carga de CPU novos castiçais e preços STOP desenho !!!!!!!!!!!!!!!

(Figuras https://www.mql5.com/ru/forum/9926/page4 )

Tenho uma suspeita de que a transferência de 4 pode ter sido feita sem ter em conta as características de 5. E a carga da CPU e a renderização dos castiçais é apenas uma consequência de cálculos demasiado pesados ou de ciclos de espera, etc. no OnCalculate.
 

Boa tarde a todos! Peço a ajuda de pessoas experientes.

A situação é a seguinte. Estou a tentar um MT5 em forex. Tenho um Consultor Especialista que coloca ordens Stop Buy e Stop Sell pendentes através do sinal.

Ao executar o Expert Advisor no testador de estratégia, noto que uma ordem Stop Buy colocada pelo Expert Advisor é accionada (é aberto um negócio) mais cedo do que deveria estar de acordo com o preço a que a ordem deve ser executada.

A estrutura de um pedido comercial para colocar uma ordem Stop Buy pendente é a seguinte:

mrequest.action = TRADE_ACTION_PENDING;                                         
mrequest.symbol=_Symbol;                                                       
mrequest.volume= Lots;                                                         
mrequest.price = NormalizeDouble(mrate[1].close+StopSell*_Point,_Digits);        
mrequest.stoplimit = NormalizeDouble(mrate[1].close+StopSell*_Point,_Digits);    
mrequest.tp = NormalizeDouble(mrate[1].close+StopSellTake*_Point,_Digits);       
mrequest.type = ORDER_TYPE_BUY_STOP;                                            
mrequest.type_filling = ORDER_FILLING_RETURN;                                      
mrequest.type_time = ORDER_TIME_SPECIFIED_DAY;      
mrequest.expiration = TimeCurrent();

Em expressões

mrate[1].close+StopSell

и

mrate[1].close+StopSellTake

Não há erro, eles dão-nos o preço a que a ordem deve ser executada e o preço Take Profit.


Correspondentemente, a minha pergunta é: a que preço é que a MT5 verifica as condições de activação das ordens Stop Buy e Stop Sell pendentes - ao preço Ask and Bid ou ao preço da última transacção?

Uma vez que vai utilizar o Consultor Especialista no verdadeiro FORTS, quero que o preço de desencadeamento seja o último preço de negociação.

Tenho uma suposição de que o preço de desencadeamento do teste ou é pedido ou licitado; portanto, o preço de desencadeamento apropriado não está disponível no gráfico ao último preço comercial. Li no manual que "A ordem de disparo para instrumentos no "modo de execução de troca" é executada ao último preço (preço de uma última troca executada). Verifico o modo de execução para o símbolo que preciso RIH3

Print("Режим исполнения сделок: ", SymbolInfoInteger(_Symbol, SYMBOL_TRADE_EXEMODE));

o terminal retorna "Modo de execução do comércio: 3". 3 parece ser uma execução de acções, ou seja, o preço de desencadeamento deve ser o Último. Mas as ordens pendentes são executadas como antes, quando o preço de disparo ainda não está no gráfico.

Estou a testar no servidor de demonstração do corretor FORTS.