Erros, bugs, perguntas - página 579

 

olyakish:

>E tem aí duas transacções, uma que deu lucro e outra que fechou a zero, mas o capital continuava a flutuar.

na realidade, esta é uma transacção que consiste em vender (posição aberta para vender) e comprar(posição fechada para vender)

Exactamente, isto é um duplo negócio In - abre uma posição, e Out - fecha-a (tanto quanto me lembro há também InOut - um contra negócio para uma posição existente).

A regra é que existe uma posição, e pode haver tantas ordens e negócios nela quantos se quiser.

 
papaklass:

O que não é claro é o seguinte:

Temos dois EAs monovalorizados, cada um trabalhando no seu próprio fio e com o seu próprio instrumento único, com o seu próprio conjunto consecutivo de carraças. Estes dois conjuntos consecutivos de carraças são independentes um do outro. Por exemplo, os carrapatos GBPUSD entram. Será que afectam o EURUSD? EURUSD tem o seu próprio fluxo independente de citações. Estou certo ou estou errado sobre alguma coisa? Se estou certo, porque não podem estas duas correntes independentes ser distribuídas em núcleos diferentes? É isso que não está claro para mim.

Se estamos a falar de dois Conselheiros Especialistas que executam gráficos diferentes, estão a beneficiar plenamente da capacidade multi-core porque trabalham em fios diferentes.

Se estamos a falar de testes paralelos, é possível lançar dois terminais de clientes a partir de pastas diferentes e executar dois testes simultaneamente. Os agentes funcionarão em núcleos diferentes.

 
Interesting:

São apenas duas transacções In - abre uma posição, e Out - fecha-a (tanto quanto me lembro, há também InOut - uma contra transacção para uma posição existente).

A regra é - há uma posição, e pode haver tantas encomendas e negócios nela quantos quiser.



Ok, concordo, eu não tinha bem razão.

No meu caso, existe um ciclo normal (mínimo): abrir uma posição , fechar uma posição.

Em seguida, criar uma posição bid-order-deal-ask, depois um bid-order-buy deal (vender fechar).

Pergunta substantiva - por favor comentar o gráfico de equidade/balanço no testador.

 
papaklass:

Perdoem a minha aspereza. Compreendo o teste destacado quando se trata (texto) de um único fluxo (instrumento financeiro). Isto é, temos um consultor especializado monovalor que trabalha com um símbolo. Os carrapatos são processados de forma consistente nele e não faz sentido processá-los em paralelo. Estou a ver.

O que não é claro é o seguinte:

Temos dois EAs monovalorizados, cada um trabalhando no seu próprio fio e com a sua própria ferramenta, com o seu próprio conjunto consecutivo de carraças. Estes dois conjuntos consecutivos de carraças são independentes um do outro. Por exemplo, os carrapatos GBPUSD entram. Será que afectam o EURUSD? EURUSD tem o seu próprio fluxo independente de citações. Estou certo ou estou errado sobre alguma coisa? Se estou certo, porque não podem estas duas correntes independentes ser distribuídas em núcleos diferentes? É isso que não está claro para mim.

stringo:

Se estamos a falar de dois EAs a trabalhar em gráficos diferentes, eles beneficiam plenamente dos multiconjuntos porque trabalham em fios diferentes.

Se estamos a falar de testes paralelos, é possível lançar dois terminais de clientes a partir de pastas diferentes e executar dois testes simultaneamente. Os agentes funcionarão em núcleos diferentes.

1. os EAs localizados em diferentes gráficos (idealmente em símbolos diferentes) tiram realmente o máximo partido das multi-tarefas/multi-core. Também pode gerir vários terminais da maneira antiga (por exemplo, se negociar várias contas).

2. Quando falei de multi-tarefas, referia-me a trabalhar com um único consultor especializado. Não importa como e por que meios o processamento simultâneo pode ser organizado.

Não faz sentido organizar tal processamento dentro deste quadro, ou causará muitos problemas tanto para o programador como para os utilizadores finais(como foi mencionado por Renat e Stringo).

Mas existe uma solução, pelo menos teórica, embora eu não saiba se será possível implementá-la e quanto sentido faz tudo isto.

Tal "multithreading" será possível após a execução de pelo menos duas etapas (os criadores saberão melhor):

a) manipuladores paramétricos para certos eventos (possivelmente acrescentando novos ou alterando os existentes);

b) alteração da arquitectura de todo o terminal para que dentro de um Expert Advisor (apenas para Expert Advisors) alguns manipuladores possam ser executados simultaneamente.

E, tanto quanto sei, sem quaisquer manipuladores paramétricos, não faz sentido falar sobre isso.

3. Do ponto de vista dos criadores, a introdução do processamento paramétrico de carraças é uma questão em aberto. Mas apesar de todos os problemas ligados à sua introdução, podem decidir dar tal passo (tendo adiado a sua realização para um futuro distante). A realização de tudo o que se segue é de um mundo de fantasia e aqui, claro, permanece apenas para sonhar.

Só depois de adicionar o parâmetro ao OnTick será possível dividir e simultaneamente manusear carraças por carácter, até lá a implementação não faz sentido.

PS

Conclusão um - Primeiro OnTick com parâmetros (o nome de um símbolo será suficiente), e depois a continuação da conversa sobre para que serve tudo isto.

