Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 485

 
Artyom Trishkin:

Não haverá uma solicitação? Acho que a primeira resposta à pergunta sobre solicitações no testador (!!!) é que os preços de abertura são misturados.

Ou será que já esqueci tudo?

Vladimir Zubov:

Haverá também solicitações no testador.

Execute-o no testador

void OnTick()
  {
   if(OrdersTotal() == 0)
    {
     Print("Bid = ", Bid);
     int ticket = OrderSend(_Symbol, OP_BUY, 0.1, Bid, 50, 0, 0);
     if(OrderSelect(ticket, SELECT_BY_TICKET))
      Print("OrderOpenPrice ", OrderOpenPrice());
    }
  }

E veja o resultado.

2018.03.03 09:36:58.521 2017.01.02 00:00:00  Test button click EURUSD,H1: OrderOpenPrice 1.05119
2018.03.03 09:36:58.521 2017.01.02 00:00:00  Test button click EURUSD,H1: open #1  buy 0.10 EURUSD at 1.05119 ok
2018.03.03 09:36:58.521 2017.01.02 00:00:00  Test button click EURUSD,H1: Bid = 1.051
 
Vladislav Andruschenko:

Eu concordo com você.

Este tópico é muito vulgar e ainda não existe uma solução a 100% para o problema de paradas erradas.

  1. 2*dispersão
  2. 3*dispersão
  3. 0-1 ponto

todas estas opções têm um lugar.

Se você pode puxar um spread flutuante nas informações do símbolo, o motivo pelo qual você não pode puxar um nível de parada flutuante não está claro para mim.

Portanto, esta é a idéia. Afinal de contas, o nível de parada é regulamentado pelo corretor.

Eles podem mudá-lo como desejarem, até mesmo 10 vezes mais durante os comunicados à imprensa.

Por que não? Um SYMBOL_TRADE_STOPS_LEVEL zero indica uma parada flutuante (não igual a zero, mas flutuante). E então você tem que adivinhar - uma ou duas vezes você pode pegar um erro 130, aumentando gradualmente o tamanho da parada de acordo com o spread.

 
Alexey Viktorov:

Execute-o no testador

E veja os resultados.


Isso porque o escorregamento está ajustadopara 50

 
Artyom Trishkin:

Por que isso é impossível? O zero SYMBOL_TRADE_STOPS_LEVEL indica um stop-loss flutuante (não igual a zero, mas flutuante). E então você tem que adivinhar - uma ou duas vezes você pode pegar um erro de 130, aumentando gradualmente o tamanho da parada de acordo com o spread.

Exatamente, isso é um palpite. :-)

A relação de stop-loss também pode mudar de corretor para corretor, de comunicado à imprensa, DR do diretor de negociação e assim por diante.

Até mesmo os regulamentos da corretora dizem sobre isso.

 
Alexey Viktorov:

Execute-o no testador

E veja os resultados.

Estranho. Talvez estas construções do terminal já tenham sido corrigidas há muito tempo.

Eu cometi estes erros "infantis" há muito tempo (cerca de 10 anos atrás) - e depois houve solicitações no testador. Não consegui entender o porquê. Mas então percebi que estava comprando com a Bid :) Desde então eu me lembro desse comportamento, mas nunca mais o peguei - uma vez geralmente é suficiente para não continuar escrevendo códigos dessa maneira.

 
Vladislav Andruschenko:


Você tem 100% de certeza sobre esta afirmação?

Vlad, mais discussão sobre este assunto está ficando atolada com a discussão do corretor. Portanto, é melhor imprimir os preços, espalhar, compará-los e analisá-los você mesmo.

Quanto a exatamente duas margens, isto remonta à própria introdução das margens flutuantes. É quando eu leio sobre isso, uso-o e não quero lembrar onde o li, quem o escreveu e outros detalhes.

 
Vladislav Andruschenko:

Exatamente, isso é um palpite. :-)

A relação de stop-loss também pode mudar de corretor para corretor, de comunicado à imprensa, do aniversário do diretor de negociação e assim por diante.

Não temos nenhum serviço especial de corretagem para este tipo de coisa.

Bem, isto é água.

Eu escrevi o que fazer. Infelizmente, não há outra maneira.

 

Este caminho tem sido usado há muito tempo e por todos.

Há dezenas de tópicos no fórum.

Mas ninguém jamais provou que ela deveria ser multiplicada por 2 (e não por 3).

Alexey Viktorov:

Vlad, uma discussão mais aprofundada sobre este assunto desdobra-se em uma discussão do corretor. Portanto, é melhor imprimir os preços, espalhar, compará-los e analisá-los você mesmo.

Quanto a exatamente duas pastas, isso se estende até a própria introdução das pastas flutuantes. É quando eu leio sobre isso, uso-o e não quero lembrar onde o li, quem o escreveu e outros detalhes.

Eu não preciso disso. Perguntei se você tinha certeza disso ou se pensava que sim, porque funciona. (Mas você ainda não testou esta teoria em mais de 100 corretores)

Funciona para você? tudo bem. Eu estava apenas sugerindo - que você não precisa ter tanta certeza sobre isso.

Você pode ser pego...


Se as paradas forem muito pequenas - é mais fácil fechar virtualmente.

 

Assim você pode sair desta situação - se houver um erro, então cada vez que você tentar modificar a ordem, a parada terá que ser aumentada em 1 pip. Até que o pedido seja modificado normalmente.

Acontece assim.

 
Vladislav Andruschenko:

Este caminho tem sido usado há muito tempo e por todos.

Há dezenas de tópicos no fórum.

Mas ninguém jamais provou que ela deveria ser multiplicada por 2 (e não por 3).

Eu não preciso disso. Eu lhe perguntei se você tem certeza ou se acha que sim porque funciona. (Mas você não testou esta teoria em mais de 100 corretores)

Vlad, além de outros esquemas que são arriscados de discutir, há também a mudança natural de preço entre o envio de um pedido e sua execução. Em um caso o desvio de preço pode aumentar a distância do preço atual até a parada estabelecida, e em outro caso pode diminuir o preço. E neste caso, a distância do preço, exatamente do preço atual, ao invés do preço de abertura do pedido será inferior a dois spreads. É neste caso que você receberá um erro.