Erros, bugs, perguntas - página 578

 
Fia:

2) Existe uma função no MQL5 para eliminar um elemento (um no meio da matriz) de uma matriz dinâmica i? Se não, qual é a melhor maneira de o fazer com a língua?

Não existem funções prontas para tal na língua, mas a Biblioteca Standard contém Object Class Basic CArrayObj
 

Boa tarde

Por favor, diga-me como interpretar o gráfico de equilíbrio/equidade neste exemplo


Porque é que os gráficos divergem imediatamente num ponto e convergem em momentos diferentes (pelo mesmo nível em "y"). Parece que no momento de abrir o gráfico de balanço não sabe que vai aumentar.

Ou talvez eu não o compreenda.

Obrigado.

 
papaklass:
Ok, a sua posição é clara. De facto, vamos terminar com esta nota. Obrigado pelo tempo que dedicou a responder às minhas perguntas.

Vou explicar com um exemplo simples.

Uma mulher pode ter um bebé em nove meses. Nove mulheres não darão à luz um único filho no espaço de um mês.

Esta é a questão sobre a possibilidade de processar vários carrapatos consecutivos em paralelo em vários fios. A questão é que na maioria dos casos o resultado do processamento de um tick tem um grande impacto no resultado do processamento do tick seguinte. Grosso modo, em 4 fios pode obter 4 operações comerciais em simultâneo em vez de uma no primeiro tick

 
olyakish:

Olá.

Por favor, diga-me como interpretar o gráfico de equilíbrio/equidade neste exemplo


Porque é que num ponto os gráficos divergem de uma vez, e convergem em momentos diferentes (ao mesmo nível de "y"). Parece que no momento de abrir o gráfico de balanço não sabe que vai aumentar.

Ou talvez eu não compreenda alguma coisa.

Obrigado.


no bar onde o comércio foi aberto, o preço subiu e o comércio ficou no vermelho, mas não fechou - ocorreu um sorteio, no bar seguinte "moveu-se para a direita" e talvez no último ou penúltimo bar tenha sido inferior ao preço fechado e, portanto, o capital próprio tornou-se mais alto do que o resultado final, no último bar o comércio foi fechado e o capital próprio tornou-se igual ao saldo

E teve duas transacções, uma com lucro e a outra fechada com nulo, mas o capital continuava a oscilar.

 
Rosh:
Não há funções prontas para tal na língua, mas a Biblioteca Standard tem A classe base de objectos CArrayObj
Obrigado pelas respostas!
 
Lazarev:

no bar onde o comércio foi aberto, o preço subiu e o comércio ficou no vermelho, mas não fechou - ocorreu um sorteio, no bar seguinte "moveu-se para a direita" e talvez no último ou penúltimo bar tenha sido inferior ao preço fechado e é por isso que o capital próprio se tornou mais alto do que o resultado final; no último bar o comércio foi fechado e o capital próprio ficou igual ao saldo

E tinha dois negócios, um era lucrativo e o outro era fechado com capital zero que ainda oscilava

>No mesmo bar onde o comércio foi aberto, o preço subiu e o comércio desceu mas não fechou - ocorreu um sorteio,

levantamento de capitais próprios, mas não em equilíbrio. => o equilíbrio deve estar numa linha (não mudar)

>Você tem duas transacções, uma das quais acabou por ser lucrativa e a outra fechou com capital zero (no entanto, o capital continuava a oscilar).

Na realidade esta é uma transacção que consiste em vender (abrir uma posição de venda) e comprar(fechar uma posição de venda)

 
papaklass:

2. Deveria descer ao meu nível e explicar-me a mim e a outros como eu, sem esnobismo, numa linguagem que eu possa compreender. Porque é que num testador, numa única corrida, não se pode usar toda a potência do computador? Penso que a parametrização de manipuladores de eventos também pode ser referida ao mesmo tópico.

Tentei apenas explicar-vos. Não se pode processar carraças consecutivas em paralelo, porque o resultado do processamento de uma carraça afecta o processamento da carraça seguinte.

Onde poderiam ser utilizados cálculos paralelos num testador? Apenas no cálculo de indicadores. Enquanto um tick está a ser processado, calculamos os valores do indicador para o(s) tick(s) seguinte(s). Morreremos em sincronização e despacho e não teremos qualquer lucro. Temos gasto (e ainda gastamos) muito tempo para aumentar o desempenho do sistema, e também considerámos esta possibilidade.

A parametrização dos manipuladores de eventos é uma questão ligeiramente diferente. E ainda não desistimos dos eventos parametrizados

 
Funções padrão de conversão tipo int para Exemplo

duploMathRound(
valor duplo//valor arredondado
);

Devolve erros duplos mas os avisos são muito incómodos

possível perda de dados devido à conversão do tipo Tester.mqh 192 20

0 erro(s), 22 aviso(s) 1 23

Existe algum método de trabalho.

Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - Документация по MQL5
 
ivandurak:

Existe algum método para contornar o .spz

Dar os tipos explicitamente. Então não haverá avisos.

Isto é

int i = int(MathRound(5.5));
или
int i = (int)MathRound(5.5);
 

papaklass:

2. Deveria descer ao meu nível e explicar-me a mim e a outros como eu, sem esnobismo, numa linguagem que eu possa compreender. Porque é que num testador, numa única corrida, não se pode usar toda a potência do computador? A parametrização dos manipuladores de eventos, penso eu, também pode ser referida ao mesmo tópico.

1. A parametrização pode ser feita. Mas é caro para os criadores e obviamente não é uma prioridade.

2. Não se pode realmente implementar o threading nesta orquestração. Não só será caro pelo tempo e outros recursos, mas sob a forma de uma solução padrão causará muitos problemas para a maioria dos utilizadores (que obviamente não são programadores profissionais).

É necessário alterar a arquitectura da própria plataforma ou criar algo muito pesado e associado a recursos e tecnologias adicionais.