Документация по MQL5: Предопределенные переменные / _Symbol
Документация по MQL5: Предопределенные переменные / _Symbol
  • www.mql5.com
Предопределенные переменные / _Symbol - Документация по MQL5
 
papaklass:
Isto é, dentro de um testador, mesmo que a EA seja multi-moeda, as carraças são consistentes (independentemente do instrumento), um fio, um núcleo. Certo?

1. Os tiques na arquitectura existente são tratados apenas pela ferramenta principal (a ferramenta gráfica). Consequentemente, o esquema deve ser consistente.

Neste caso, a existência de múltiplas moedas indica apenas que o Expert Advisor pode solicitar dados de outros símbolos e/ou outras TFs, ao mesmo tempo que é capaz de realizar operações sobre os símbolos seleccionados.

Os testes únicos (e qualquer trabalho do Expert Advisor) são realizados sequencialmente, num só fio. Isto é, apenas um comando (linha de código) de cada vez.

Quando realizamos a optimização de um Expert Advisor, diferentes agentes (ou seja, kernels) recebem a sua própria cópia do Expert Advisor com os seus próprios parâmetros e inputs.

Cada agente executa o teste sequencialmente, mas sequencialmente dentro de si mesmo (outros agentes nem sequer estão conscientes do seu trabalho). Neste caso, o agente só conhece a sua tarefa, claudica sobre todas as tarefas que recebeu de um determinado testador e deu aos agentes, e o utilizador final/teste sabe de todas as tarefas e recebe resultados para todos os passes.

 
papaklass:
Isto é, mesmo que uma EA seja multi-moeda, as carraças são sequenciais (independentemente da ferramenta), um fio, um núcleo. Certo?

Sim, é tal e qual como na vida. Na vida real, todos os tiques são consistentes. Num quantum de tempo, em princípio, não pode haver mais do que uma carraça.

Dois fios funcionam no testador - um para comunicar com o terminal, o outro processa as carraças e testa o Expert Advisor.

Mas a arquitectura do terminal do cliente é tal que as carraças são recebidas pelo terminal do cliente numa única linha e distribuídas por diferentes roscas para cada ferramenta separadamente. Além disso, cada Conselheiro Especialista trabalha no seu próprio fio condutor. Se houver vários núcleos, todos estes fios são distribuídos entre eles.

Um Expert Advisor multimoedas no testador e no terminal ocupa sempre um fio, mas isso não significa que outros fios estejam ociosos nesse momento

 

Boa tarde, estou preocupado com o sistema de encomendas MT5. Não sou contra a rede em geral, mas penso que está em bruto em 5. Tenho tentado descobrir como fazer um bom pivot MT5 para permanecer no mercado se a inversão não tiver ocorrido, mas ou não sou inteligente ou a tarefa é impossível. Notei que a MQ não quer discutir o assunto. Preciso de o descrever em detalhes? Além disso, como se responde a esta pergunta:

O actual sistema de encomendas:

а. Óptimo e não vamos mudá-lo.

б. Precisa de ser melhorado

IMHO: A única forma de organizar o comércio neste momento é que o PC controle sempre o processo. Mas isto é um fardo e nervosismo. Porque é que tenho de me preocupar se existe ou não uma ligação. Vou investir dinheiro significativo no mercado, por isso é importante para mim.

 
Vict:

Boa tarde, estou preocupado com o sistema de encomendas MT5. Não sou contra a rede em geral, mas penso que está em bruto em 5. Tenho tentado descobrir como fazer um bom pivot MT5 para permanecer no mercado se não houver inversão, mas ou sou demasiado burro ou a tarefa é impraticável.


Por favor, enviem-me uma mensagem em privado, iremos discutir.
 
Vict:

...Nos últimos dias tenho tentado descobrir como fazer um bom pivot MT5, para que eu estivesse no mercado se não houvesse pivot, mas ou sou burro ou a tarefa é impossível.

O que quer dizer com "permanecer no mercado se não se verificar inversão"? Como reverter uma posição com a qual tem problemas?
 

Estou a olhar para o mercado como um guarda-ondas. Encontro a primeira vaga e entro no rebote, com o objectivo de um três. Não estou vinculado a nenhuma ordem específica, pelo que as primeiras ondas podem ocorrer tanto para cima como para baixo ao mesmo tempo. Portanto, se tenho uma posição para baixo ou para cima, e um sinal vem na outra direcção, preciso de inverter, mas isso não anula a tendência passada! Se o preço exceder o último salto, temos de refazer a nossa posição anterior. Deve ser confuso, abaixo está a imagem.

Explicação da imagem:

* O sinal alto surge, abrimos uma posição de compra.

* Entra um sinal baixo, não vale a pena tomar uma posição de compra agora. A minha acção em 4 é travar o profit stopLoss no nível 1, takeProfit após o ressalto mais antigo. Como resultado, se o mercado desce, eu fico com uma parte do meu lucro, se volta a subir, espero pelo nível alvo de três.

*O que é que faço no MT5? Por exemplo, inverti uma posição para lucrar. Como reabro a minha compra anterior se o mercado se recuperar? Confiaria eu a minha EA para o fazer (não confiável, quero colocar estes comandos no servidor)? Devo colocar uma BuyStop pendente no nível 1? Mas o que devo fazer se o preço se mover abaixo do ressalto superior, como devo removê-lo?

Arquivos anexados:
x71ec4t1j4.png  15 kb