Tema interessante para muitos: o que há de novo em MetaTrader 4 e MQL4 - grandes mudanças no caminho - página 55

 
serferrer:

Porque é apenas mencionado o MetaTrader 4?

Tanto o trabalho Take Profit como o Stop Loss funcionam dentro das lacunas.

Afinal, MetaTrader 5 e MetaTrader 4 funcionam da mesma maneira nestes casos, aqui estão exemplos concretos com o código https://www.mql5.com/ru/forum/1031/page18#comment_530271

Talvez este problema exista também no MT5, só não tenho usado o testador MT5 em trabalhos reais.
 

Fórum sobre comércio, sistemas de comércio automatizados e testes estratégicos

Como é que os dados históricos iniciais afectam a velocidade e a precisão dos testes?

hrenfx, 2013.08.10 07:23

Vai:

Spread = Low_Ask - Low_Bid; // во время формирования бара вычислятся не только Low_Bid, но и Low_Ask. В поле Spread пишется их разница. Low_Ask напрямую не запоминается.
// Spread = Max(Low_Ask - Low_Bid, 0); // вариант, если не хочется снимать ограничение отрицательного спреда (в агрегаторах иногда бывает моментальный/текущий спред в отрицательной зоне)

A pensar quantas vezes M1 LowAsk < LowBid (HighAsk < HighBid). Os resultados mais notáveis do guião anexo:

2013.03.15 20:37 EURUSD LowAsk (1.30579) < LowBid (1.30580)
2013.03.20 12:06 EURUSD LowAsk (1.28874) < LowBid (1.28875)
2013.04.26 19:05 EURUSD LowAsk (1.30258) < LowBid (1.30270)
2013.05.28 19:47 EURUSD LowAsk (1.28629) < LowBid (1.28630)
2013.06.20 16:04 EURUSD HighAsk (1.32210) < HighBid (1.32211)

2013.04.26 19:11 GOLD LowAsk (1453.06) < LowBid (1453.10)
2013.05.10 06:09 GOLD LowAsk (1460.86) < LowBid (1460.96)
2013.05.15 16:04 GOLD LowAsk (1413.09) < LowBid (1413.14)
2013.07.29 02:45 GOLD HighAsk (1330.73) < HighBid (1330.74)

2013.04.08 05:54 EURJPY HighAsk (127.797) < HighBid (127.798)
2013.04.29 17:02 EURJPY HighAsk (128.180) < HighBid (128.181)
2013.06.13 15:12 EURJPY HighAsk (125.383) < HighBid (125.385)
2013.08.08 07:20 EURJPY LowAsk (129.047) < LowBid (129.048)

Em alguns caracteres não há qualquer registo de casos deste tipo.

Em suma, são tão poucos que posso calcular com segurança a extensão da barra usando a fórmula:

Spread = Max(Low_Ask - Low_Bid, 0);

P.S. Há muito tempo que não via. Acontece que agora o spread médio real do EURUSD é de ~ 0. Se a comissão é de 10 dólares por milhão (LMAX oferece-o, por exemplo), os custos são de < 3 pips (EURUSD). Em suma, as condições comerciais da FOREX estão a melhorar cada vez melhor.

Arquivos anexados:
 
hrenfx:

A pensar quantas vezes M1 LowAsk < LowBid (HighAsk < HighBid). Os resultados mais notáveis do guião em anexo:

Em alguns caracteres não há qualquer registo de casos deste tipo.

Em suma, são tão poucos que posso calcular com segurança a extensão da barra usando a fórmula:

P.S. Há muito tempo que não via. Acontece que agora o spread médio real do EURUSD é de ~ 0. Se a comissão é de 10 dólares por milhão (LMAX oferece-o, por exemplo), os custos são de < 3 pips (EURUSD). Em geral, as condições comerciais no FOREX estão a melhorar cada vez melhor.

Sim, como cada vez melhor, é o que diz Dmitriy Rannev:

