Especialistas: EA Fractals at Close prices - página 2

 

Você precisa comentar as linhas.

/Cadeia de caracteres comentada
Незакоментированная строка

Para comentar uma linha, você precisa colocar "//".

 
Vladimir Karputov :

Você precisa comentar as linhas.

Você precisa colocar um "//" para comentar uma linha.

Sim, foi exatamente isso que fiz como no código que você me enviou anteriormente e essa é a parte que deixo aqui abaixo, porém nenhum dos que trabalharam na EA fechou posições no sinal oposto do fractal! Existe alguma outra forma para que eu possa mudar isso!

 //--- 
   if (last_lower!= EMPTY_VALUE && previous_lower!= EMPTY_VALUE )
       if (previous_lower<last_lower)
        {
           //ClosePositions( POSITION_TYPE_SELL ); 
         if (CalculatePositions( POSITION_TYPE_BUY )== 0 )
           {
             double sl=(InpTakeProfit== 0 )? 0.0 :m_symbol. Ask ()-ExtStopLoss;
             double tp=(InpStopLoss== 0 )? 0.0 :m_symbol. Ask ()+ExtTakeProfit;
            OpenBuy(sl,tp);
           }
        }
   if (last_upper!= EMPTY_VALUE && previous_upper!= EMPTY_VALUE )
       if (previous_upper>last_upper)
        {
           //ClosePositions( POSITION_TYPE_BUY ); 
         if (CalculatePositions( POSITION_TYPE_SELL )== 0 )
           {
             double sl=(InpTakeProfit== 0 )? 0.0 :m_symbol. Bid ()+ExtStopLoss;
             double tp=(InpStopLoss== 0 )? 0.0 :m_symbol. Bid ()-ExtTakeProfit;
            OpenSell(sl,tp);
           }
        }
 //--- 
   Trailing();
  }
 
kwlin_089:

Sim, isso foi exatamente o que fiz como no código que você me enviou anteriormente, e essa é a parte que deixo aqui abaixo, porém nenhum dos que trabalharam em posições de fechamento de EA em um sinal oposto fractal! Existe alguma outra forma para que eu possa mudar isso!


Nesse caso, não tenho certeza do que você quer exatamente. Desculpe-me.

 
Vladimir Karputov:

Nesse caso, não tenho certeza do que você quer. Desculpe-me.

Tentarei mostrar um exemplo:

Se o EA abriu uma compra porque detectou previous_lower[B]<last_lower[A] e, nesse exemplo, os parâmetros de entrada são "take profit: 500 pips" e "stop loss: 200 pips", tecnicamente esperamos que o EA atinja esses níveis de lucro ou stop loss para fechar a negociação.

Mas nessa versão do seu EA, quando um sinal invertido aparece, ou seja, se previous_lower[B]>last_lower[A] aparecer, o EA encerrará a transação de compra que está ativa. Usando o exemplo acima, se previous_upper[B]>last_upper[A] aparecer, o EA encerrará a transação de compra que está ativa sem atingir o lucro ou o stop loss.

É exatamente isso que preciso alterar. Tentei alterar algumas coisas no código, mas não consigo descobrir qual parte do código alteraria esse problema para encerrar as transações quando o sinal invertido aparecer quando a transação ainda estiver aberta!

Se você tiver uma solução, gostaria de saber?

 
kwlin_089:

Tentarei mostrar um exemplo:

Se o EA abriu uma compra porque detectou previous_lower[B]<last_lower[A] e, nesse exemplo, os parâmetros de entrada são "take profit: 500 pips" e "stop loss: 200 pips", tecnicamente esperamos que o EA atinja esses níveis de lucro ou stop loss para fechar a negociação.

Mas nessa versão do seu EA, quando um sinal invertido aparece, ou seja, se previous_lower[B]>last_lower[A] aparecer, o EA encerrará a transação de compra que está ativa sem atingir o lucro ou o stop loss. Usando o exemplo acima, se previous_upper[B]>last_upper[A] aparecer, o EA encerrará a transação de compra que está ativa sem atingir o lucro ou o stop loss.

É exatamente isso que preciso mudar. Tentei mudar algumas coisas no código, mas não consigo descobrir qual parte do código mudará esse problema para encerrar as transações quando o sinal invertido aparecer quando a transação ainda estiver aberta!

Se você tiver uma solução, gostaria de saber?


Se eu entendi corretamente, você precisa disso:

 //--- 
   if (last_lower!= EMPTY_VALUE && previous_lower!= EMPTY_VALUE )
       if (previous_lower<last_lower)
        {
         //ClosePositions( POSITION_TYPE_SELL ); 
         if (CalculatePositions( POSITION_TYPE_BUY )== 0 && CalculatePositions( POSITION_TYPE_SELL )== 0)
           {
             double sl=(InpTakeProfit== 0 )? 0.0 :m_symbol. Ask ()-ExtStopLoss;
             double tp=(InpStopLoss== 0 )? 0.0 :m_symbol. Ask ()+ExtTakeProfit;
            OpenBuy(sl,tp);
           }
        }
   if (last_upper!= EMPTY_VALUE && previous_upper!= EMPTY_VALUE )
       if (previous_upper>last_upper)
        {
         //ClosePositions( POSITION_TYPE_BUY ); 
         if (CalculatePositions( POSITION_TYPE_SELL )== 0 && CalculatePositions( POSITION_TYPE_BUY )== 0)
           {
             double sl=(InpTakeProfit== 0 )? 0.0 :m_symbol. Bid ()+ExtStopLoss;
             double tp=(InpStopLoss== 0 )? 0.0 :m_symbol. Bid ()-ExtTakeProfit;
            OpenSell(sl,tp);
           }
        }
 //--- 
   Trailing();
  }

Como funciona: se houver mais de uma posição (não importa qual: COMPRA ou VENDA), ignoramos todos os sinais e não abrimos novas posições.

 
Vladimir Karputov :

Se entendi corretamente, você precisa disso:

Como funciona: se houver mais de uma posição (não importa qual: COMPRA ou VENDA), ignoramos todos os sinais e não abrimos novas posições.

Exatamente!

Obrigado por sua ajuda!

 
kwlin_089:

É isso mesmo!

Obrigado por sua ajuda!


De nada!

 

Sr. Vladimir,

Você poderia liberar esse indicador como HTF?

 
zemo:

Sr. Vladimir,

Você poderia liberar esse indicador como HTF?

Não.
 
Caro Vladimir ... Espero que você possa me ajudar a editar esse EA de forma que as transações abertas com base no fechamento fractal sejam fechadas para cada transação usando SL e TP. Assim, sempre que houver fractais padrão no TF 30 ou outro TF, a transação será feita. Obrigado pela ajuda. Desejo a Vladimir saúde e sucesso sempre. Que Deus o abençoe.