Perguntas de Iniciantes MQL4 MT4 MetaTrader 4 - página 130

 
Nikolai Semko:
Você usa o debugger para encontrar seus erros?

Não. Menos de 1 semana de experiência em programação. Tomei um exemplo de um simples EA e tentei adicionar SL, TP, TStop e TStep a ele. Diz que não há erros após a compilação (ver foto acima), mas na verdade (no testador) estas funções não funcionam.

Por favor, informe-me sobre o que preciso fazer. E como proceder.

 
Sergey_M_K:.

Não. Menos de 1 semana de experiência em programação. Tomei um exemplo de um simples EA e tentei adicionar SL, TP, TStop e TStep a ele. Diz que não há erros após a compilação (ver foto acima), mas na verdade (no testador) estas funções não funcionam.

Por favor, informe-me sobre o que preciso fazer. E como proceder ainda mais.

Eu não quero roubar de você. Não quero roubar de você a experiência muito útil de procurar seus próprios erros.

Os erros são uma coisa inevitável, mesmo nos profissionais.

É muito importante poder encontrá-los se você quiser continuar programando.

O Metaeditor tem uma ferramenta indispensável chamada "Debugging".

Passe tempo e domine esta ferramenta, e você não terá que pedir a outros em fóruns para procurar por seus erros.

Você precisa passar pelo programa passo a passo, controlando as variáveis necessárias e o que acontece nelas.

Com a ajuda desta ferramenta, você pode não apenas encontrar seus próprios erros, mas também compreender as peculiaridades de algumas funções.

Você pode ler as informações aqui ou ver a ajuda do MetaEditor.

Você pode ler este artigo.

 
Sergey_M_K:

Olá, amigos, ajudem-me a resolver o seguinte problema: estou tentando escrever um simples Expert Advisor e me deparei com o seguinte: se o SL é definido diferente de 0, então as negociações não são abertas, assim como as funções TP, TStop e TrailingStep não funcionam de forma alguma.

O que devo consertar no código?

Para definir os níveis de Stop Loss e Take Profit, é utilizado o valor real do preço. Enquanto em seu código estes valores não são reais. Por exemplo, se SL for igual a 50 para EURUSD, obteremos o valor de 0,0005. Para uma ordem de compra, o Stop Loss ainda é correto (embora não seja significativo), mas é um erro para uma ordem de venda, uma vez que deve ser maior do que o preço aberto. Se o preço atual do EURUSD for 1,25, o valor do Stop Loss deve estar acima desse nível.

Além disso, não esqueça de verificar os valores obtidos de Stop Loss e Take Profit para se aproximar do mercado, comparando-os com o nível de Stop.

 
Olá, não consigo encontrar uma função que devolva um bilhete para o mais longe possível da posição de mercado. Você pode, por favor, publicá-lo?
 
Kofa:
Olá, não consigo encontrar uma função que devolva um bilhete do mais afastado da posição de mercado. Você poderia postar por favor, quem o tem?

Você encontrará muita coisaaqui.

Только "Полезные функции от KimIV".
Только "Полезные функции от KimIV".
  • 2011.02.18
  • www.mql5.com
Все функции взяты из этой ветки - http://forum.mql4...
 
Vitaly Muzichenko:

Você encontrará muita coisaaqui

Obrigado, Vitaly, mas era aí (e não só) que eu estava procurando. Infelizmente, não há todas as funções de que preciso:

-desembarcao bilhete mais longe da posição de mercado (por magia e direção) ou o mais cedo

-Retorno doslucros para o bilhete

-fecha aposição no bilhete

Você pode me dizer onde obter um, se você souber

 
Bom tempo! Ajude-me a entender, coloquei uma linha de tendência no gráfico, entrei as propriedades, a descrição, fechei, há uma linha de tendência, sem descrição, coloquei o cursor na linha, uma descrição está na janela Obrigado
 
Kofa:

Obrigado, Vitaly, mas era aí (e não só) que eu estava procurando. Infelizmente, todas as funções de que preciso estão faltando:

-desembarcao bilhete mais longe da posição de mercado (por magia e direção) ou o mais cedo

-Retorno doslucros para o bilhete

-fecha aposição no bilhete

Diga-me onde obtê-lo, se você o conhece.

um bilhete para o mais próximo. Como encontrar o mais distante - acho que você pode adivinhar. Se você encontrou o bilhete, você pode trabalhar com ele se(OrderSelect(ticket, SELECT_BY_TICKET)) { ... }

 
Olá! Estou fazendo um EA sob duas condições!!! Portanto, na primeira condição, tudo deve funcionar na m15, e na outra na n4!!! Você pode me dizer como isso pode ser feito?
 
sviter-pro:
Olá! estou fazendo um Expert Advisor de acordo com duas condições! Bem, a primeira condição deve funcionar na m15 e a outra na n4!!! Você pode me dizer como isso pode ser feito?

Pegue dados de diferentes TFs. Por exemplo, o preço de abertura da barra atual em diferentes TFs (os valores corresponderão apenas aos primeiros 15 minutos da barra H4):

double fOpenM15 = iOpen(Symbol(), PERIOD_M15, 0);
double fOpenH4 = iOpen(Symbol(), PERIOD_H4, 0);

O momento mais difícil quando se trabalha com diferentes TFs é a sincronização de dados. Porque a numeração das barras em diferentes TFs é diferente.

Razão: