Erros, bugs, perguntas - página 686

 
abolk:
Outra opção é considerar o preço de abertura como sendo o preço que foi formado na gama de preços anterior. O exemplo da abertura de mercados mostrou que isto é incorrecto.

Não me atribuam este disparate. Repito:

A proposta é elementar: formar as barras de acordo com um modelo de tempo quando o preço de abertura é igual ao preço ACTUAL no momento da formação do minuto. ACTUAL (preço de oferta realmente existente), não o preço de fecho do bar anterior!

O mercado para cada IF abre no momento em que aparece o preço da oferta para esse IF. No mesmo FOREX o mercado não abre para todos os FI de uma só vez.

 
abolk:

O senhor mesmo derivou a regra: "Sem preço, sem barra".

Se o mercado estava aberto, mas não havia liquidez (vendedores ou compradores), não havia preço. Havia ou "preço pedido" ou "preço oferecido", mas na ausência de uma das partes do negócio - o preço estava ausente, havia apenas o preço do período anterior.

E é correcto, quando a decisão sobre o preço em caso de sincronização de múltiplas moedas é feita pelo próprio TS, e não pelo terminal. Porque a questão de qual é o preço em caso de ausência do preço é uma questão ambígua.

OK, Andrew, quase me convenceste.

Então deixe o terminal preencher as barras falhadas pelo growler com NAN - concordo! Mas não as remove irreversivelmente da série temporal (por meios padrão). Só preciso de uma ferramenta de sincronização padrão. Decido por mim mesmo com o que preencher as barras "indefinidas". Mesmo (pelo menos) estou pronto a concordar em não exibir as barras falhadas, embora não me permita comparar visualmente os gráficos de diferentes instrumentos.Mas preciso de citações sincronizadas (por número de barras) para os cálculos. Então a minha pergunta é - sou o único programador original ou alguém mais precisa delas? Que percentagem dos que precisam? Esta percentagem cresce ou encolhe? E finalmente, que compilador gera código mais rápido - MQL5 ou C++?

 
A tarefa é simples, para que o testador dê o mínimo de imprecisões possível. Neste momento, o provador quase sempre mente, dizendo que no momento da formação do minuto o preço era igual ao preço de abertura do bar. Esta é a razão pela qual a arbitragem ocorre sempre a preços abertos no testador, enquanto que não há arbitragem a preços fechados. E, como consequência da utilização do modelo poético de formação de barras, a TC terá de gastar os seus recursos informáticos na sincronização de vários FI em preços de fecho de barras. Os programadores estão a poupar nos jogos para que os utilizadores gastem sempre muitos recursos informáticos em sincronização estúpida no testador. Eles não os deixam fazer esta sincronização antes de executar a optimização.
 
hrenfx:

O mercado para cada IF abre quando existe um preço de fornecimento para esse IF. Em FOREX, o mercado não abre para todos os IFs de uma só vez.

Bem, então a única coisa a fazer é forçar todos os participantes no mercado a agir exclusivamente de uma só vez.

Uma das questões das estratégias multimoedas é se é correcto considerar num dado momento o último preço que teve lugar há tanto tempo e há tanto tempo para ser adequado.

 
abolk:

Uma das questões com estratégias multi-moeda é se é ou não correcto considerar, neste momento, o último preço que ocorreu há tanto tempo como adequado.

Absolutamente correcto, desde que o preço passado esteja relacionado com a sessão de negociação actual. Mais uma vez, tomar o preço das batatas.
Документация по MQL5: Получение рыночной информации / SymbolInfoSessionQuote
Документация по MQL5: Получение рыночной информации / SymbolInfoSessionQuote
  • www.mql5.com
Получение рыночной информации / SymbolInfoSessionQuote - Документация по MQL5
 
hrenfx:
Absolutamente correcto se o preço passado se referir ao período de negociação actual. Voltar a tomar o preço da batata.
Corrigir se tiver em conta o preço passado ao tomar decisões na sessão actual, mas atribuir o preço passado à sessão actual é incorrecto. A definição de preço que dei acima. Devemos distinguir entre "o preço do acto de compra/venda", "o preço da procura" e "o preço da oferta". Nós "não sabemos o preço da oferta". Uma sessão de negociação é baseada no seu "preço de compra/venda". Você, por outro lado, propõe basear a sessão de negociação no "acto de compra/venda" dos preços do período anterior. Porquê transferir estes preços para o período actual, se foram formados no último período e já são conhecidos e podem ser obtidos.
 
