Erros, bugs, perguntas - página 942

 

stap:

Uma vez que a questão está relacionada com os testes, deve ser tido em conta o seguinte. São geradas sequências de carrapatos durante os testes . São geradas sequências de ticks com base nos valores históricos das ofertas dos 4 pontos de verificação (Aberto, Alto, Baixo e Fechado). Assim, no testador, o Expert Advisor processa as carraças geradas com base nos valores das ofertas.

O segundo ponto. Actualmente, os dados históricos não armazenam valores de preços. Basta ver a tabela na secção"MQL5 Reference- Access to timeseries and indicators". Entre as funções como CopyClose() ou CopyLow() não se pode encontrar a função CopyLast(). Assim, mesmo se desejado, é impossível gerar uma fila de carraças com base nos valores dos preços.

Tente também ler os artigos Fundamentos dos Testes em MetaTrader 5 e Algoritmo de Geração de Carrapatos em MetaTrader 5 Strategy Tester.

 
Yedelkin:

Uma vez que a questão é sobre testes...


Em primeiro lugar, obrigado pela sua resposta rápida. A sua informação revelou-se útil para compreender.

Verifiquei-o e é verdade que as ordens de paragem são accionadas antes do preço indicado na ordem como preço de execução (há um facto de se fazer um verdadeiro negócio) devido aos preços de compra e venda iguais ao preço de execução da ordem.

Assim, acontece que o terminal controla a execução da ordem pendente não pelo preço dos negócios realizados mas pelo preço das cotações de compra ou venda recebidas. Pelo menos, fá-lo no modo de teste EA. Por favor, corrijam-me se eu estiver errado.

Além disso, decidi conduzir uma pequena experiência. A tarefa é descobrir os valores históricos de pedidos e ofertas disponíveis e utilizados para testes de Consultores Especialistas. Entradas: Troca - FORTS, servidor - um dos corretores, instrumento - RIH3, período de 17.12.12 a 12.03.13, Consultor Especialista com código foi testado no Testador de Estratégia a fim de obter valores históricos de Ask e Bid (os testes foram realizados em modo OHLC em M1)

MqlTick last_tick;

if(SymbolInfoTick(Symbol(),last_tick))
     {
      Print(last_tick.time,": Bid = ",last_tick.bid,
            " Ask = ",last_tick.ask,"  Last = ",last_tick.last);
     }
   else Print("SymbolInfoTick() failed, error = ",GetLastError());

O resultado foi interessante. Os valores de Ask e Bid spread revelaram-se constantes e iguais de 10 a 340 pips em diferentes intervalos de tempo. Por exemplo, das 10:00:00 20.02.13 às 18:49:59 25.02.13 o spread em cada tick foi de 140 pontos, e das 19:00:00 25.02.13 às 18:44:59 26.02.13 o spread foi de 30 pontos, mais longe das 19:00:00 26.02.13 às 18:49:59 em cada tick foi de 270 pontos, etc. Claro que não sou um mamute da bolsa, mas os spreads de 140, 270 e mais pips num futuro RTS líquido são uma raridade.

Assim, a minha única conclusão é que, para testar Consultores Especialistas no Testador de Estratégia, o terminal/corretor MT5/ bolsa de valores (não sei quem mais) certamente não oferece preços históricos de Ask e Bid.

Surgem assim duas questões:

1. Como testar com fiabilidade uma EA (=estratégia de negociação) se as ordens pendentes forem executadas em modo de teste usando preços de compra e venda que não correspondam aos seus valores reais. Se eu trabalhar em forex no terminal Quik, tenho a firme convicção de que as ordens pendentes não devem funcionar aos preços de compra e venda (=os preços a que não foram feitos negócios. Por exemplo, para um instrumento de baixa liquidez posso enviar para o preço de venda com um spread enorme), mas apenas se o negócio real for feito na bolsa ao preço mencionado na ordem como o preço de execução.

