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

 

Não quero fazer um novo tópico, só não entendo como funciona a EA, talvez meus anciãos possam me dizer algo.

Tenho vários indicadores utilizados em meu Consultor Especialista.

Mas no registro posso ver que um deles é constantemente carregado pela EA e depois descarregado. Eu não entendo este comportamento.

Diz a razão 1, o que significa ? Outros indicadores não são descarregados porque

2017.03.21 12:12:25.316 MTF_WPR USDRUR,H4: uninit reason 1
2017.03.21 12:09:06.551 MTF_WPR USDRUR,H4: initialized
2017.03.21 12:09:06.551 Custom indicator MTF_WPR USDRUR,H4: loaded successfully
2017.03.21 12:07:15.316 Custom indicator MTF_WPR USDRUR,H4: removed
2017.03.21 12:07:15.316 MTF_WPR USDRUR,H4: uninit reason 1
2017.03.21 12:04:12.957 MTF_WPR USDRUR,H4: initialized
2017.03.21 12:04:12.957 Custom indicator MTF_WPR USDRUR,H4: loaded successfully
2017.03.21 11:43:29.316 Custom indicator MTF_WPR USDRUR,H4: removed
2017.03.21 11:43:29.316 MTF_WPR USDRUR,H4: uninit reason 1
2017.03.21 11:38:04.097 MTF_WPR USDRUR,H4: initialized
2017.03.21 11:38:04.097 Custom indicator MTF_WPR USDRUR,H4: loaded successfully
2017.03.21 11:36:15.316 Custom indicator MTF_WPR USDRUR,H4: removed
2017.03.21 11:36:15.316 MTF_WPR USDRUR,H4: uninit reason 1
2017.03.21 11:30:11.582 MTF_WPR USDRUR,H4: initialized
2017.03.21 11:30:11.582 Custom indicator MTF_WPR USDRUR,H4: loaded successfully
2017.03.21 11:06:17.316 Custom indicator MTF_WPR USDRUR,H4: removed
2017.03.21 11:06:17.316 MTF_WPR USDRUR,H4: uninit reason 1
 
harbor:

Não quero fazer um novo tópico, não entendo como funciona a EA, talvez meus anciãos me digam algo.

Tenho vários indicadores utilizados em meu Consultor Especialista.

Mas no registro posso ver que um deles é constantemente carregado pela EA e depois descarregado. Eu não entendo este comportamento.

Diz a razão 1, o que significa ? Outros indicadores não são descarregados porque

Parâmetros de indicadores mal ajustados no iCustom()
 
Obrigado, eu acho que sim.
 
Artyom Trishkin:

Nesta linha eu quero começar a ajudar aqueles que realmente querem entender e aprender programação na nova MQL4 e querem mudar facilmente para a MQL5 - as linguagens são muito semelhantes.

Este será um bom lugar para discutir tarefas, algoritmos de sua solução e quaisquer outras questões, de qualquer forma, relacionadas à programação MT.

Espero que outros membros experientes do nosso fórum se juntem a nós e que o tópico seja de interesse para todos.


Olá


Tenho uma pergunta a fazer. Como escrever um código na MQL4m? Por exemplo, preciso resumir os preços e dividir pelo número desses preços. Considere o seguinte: 1,05000+1,06000+1,07000+1,08000:4= 1,06500



Muito obrigado!

 
isiklik:


Olá

Eu tenho uma pergunta. Como eu escrevo código na MQL4? Por exemplo, preciso resumir os preços e dividir pelo número desses preços. Por exemplo: 1,05000+1,06000+1,07000+1,08000:4= 1,06500.

Muito obrigado!

double res=(1.05+1.06+1.07+1.08)/4.0;
 
Artyom Trishkin:

Muito obrigado, Artyom!


Envelhecer não é uma alegria! Esqueci de lhe dizer o mais importante.

Digamos que tenho um número N de negócios abertos em MT4 em uma direção com preços diferentes.

Como escrever um código, a MT4 tomaria esses preços de um gráfico, os somaria, os dividiria pelo número de negociações em aberto em uma direção. Em seguida, acrescente 200 pips.

O preço obtido prescreveria estes negócios em TakeProfit.

Agora espero que seja só isso. :)


Muito obrigado!

 
isiklik:

Muito obrigado, Artyom!


Envelhecer não é uma alegria! Esqueci de lhe dizer o mais importante.

Digamos que tenho um número N de negócios abertos em MT4 em uma direção com preços diferentes.

Como escrever um código, a MT4 tomaria esses preços de um gráfico, os somaria, os dividiria pelo número de negociações em aberto em uma direção. Em seguida, acrescente 200 pips.

O preço obtido prescreveria estes negócios em TakeProfit.

Agora espero que seja só isso. :)


Muito obrigado!

Você precisa calcular o preço de equilíbrio, e adicionar / subtrair a ele N-número de pips. Procure-o, ou veja como calcular o breakeven
 
Vitaly Muzichenko:
Você precisa calcular o preço de breakeven e adicionar ou subtrair N número de pontos a ele. Procure-o, ou veja como calcular o breakeven

Não, não preciso. Por que preciso de um equilíbrio? Preciso calcular a quantidade de ordens em aberto para dar-lhes um Take total.
 
Maxim Kuznetsov:

você pode calcular "em quantas barras haverá um crossover" (apenas geometria escolar)

e a data a partir desta só pode ser aproximada, as barras só são formadas quando o mercado está aberto, ou seja, elas são diferentes para cada instrumento.

Simplificado, se você souber o calendário com antecedência:

  • adicionar 24 horas ao dia atual, se for sábado/domingo você salta, se for feriado geral você salta, se for feriado bancário você salta.
  • para W1 e superiores você deve levar em conta que o bar semanal começa de sábado a domingo, M1 - como por calendário
  • Para uma TF a menos de um dia, você também tem que levar em conta o tempo de abertura/fechamento do mercado e o cronograma de seu CD
  • quando você muda as datas (pela manhã, ao primeiro tique) você tem que refazer todos os cálculos anteriores

que é tão confuso, que é um grande problema em MT :-)


Se você tem uma semana, deve levá-la em conta.

 
isiklik:

Muito obrigado, Artyom!


Envelhecer não é uma alegria! Esqueci de lhe dizer o mais importante.

Digamos que tenho um número N de negócios abertos em MT4 em uma direção com preços diferentes.

Como escrever um código, a MT4 tomaria esses preços de um gráfico, os somaria, os dividiria pelo número de negociações em aberto em uma direção. Em seguida, acrescente 200 pips.

O preço obtido prescreveria estes negócios em TakeProfit.

Agora espero que seja só isso. :)


Muito obrigado!

Você percorre todas as posições abertas em sua conta e as filtra por número e tipo mágico.
Se você conseguir o tipo certo de posição, você aumenta em 1 o tamanho da matriz de tempo e entra nela o preço de abertura desta posição.
Quando o loop estiver completo, então você terá uma matriz com preços de abertura de todas as posições necessárias.
No loop, somar todos os valores da matriz e, no final do loop, dividir o valor resultante pelo tamanho da matriz.
É isso aí - você tem um preço calculado. Agora adicione o número necessário de pontos*Point() a ele.
E a próxima coisa interessante - se o preço obtido se revelar inferior ao preço de abertura da posição (Buy), não será um Take Profit, mas um Stop Loss
Razão: