Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1102

 
EgorKim:

Assim.

E alguns passes de optimista coincidem no visualizador.

E alguns passes - não há uma única transacção.

As discrepâncias podem ser devidas a valores não inicializados no tampão indicador - quando o cálculo passa, pode haver lixo no tampão.


Basta imprimir os dados do buffer quando o sinal aparece.

 
Vladimir Karputov:

Podem ocorrer discrepâncias devido a valores não inicializados no tampão indicador - quando o cálculo passa, pode haver lixo no tampão.


Basta imprimir os dados do buffer quando o sinal aparece.

Está a falar da EA?

Se sobre a EA - estou a zerar tudo no exemplo.

E se estiver a falar de um indicador - pode fazer qualquer coisa. Eu não sou o autor.

 
EgorKim:

Está a falar da EA?

Se está a falar de uma EA, estou a zerar tudo no exemplo.

Mas se estiver a falar de um indicador, pode ser qualquer coisa. Eu não sou o autor.

Eu estava a falar do indicador: se falhar algum índice no tampão, pode haver lixo. Em geral, primeiro um indicador fiável - e depois o Expert Advisor que o utiliza.

 
EgorKim:

Assim.

E alguns passes de optimista coincidem no visualizador.

E alguns passes não correspondem a nenhum negócio

Penso que o problema está no indicador.

E como a Artem assinalou correctamente, o problema está nos dados reais.

Só não me quer dizer como o fazer)

Não, estava enganado ao pensar que tem um indicador multitemporal.

Tem o indicador mais comum cujos dados deseja recuperar a partir do período de tempo de outra pessoa.

Num EA, é necessário verificar a relevância dos dados a partir do período de tempo desejado. Se ainda não houver dados para este período de tempo, então saia até ao próximo tick.
E depois, quando todos os dados do quadro mais antigo forem recebidos no volume correcto - depois chamar o indicador.

Tente fazê-lo desta forma.

 
Artyom Trishkin:

Não, estava enganado ao pensar que tem um indicador multitemporal.

Tem o indicador mais comum cujos dados deseja recuperar a partir do período de tempo de outra pessoa.

No Expert Advisor, é necessário verificar a relevância dos dados a partir do período de tempo desejado. Se ainda não houver dados para este período de tempo, então saia até ao próximo tick.
E depois, quando todos os dados do período de tempo mais antigo forem recebidos no volume correcto - depois chamar o indicador.

Tente fazê-lo desta forma.

Como se faz isso? Pretendo verificar a sua relevância.

Bem, verifico que não é 0.0 (código acima).

Que mais posso fazer? O que o indicador me dá, vou aceitá-lo.

Isto é o que o indicador faz.

 
EgorKim:

Como se faz isso? Pretendo verificar se está em dia.

Bem, verifico que não é 0.0 (código acima).

Que mais posso fazer? O que eu recebo do indicador, eu recebo.

É um indicador por este motivo.

Tiraste o indicador do KodoBase? Em caso afirmativo, pode dar-me o seu URL?

 
EgorKim:

Como se faz isso? Pretendo verificar se está em dia.

Bem, verifico que não é 0.0 (código acima).

Que mais posso fazer? O que eu recebo do indicador, eu recebo.

É um indicador por este motivo.

O erro está no próprio indicador.

Reescrevi uma série de Expert Advisors e esta é a primeira vez que este problema ocorre.

Pode olhar e construir você mesmo o Consultor Especialista, eu dei a lógica acima.

E pode ver como o terminal e o testador se comportam mal. Os resultados são diferentes, mesmo que os parâmetros indicadores sejam os mesmos)

 
Vladimir Karputov:

Conseguiu o indicador do KodoBase? Em caso afirmativo, posso ter o seu URL?

Sim

https://www.mql5.com/ru/code/64

Plombiers - Осциллятор в канале
Plombiers - Осциллятор в канале
  • www.mql5.com