Posso facilmente fazer com que a propagação seja mesmo zero nas notícias, apenas o escorregamento aumentará. Penso que não preciso de explicar como é que isto é feito tecnicamente?
Conhece uma empresa que não escorrega nas notícias?

A propósito, boa ideia, deveríamos tentar fazer um tipo de conta com spread zero e colocar o spread em slippage. Mostrar às pessoas como são realmente as coisas (e quantos o fazem). A dispersão é agora medida por todos, mas o escorregamento é medido por poucos.


E os deslizes e lacunas só podem ser controlados (vistos) numa história real de carraças num testador de carraças.

 

serferrer:

As páginas deslizantes e as lacunas só podem ser controladas (vistas) sobre um histórico real de carraças num testador de carraças.

Com lacunas que compreendo, mas como pode o testador ajudar a ver o escorregamento?
 
serferrer:

Sim, como se fosse cada vez melhor, é o que diz, por exemplo, Dmitriy Rannev:


Mas os deslizes e as falhas só podem ser controlados (vistos) na história real da carraça no testador de carraças.

Não podia ser mais simples. Antes do Expert Advisor (guião) enviar uma ordem de mercado, memorizamos a oferta (para venda) e perguntamos (para compra) o preço, e depois de abrir uma negociação, comparamos o seu preço aberto com o memorizado.

É assim que controlamos (após o facto) o escorregamento.

 
olyakish:

Isto é o mais fácil que se pode fazer. Antes do Expert Advisor (guião) enviar uma ordem ao mercado, memorizamos a oferta (para vender) e pedimos (para comprar) preços, e depois de abrir uma negociação, comparamos o seu preço aberto com o memorizado.

É assim que se controla o deslizamento (após o facto).

No testador?
 
MetaDriver:
Com lacunas é claro, mas como é que o testador ajuda a ver o escorregamento?

É testado no histórico real do carrapato no testador de carrapatos, no dia anterior (semana), por exemplo, e é revelada a média, o máximo, o deslizamento e a sua frequência (+ nas notícias) e uniformidade de distribuição.

Isto é, há uma comparação (pesquisa de nuances) do comércio real, e no testador, o mais próximo possível do real.

Então, toda esta informação pode ser aplicada na análise de deslizes passados e futuros esperados.

 
olyakish:

Isto é o mais fácil que se pode fazer. Antes do Expert Advisor (guião) enviar uma ordem de mercado, memorizamos a oferta (para vender) e pedimos (para comprar) preços, e depois de abrir uma negociação, comparamos o seu preço aberto com o memorizado.

Isto controla (após o facto) o escorregamento.

Sim, é assim que o deslizamento é monitorizado no comércio real, no testador (isto é, futuro, passado) apenas em carraças.

O passado significa o passado que não foi realmente monitorizado.

 
serferrer:

Sim, como cada vez melhor, é o que diz Dmitriy Rannev:

E se o ler com atenção?

hrenfx:

P.S. Já lá vai algum tempo desde que olhei. Acontece que agora o spread médio real do EURUSD é de ~ 0. Se a comissão é de 10 dólares por milhão (LMAX, por exemplo, oferece-a na mosca), os custos são de < 3 pips (EURUSD). Em geral, as condições comerciais no FOREX estão a melhorar cada vez melhor.

 
MetaDriver:
Num testador?

A fim de apanhar um deslize nos dados do tick no testador, é necessário definir um desfasamento temporal aproximado (lag) para a transmissão de dados entre o dc e o cliente. Cada carraça tem o seu tempo quando ocorreu ao milissegundo, por exemplo. No testador, se o tempo de colocação de uma ordem de mercado + desfasamento>a hora do próximo tick, então executamos aos preços do novo tick. É evidente que a execução parcial da ordem não pode ser simulada desta forma, precisamos de dados sobre liquidez.

p.s. Um dos fundamentos da indústria doft - a colocation visa minimizar este atraso. As pessoas pagam milhões de libras para colocar o seu equipamento mais perto dos servidores da bolsa. Há aí uma contagem de microssegundos.