2. Se os preços de compra e venda no modo de teste não são historicamente fiáveis, então a que preços seria monitorizada a execução de ordens pendentes no modo de comércio real - também a preços de compra e venda? São reais e fiáveis, isto é, provenientes da troca? Se no manual do terminal se afirma que "A execução de todos os tipos de ordens em símbolos com o modo "Exchange execution" é executada pelo último preço (preço de uma última transacção executada)", então porque é que o modo de teste de símbolos com o modo de execução de câmbio mostra que as ordens pendentes são executadas a preço de compra e de venda nas suas propriedades? Ou será apenas em modo de teste e em negociação real, será como descrito no manual, ou seja, as ordens pendentes serão controladas/executadas a preços de negócios que realmente se realizaram?

Peço desculpa por escrever demasiado, pensei em partilhar os meus pensamentos, talvez alguém o considere útil para a história...




 
stap: Assim, parece que o terminal controla a execução da ordem pendente não pelo preço das operações executadas, mas pelo preço das cotações de compra ou venda recebidas. Pelo menos no modo de teste EA. Por favor, corrijam-me se eu estiver errado.

Sabe, devido à falta de uma versão de plataforma para a bolsa de valores russa, ainda não acompanhei o funcionamento do terminal no modo de execução da bolsa. Mas posso propor imediatamente a divisão das questões sobre o funcionamento do terminal no modo de execução de troca e o funcionamento do testador no modo de execução de troca.

Para verificar a correcção da declaração sobre "todos os tipos de ordens a trabalhar ao último preço" quando o terminal está a trabalhar no modo de execução de troca, tente (não consigo pensar em nada melhor ainda) colocar várias ordens pendentes acima e abaixo das cotações actuais e também executar o seu código descrito acima. E tentar rastrear visualmente a que preços (licitação, pedido ou último) as encomendas são executadas.

A tarefa é descobrir os valores históricos de compra e venda que estão disponíveis e são utilizados para testar EAs.

Não é muito correcto falar de "valores históricos de pedir". Escrevi ontem que é gerada uma série de carrapatos com base em certos valores de licitação guardados. Os valores de pedido, por outro lado, são muito provavelmente modelados com base em valores de pedido e de spread. Por exemplo, como testou em modo OHLC na M1, aqui é simplesmente ask===bid+spread.

Não conheço a natureza dos futuros RTS, é por isso que não posso comentar sobre a propagação dos "pips". Mas em EURUSD, por exemplo, um ponto é 0,00001.

Por conseguinte, há duas questões:

Torna-o mais simples. Os criadores conhecem as respostas correctas para a sua situação. Assim, encontre a secção "Service Desk" no seu perfil e peça-lhes que introduzam a possibilidade de processar ordens pendentes em modo de execução de troca a preços finais (de acordo com o manual MT5). Descreva um pouco a sua situação e veja a resposta. Talvez tudo já tenha sido pensado antes de nós :)

 
Yedelkin: Devido à falta de uma versão da plataforma para a bolsa de valores russa...


Obrigado pelos comentários e conselhos perspicazes!

Os corretores BCS e Otkritie já oferecem a possibilidade de fazer negócios na bolsa de valores russa (até agora só FORTS mercado de futuros e opções) através do terminal MT5.

 
stap: Os corretores BCS e Otkritie já estão a oferecer a capacidade de executar transacções na bolsa russa (até agora apenas no mercado de futuros e opções FORTS) através do terminal MT5.
A declaração foi: "devido à falta de uma versão de plataforma para abolsa de valores russa". Por outras palavras: para a bolsa de valores russa.
 
Como posso descobrir a minha senha de investidor se a carta de registo do corretor for perdida? Não o consigo encontrar.
 
foton: Como posso descobrir a minha senha de investidor se a carta de registo do corretor for perdida? Obrigado.
Já tentou contactar o seu corretor?
 
Como é que coloco um bloco numa mensagem privada?
MQL5.community - Памятка пользователя
MQL5.community - Памятка пользователя
  • 2010.02.23
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы недавно зарегистрировались и у вас возникли вопросы: Как вставить картинку в сообщение на форуме, как красиво оформить исходный код MQL5, где находятся ваши Личные сообщения? В этой статье мы подготовили для вас несколько практических советов, которые помогут быстрее освоиться на сайте MQL5.community и позволят в полной мере воспользоваться доступными функциональными возможностями.
 
Zeleniy:
Como é que coloco um bloco numa mensagem privada?
De si mesmo? ))
 
tol64:
De si mesmo? ))

De si, para não ligar o computador ao sinal e voltar a ver os lambe-botas.