abolk:
Correcto quando se tem em conta o preço passado ao tomar decisões na sessão actual, mas é incorrecto relacionar o preço da sessão passada com a sessão actual.

Não é isso que diz aqui?

hrenfx:
Absolutamente correcto quando se relaciona o preço passado com a sessão de negociação actual. Mais uma vez, tomar o preço das batatas.

Diz-me uma falha neste modelo de formação de bares:

Chega um novo minuto - forma-se um bar, cujo preço de abertura é o preço de oferta no momento do novo minuto. Neste caso, se o preço da oferta não estiver disponível no momento do novo minuto (abertura de uma sessão de negociação), não é formada uma barra, ou é formada com o valor NAN (para o preço de abertura, como já pode ser Alto, Baixo e Fechado). Não são formados bares durante uma sessão de negociação fechada.

 
hrenfx:

Diz-me uma falha neste modelo de formação de bares:

Chega um novo minuto - forma-se um bar, cujo preço de abertura é o preço de oferta no momento do novo minuto. Neste caso, se o preço da oferta não estiver disponível no momento de um novo minuto (abertura de uma sessão de negociação), o bar não é formado, ou é formado com o valor de NAN. Não são formados bares durante uma sessão de negociação fechada.

Destacado está incorrecto com base na definição de preço. Equaciona constantementeo "preço da última transacção" com o "preço de uma transacção que ainda não teve lugar". Não só isso, mas já fizemos uma suposição questionável quando equiparamos "último preço comercial" a "preço de oferta". Continua a começar a construir a barra sobre "preços de oferta"? Quais são estes preços? Como é que os conhecemos?
 
abolk:
Destacado está incorrecto com base na definição de preço. Equaciona constantemente"preço da última transacção" com "preço de uma transacção que ainda não teve lugar". Não só isso, já fizemos uma suposição questionável quando equacionamos "preço do último negócio" com "preço de oferta". Continua a começar a construir a barra sobre "preços de oferta"? Quais são estes preços? Como é que os conhecemos?

Continua a atribuir-me alguns disparates, que leu nas entrelinhas. Aqui está um exemplo concreto da implementação da minha sugestão

  1. 00:59:58 - O preço EURUSD chega a 1,2301.
  2. 00:01:00 - o preço de 1.2301 foi válido durante 2 segundos, razão pela qual o preço de abertura da barra 00:01 é igual a ele - 1.2301.

Outro exemplo:

  1. Abertura da sessão de negociação às 00:00:00.
  2. O primeiro preço aparece às 00:02:34 - 1.2301. Depois, num minuto, o preço muda dentro do intervalo de 1,2290 - 1,2310. E ao fim de 00:02:02 minutos, passa a ser 1.2305.

Para este exemplo, temos três barras:

  • 00:00 - {NAN, NAN, NAN, NAN} (OHLC);
  • 00:01 - {NAN, NAN, NAN, NAN} (OHLC);
  • 00:02 - {NAN, 1.2310, 1.2290, 1.2305} (OHLC);

Onde está a falha?

 
MetaDriver:

OK, Andrew, quase me convenceste.

Então deixe o terminal encher as barras falhadas pelo growler com valor NAN - concordo!!! Mas não as remove da série temporal irrevogavelmente (por meios padrão). Tudo o que preciso é de uma ferramenta de sincronização padrão. Eu próprio decidirei com que devo preencher as barras "indefinidas".Posso até (pelo menos) concordar em não mostrar as barras em falta, embora isso me prive da possibilidade de comparar visualmente os gráficos de diferentes instrumentos. Mas para cálculos, preciso de citações sincronizadas (por número de barras).

Não posso dizer nada sobre a presença ou ausência de barras "falhadas" - não é crítico para mim. Além disso, não sei quais são os problemas de implementação. Talvez sejam essenciais e a solução actual é um compromisso por agora. Se é tão importante e não está presente no terminal, o "desenho" de barras "falhadas" pode ser implementado manualmente.