Просмотров: 6747 Рейтинг: Опубликован: 2010.01.26 12:54 Обновлен: 2016.11.22 07:33 Пример использования канала и осциллятора Stochastic. Иногда полезно смотреть поведение осциллятора в канале. Оценка ситуации упрощается. Изменяя параметры, можно гибко настроить отображение индикатора. Bulls Bears Power...
 

Em geral, pode testá-lo por agora (funciona no indicadorPlombiers - oscilador no canal- o indicador deve estar na pasta [pasta de dados]MQL5\Indicators\plombiers.mq5)


Ideia de estratégia comercial

O Expert Advisor trabalha utilizando o indicador personalizadoPlombiers. Para a formação de sinais são consideradas duas linhas do indicador: "Resistência" e "Apoio".

Plombisadores EA

Sinal para abertura de posição deCOMPRA: O preço baixo na barra nº 1 estava abaixo da linha "Apoio" na barra nº 1

Sinal para abrir umaposição de VENDA: o preço Alto na barra #1 era mais alto do que a linha "Resistência" na barra #1

//+------------------------------------------------------------------+
//| Search trading signals                                           |
//+------------------------------------------------------------------+
bool SearchTradingSignals(void)
  {
   double means[],resistance[],support[];
   MqlRates rates[];
   ArraySetAsSeries(means,true);
   ArraySetAsSeries(resistance,true);
   ArraySetAsSeries(support,true);
   ArraySetAsSeries(rates,true);
   int start_pos=0,count=3;
   if(!iGetArray(handle_iCustom,0,start_pos,count,means) || 
      !iGetArray(handle_iCustom,1,start_pos,count,resistance) || 
      !iGetArray(handle_iCustom,2,start_pos,count,support) || 
      CopyRates(m_symbol.Name(),Period(),start_pos,count,rates)!=count)
     {
      return(false);
     }

   int size_need_position=ArraySize(SNeedPosition);
   if(rates[1].low<support[1])
     {
      if(!InpReverse)
        {
         ArrayResize(SNeedPosition,size_need_position+1);
         SNeedPosition[size_need_position].pos_type=POSITION_TYPE_BUY;
         return(true);
        }
      else
        {
         ArrayResize(SNeedPosition,size_need_position+1);
         SNeedPosition[size_need_position].pos_type=POSITION_TYPE_SELL;
         return(true);
        }
     }
   if(rates[1].high>resistance[1])
     {
      if(!InpReverse)
        {
         ArrayResize(SNeedPosition,size_need_position+1);
         SNeedPosition[size_need_position].pos_type=POSITION_TYPE_SELL;
         return(true);
        }
      else
        {
         ArrayResize(SNeedPosition,size_need_position+1);
         SNeedPosition[size_need_position].pos_type=POSITION_TYPE_BUY;
         return(true);
        }
     }
//---
   return(true);
  }
 
Vladimir Karputov:

Em geral, pode testá-lo por agora (funciona no indicadorPlombiers - oscilador no canal- o indicador deve estar na pasta [pasta de dados]MQL5\Indicators\plombiers.mq5)


Ideia de estratégia comercial

O Expert Advisor trabalha utilizando o indicador personalizadoPlombiers. Para a formação de sinais são consideradas duas linhas do indicador: "Resistência" e "Apoio".


Sinal para abertura de posição deCOMPRA: O preço baixo na barra nº 1 estava abaixo da linha "Apoio" na barra nº 1

Sinal para abrir umaposição de VENDA: o preço alto na barra #1 era mais alto do que a linha "Resistência" na barra #1

Tomar os valores de"Apoio" e"Resistência" do período de tempo superior

Isto é, o indicador MTF deve estar na entrada do optimizador

input ENUM_TIMEFRAMES TimeFramePlombiers=PERIOD_H4;

handle_Plombiers=iCustom(Symbol(),TimeFramePlombiers,"plombiers",итд);

Assim