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
потому что вы берете каждый раз новое время тика, и оно конечно не равно предыдущему.
Na última função, o tempo de início do bar foi o tempo de início do bar. por isso, também aqui, tome o tempo do bar, não o tempo do carrapato.
Explicar a alguém que não compreenda qual o parâmetro no código a alterar para qual parâmetro.
Como descrever o tempo da barra, não o tempo do carrapato?
Explicar a alguém que não compreenda qual o parâmetro no código a alterar para qual.
Como descrever o tempo do bar em vez do tempo do tick?
Explicar a alguém que não compreenda qual o parâmetro no código a alterar para qual.
Como descrever a hora de um bar e não de um carrapato?
Aqui está uma descrição popular do manipulador de eventos do "novo bar
Em geral, não seja preguiçoso para, por vezes, olhar para artigos e base de código antes de fazer uma pergunta
Вот тут все популярно описано Обработчик события "новый бар"
Em geral, não seja preguiçoso para olhar para artigos e bases de código antes de fazer uma pergunta.
Em mql4 podia-se descobrir em cinco linhas se o bar era novo ou não. E agora um monte de ficheiros foram escritos, não está claro onde colocá-los, o que escrever dentro do programa...
Em suma, se houver peritos, então dê-me um exemplo de código, para que eu não sofra, e eu próprio possa enviar qualquer pessoa para a biblioteca, seja para a electrónica ou para a verdadeira.
Não duvido, mas peço apenas para verificar a marca - alguém criou uma e a mesma EA em mql4 e mql5 e comparou os resultados do teste? Deve ser perfeito-similar se o código for devidamente transformado, não é verdade? Ou estarei eu errado?
Se o teste for tanto perbar como em mql5 a lógica é colocada no onTick, então será semelhante.
A única diferença pode estar nos spreads. Em 5, o historial contém os spreads. Na versão 4, o spread do testador é igual ao spread actual no terminal.
Se testar "cada carrapato", parece que será ainda menor, uma vez que os algoritmos de geração de carrapatos são diferentes nas versões.
Em mql4 podia-se descobrir em cinco linhas se o bar era novo ou não. E agora foi escrito um monte de ficheiros, não sei onde colocá-los, o que escrever dentro do programa...
Em suma, se houver peritos, então dê-me um exemplo de código, para que eu não sofra, e eu próprio possa enviar qualquer pessoa para a biblioteca, electrónica ou real.
Aqui, declarar variável de última barra como estática ou globalmente, iTime array globalmente
Há um exemplo na página com a função isNewBar
https://www.mql5.com/ru/forum/2804/38752#comment_38752
1. Não pedi nada sobre os resultados de testar as mesmas estratégias em mql4 e mql5.
Costumava entrar no mercado numa nova barra se as condições preenchessem os requisitos de entrada e fechar a posição se os indicadores mostrarem o sinal oposto e entrar novamente numa nova barra.
No mql4 utilizei este procedimento para entrar num novo bar:
void Fun_New_Bar() // Ф-ия обнаружения ..
{ // ... novo bar
data/hora estática New_Time=0; // Hora da barra actual
Novo_Bar=falso; // sem novo bar
if(New_Time!=Time[0]) // Comparar tempos
{
New_Time=Time[0]; // Agora o tempo é
Novo_Bar=verdadeiro; // Novo bar é apanhado
}
}
Este é o resultado de testar o robô no mql4 usando a minha estratégia:
Obrigado por enviar os procedimentos para determinar o novo bar. Eles estão a trabalhar. Fiz um guião que escreve Alerta num novo bar e testei-o no M1 para não esperar muito tempo.
Mas a mesma estratégia dá resultados completamente diferentes (e os mesmos) utilizando ambos os procedimentos em mql5 Expert Advisor:
Não tenho rasgado a minha camisa e pisado os meus pés por nada. Quero repetir os resultados, mas eles não coincidem.
Eis como se parece aproximadamente a função onStart em mql4
int start()
{
GetIns();
Fun_New_Bar();
se (New_Bar==false) return(0);
se (Total()>0)
{
CloseSellEnd();
CloseBuyEnd();
}
se (Total()<1)
{
OpenBuy();
OpenSell();
}
return(0);
}
O mesmo em mlq5:
nulo OnTick()
{
GetIns();
se (NewBar())
{
se (Total()>0) TryToClose();
se (Total()<1)
{
OpenBuy(Lots,10, "EUR/USD (Comprar)",102406);
OpenSell(Lots,10, "EUR/USD (Sell)",102406);
}
}
}
GetIns para processar parâmetros indicadores, e Total() - dá o número de posições com a magia necessária para mql4 ou com o símbolo necessário para mql5.
Ajuda.
Penso ter encontrado a razão para a discrepância. Não vai acreditar nisso. Os MT4 e MT5 têm um historial de citações diferente. Parece ser ligeiramente diferente e a estratégia é testada com uma enorme diferença!!!!
Aqui está uma parcela em diferentes terminais:
Se olharmos mais de perto, há uma diferença. Um pequeno? E qual é a diferença entre os resultados do teste da estratégia, também pequena???
Contactarei os programadores! Que beta!!!