Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 163

 
zlodei:

Escrevi o indicador mais simples em mql4, queria traduzi-lo para mql5, e tenho lutado durante uma semana, mas não está a funcionar! Estou a ficar nervoso, odeio mql5 porque já escrevi 88 linhas de um simples indicador de 34 linhas em mql5!

Aqui está o código no mql4:

E aqui está o código no mql5:

Aslinhas indicadoras não são exibidas correctamente em MT5.

Que fiz eu de errado?

Boa gente, ajuda-me, tem piedade do pobre, estou à beira de um colapso, honestamente. É uma pena que não se possa jurar aqui!

Moderador, não me banas, primeiro dá-me um aviso se algo estiver errado.

É necessário o ArraySetAsSeries(..., verdadeiro), para todos os amortecedores (em OnInit()), e tudo funcionará. // Em MT5, por defeito =falso.
 
papaklass:

Dê uma vista de olhos em https://www.mql5.com/ru/docs/indicators

Existe aí um código de indicadores padrão

Obrigado!

Talvez não tenha feito a pergunta correctamente, eu próprio a tenha percebido, estava à procura disto:

Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - Документация по MQL5
 
MetaDriver:
É necessário o ArraySetAsSeries(..., verdadeiro), para todos os amortecedores (em OnInit()), funcionará. // Em MT5, por defeito =falso.

Isto não ajuda... Porque em TODOS os sinais há múltiplas (dezenas de milhares de vezes) chamadas das funções CopyOpen e CopyClose, o que leva ao congelamento do indicador e, em alguns casos, do terminal.

Além disso, na CopyOpen é óbvio que a matriz é excedida, e em mql5 leva a uma paragem da execução do programa. E a terrível carga de CPU, ao que parece.

Документация по MQL5: Программы MQL5 / Выполнение программ
Документация по MQL5: Программы MQL5 / Выполнение программ
  • www.mql5.com
Программы MQL5 / Выполнение программ - Документация по MQL5
 
Fleder:

Isto não ajuda... Porque em TODOS os sinais há múltiplas (dezenas de milhares de vezes) chamadas das funções CopyOpen e CopyClose, o que leva ao congelamento do indicador e, em alguns casos, do terminal.

Além disso, na CopyOpen é óbvio que a matriz é excedida, mas em mql5 leva a uma paragem da execução do programa. E a terrível carga sobre a CPU, como acontece...

Que algoritmo terrível que você tem).
 
zfs:
Que algoritmo arrepiante que tem).
Esse algoritmo arrepiante não é meu. É que a pessoa (autor) pediu ajuda e foi educadamente mandada embora!
 
Fleder:
Este algoritmo arrepiante não é meu. É que a pessoa (autor) pediu ajuda e foi educadamente mandado embora!
A única coisa que falta fazer é resolver o problema consigo).
 

Boa tarde !

Pode dizer-me como estou a aprender a negociar na demonstração.

Fiz um curto-circuito com o stoploss, após 10 minutos de pausa e as citações não estavam a carregar a partir do servidor. Após o download, um castiçal de 5000 pips saltou e parou fraco.

É uma falha da demonstração? Ou pode acontecer com uma conta real?

Já o descarreguei mas ainda não o descarreguei.

 
sbr080:

Boa tarde !

Pode dizer-me como estou a aprender a negociar na demonstração.

Fiz um curto-circuito com o stoploss, após 10 minutos de pausa e as citações não estavam a carregar a partir do servidor. Após o download, um castiçal de 5000 pips saltou e a paragem foi fraca.

É uma falha da demonstração? Ou pode acontecer com uma conta real?

Já o descarreguei mas ainda não o descarreguei.

A demonstração é simulada, não há garantias de funcionamento normal nela. As paragens podem funcionar em qualquer conta.
 

sbr080:

Ou isso também acontece numa conta real?

O que é que acontece?

picos de uma centena de pips?

ou um negócio perdido?

 

Cavalheiros, por favor digam-me o que escrever nas duas últimas linhas quando modificam uma ordem pendente, se a sua vida útil estiver definida. (por exemplo, 6 horas - ).

request.type_time = ORDER_TIME_SPECIFIED; // a encomenda estará activa até à data de expiração
request.expiration = TimeCurrent()+6*3600;//longa última hora conhecida do servidor + número de horas*horas

Se a vida útil não mudar, não podemos escrever nada ao modificarmos? Por defeito, morrerá por si só.

E se precisar de mudar a sua vida?

Modificar a Ordem Pendente

Pedido comercial para modificar níveis de preços de encomenda pendentes. São necessários 7 campos:

-acção

- encomenda

-preço

-sl

-tp

-type_time

-expiração

Estas são as duas linhas do Manual em que não consigo entrar:

type_time

Tipo de encomenda na data de expiração. O valor pode ser um dos valores ENUM_ORDER_TYPE_TIME

expiração

Prazo de validadeda encomenda pendente (para encomendas ORDER_TIME_SPECIFIED)

Por favor, escreva como devem parecer no perito, ao modificar, eu compreenderei. Obrigado de antemão.
Razão: