Experts: VR Breakdown level - Estratégia de negociação baseada na ruptura do High ou Low anterior

 

VR Breakdown level - Estratégia de negociação baseada na ruptura do High ou Low anterior:

Estratégia de negociação baseada na simples ruptura dos níveis anteriores de High ou Low

VR Breakdown level - Estratégia de negociação baseada na ruptura do High ou Low anterior

Autor: Vladimir Pastushak

 

Há muito ruído, e o código é estranho em alguns lugares.

Por exemplo, a parte de verificação do lote.

// Obter a etapa mínima do lote para o símbolo
  double stepvol = ::SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP);
  if(stepvol > 0)
    // Calcular o tamanho do lote arredondado para a etapa válida mais próxima
    lt = stepvol * (int)(iLots / stepvol);
// Verificar se o lote calculado é menor que o lote mínimo permitido
  if(lt < ::SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN))
    lt = 0.0;  // Definir como 0 se estiver abaixo do mínimo (inválido)
// Retorna uma inicialização bem-sucedida
  return(INIT_SUCCEEDED);
}

Temos o lote 0.0

Em seguida, vamos para OnTick() e abrimos uma posição com o lote "0.0".

if(trade.Buy(lt))

Essa é uma abordagem interessante, acho que a negociação será lucrativa.

--

Não há verificação simples de fundos suficientes. Sem essa verificação, é assustador executar o EA mesmo no testador, sem falar no modo de demonstração.

--

Não entendo a intenção, por que essa abordagem, para torná-lo diferente de "como todo mundo e em qualquer outro lugar" --

  if(new_time != old_time)
    // Atualize old_time e retorne true (nova barra detectada)
    if((old_time = new_time) != NULL)
      return(true);

--

A verificação da configuração das ordens TP e SL está implementada incorretamente - se falhar, a posição é deixada aleatoriamente com valores zero.



 
Vitaly Muzichenko #:

Há muito ruído, e o código é um pouco estranho em alguns lugares

Por exemplo, a parte de verificação de lote

Temos o lote 0.0

Em seguida, vá para OnTick() e abra uma posição com o lote "0.0".

Abordagem interessante, que provavelmente será lucrativa para a negociação

--

Não há uma verificação simples de fundos suficientes; sem essa verificação, é assustador executar o EA mesmo no testador, sem falar no modo de demonstração

--

Não entendo a intenção, por que essa abordagem, para torná-lo diferente "como todo mundo e em qualquer outro lugar".

--

A verificação da configuração da ordem TP e SL está implementada incorretamente - se falhar, a posição é deixada aleatoriamente com valores zero

Parte do código foi criada usando ajuda, ou seja, não escrevi meus próprios códigos, mas os peguei de fontes externas, para que os programadores iniciantes pudessem ver o código familiar.

Portanto, o código é mais curto em uma linha, é mais conveniente e familiar para mim, e os iniciantes verão as possibilidades adicionais da linguagem.

if(new_time != old_time)
    // Atualize old_time e retorne true (nova barra detectada)
    if((old_time = new_time) != NULL)
      return(true);

и

if(new_time != old_time)
    // Atualize old_time e retorne true (nova barra detectada)
      {
       old_time = new_time;
       return(true);
      }
 
Vitaly Muzichenko #:

A verificação para definir ordens TP e SL foi implementada incorretamente - em caso de falha, a posição é deixada aleatoriamente com valores zero

O que deve ser feito com isso?

Minha visão é definir TP e SL em qualquer caso, se recebermos um erro de que a distância é menor do que a mínima permitida = defini-la como a mínima permitida.

Agora, na forma atual, a ordem não é definida e a posição permanece abandonada aleatoriamente.

 
Olá, vi uma postagem dizendo que na versão MT4 do EA o código foi corrigido, mas na versão MT5 o código foi corrigido?
 

Olá. Este Expert Advisor opera bem nos timeframes mais baixos (0-3 minutos nas configurações) quando o preço está se movendo e não há flat, nos timeframes mais altos ele não abre a grade em tempo hábil e entra em drawdown.

Eu o executei em uma demonstração, na qual é necessário inserir o trawl-stop, é possível usar o trawl externo e a distância de abertura de uma grade de ordens para corrigir a adição nas configurações, já que com o trawl externo ele negocia em plus sem stop na distância (sem trawl nas configurações do owl, um take profit sem stop para a ordem na abertura não é anexado), e com uma pequena distância de abertura de ordens em flat ele entra em drawdown.

Parece que há um erro devido à abertura desigual do número de ordens opostas para formar uma trava e reduzir o drawdown (as ordens de abertura ao romper o nível da vela anterior e após uma certa distância são coisas diferentes, pois uma vela de minuto longo pode disparar e nenhuma ordem será aberta para um lucro ou para uma trava), se o número de tais ordens for especialmente desigual, uma entrada mais precisa e a abertura da primeira ordem de acordo com o indicador de tendência com a fixação do lucro total e o fechamento de toda a grade positiva. Seria desejável que não houvesse um drawdown sem stop devido à abertura mais precisa de ordens e ao envernizamento preciso, talvez adicionando um coeficiente de aumento e diminuição de lote automaticamente para obter lucro rapidamente e fechar toda a grade.