Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 684

 
Sprut112:
Como explicar ao Expert Advisor (padrão Ma) que devemos comprar (vender) somente no momento de cruzar as médias, e não em geral, quando Ma_1> Ma_2. E ele compra constantemente, ele não pode parar

É preciso lembrar na variável que a travessia já aconteceu, e quando ela voltar, reescrever a variável que ela já atravessou novamente. Esta é a variante №1.

Veja o histórico das transações, se a última Comprar, então aguarde o sinal para Vender, e então alternar assim, desta forma é mais confiável

 
Vitaly Muzichenko:

É preciso lembrar na variável que a travessia já aconteceu, e quando ela voltar, reescrever a variável que ela já atravessou novamente. Esta é a variante №1.

Veja a história dos negócios, se a última compra, então aguarde o sinal para vender, e então alternar em círculo, desta forma é mais confiável

Algo muito sábio, você não pode acrescentar algo a essa condição?
 
Sprut112:
Não é complicado acrescentar algo à própria condição?

Qual é o problema? Não é difícil trabalhar com a história, e é ainda mais fácil escrever a intersecção em uma variável.

 
Vitaly Muzichenko:

É preciso lembrar na variável que a travessia já aconteceu, e quando ela voltar, reescrever a variável que ela já atravessou novamente. Esta é a variante №1.

Veja o histórico das transações, se a última Comprar, esperaremos o sinal para Vender, e assim alternaremos por aí, este método é mais confiável

Se estamos falando da última travessia da MA, o comércio ao longo da MA é geralmente mais fácil:

1. controlar a nova barra

2. No novo bar, verificamos a condição:

ma_1[1] >ma_2[1] && ma_1[2]<ma_2[2] - crossover de cima para baixo

ou ma_1[1]<ma_2[1] && ma_1[2]>ma_2[2] - crossover de cima para baixo

se não fizer nenhuma diferença que a MA cruze de cima, então ambas as condições devem ser usadas:

if((ma_1[1]>ma_2[1]  && ma_1[2]<ma_2[2]) || (ma_1[1]<ma_2[1]  && ma_1[2]>ma_2[2])) // пересечение!!!
 
Vitaly Muzichenko:

Qual é o problema? Não é difícil trabalhar com a história, e é ainda mais fácil escrever a intersecção em uma variável.

Tudo bem, obrigado.
 
Igor Makanu:

Quando se trata da última passagem do MA, a negociação no MA é geralmente mais fácil:

1. monitorar a nova barra

2. no novo bar, verificamos a condição:

ma_1[1] >ma_2[1] && ma_1[2]<ma_2[2] - crossover de cima para baixo

ou ma_1[1]<ma_2[1] && ma_1[2]>ma_2[2] - crossover de cima para baixo

se não fizer nenhuma diferença que a MA cruze de cima, então ambas as condições devem ser usadas:

Bem, isso ainda faz sentido.
 

Amigos, vocês poderiam me dizer por que ao otimizar uma EA, a pasta de logs de testes térmicos acumula enormes arquivos de log com o seguinte conteúdo:

2 00:00:01.796 2014.04.01 10:57:30 Testador: #102 apagado devido à expiração

2 00:00:02.221 2014.04.24 08:59:59 Tester: #103 apagado devido à expiraç ão

2 00:00:02.326 2014.04.30 12:57:30 Testador: #104 apagado devido à expiração

2 00:00:02.852 2014.05.29 10:20:00 Testador: pedido #105, venda 0.10 EURUSD é aberto em 1.35871

0 00:00:02.852 2014.05.29 10:22:30 Testador: pare a perda #105 a 1.35910 (1.35876 / 1.35926)

2 00:00:02.941 2014.06.04 01:20:00 Testador: pedido #106, compra 0.10 EURUSD é aberto a 1.36306

0 00:00:02.941 2014.06.04 01:22:30 Testador: pare a perda #106 em 1.36259 (1.36253 / 1.36303)

2 00:00:03.133 2014.06.13 14:03:20 Testador: pedido #107, venda 0.10 EURUSD é aberto em 1.35382

E alguns dos meus EAs escrevem tais logs e outros não. Não consigo me safar.

 


Como isso é possível?

 
Como posso tornar as variáveis de entrada no código EA imutáveis? Por exemplo, p, estou usando um EA em um Macd e não quero que suas variáveis sejam exibidas na janela de ajustes
 
Sprut112:
Como tornar variáveis de entrada imutáveis no código EA? Por exemplo p, estou usando um EA em Macd e não quero que suas variáveis sejam exibidas na janela de ajustes

ler ajuda pressionando F1 no código fonte em "comandos" na entrada ou externo ;)