Erros, bugs, perguntas - página 604

 
Urain:

O símbolo e o período não têm de ser iguais para se fazer um gráfico, pode a partir de outros períodos de tempo e símbolos.

Só fiquei surpreendido com esta pergunta (é por isso que não a entendo), está na descrição do iCustom()

PS Obter os dados de um indicador calculado é implementado através da função CopyBuffer(), é necessário especificar a sua pega e o número do buffer (a descrição está no manual).

PPS iCustom inicia o fluxo de cálculo do indicador, CopyBuffer recebe dados indicadores.

Desculpe por ser irritante, tinha notado a diferença na ortografia de "CCFp_2" e "CCFp__2". pergunta eliminada.
 
sergeev:

E então?

é sua obrigação atirar este indicador sobre uma determinada moeda.

De qualquer forma, não se preocupe - vá e verifique.

Pessoalmente, tudo funciona para mim. Chamo-lhe de Expert Advisor e até atiro-a para um gráfico.

Pedir desculpa por aborrecer, não notando imediatamente a diferença na escrita "CCFp_2" e "CCFp__2". pergunta rejeitada.
 
Não consigo entender porque é que em Comentário(linha 114) ArrayMaximum e ArrayMinimum mostram constantemente 199, apesar do "c"(3º parâmetroArrayMaximum/minimum) estar constantemente a aumentar...
Arquivos anexados:
 
Graff:
Não consigo entender porque é que em Comentário(linha 114) ArrayMaximum e ArrayMinimum mostram sempre 199, apesar do "c"(3º parâmetroArrayMaximum/minimum) aumentar constantemente...

Se a linha 110:

      while(wcond && y>=0 && c>=0 && !IsStopped())

substituir por:

      if(wcond && y>=0 && c>=0 && !IsStopped())

...aí começam alguns desenhos animados...

Em geral, suspeito que muitos loops embutidos (incluindo os implícitos para o ArrayMaximum), bem como no indicador, penduram o terminal a cada tique! No entanto, se o Comentário não produz os resultados de extrema mas sim alguma variável c, não será pendurado em caso de enquanto.

Além disso, veja a ajuda:

int  ArrayMaximum(
   double  array[],               // массив для поиска
   int     start=0                // с какого индекса начинаем поиск
   int     count=WHOLE_ARRAY,     // количество проверяемых
   );

Aqui começa sempre =199 enquanto a contagem aumenta de 0 para 200 - daí todas as consequências. Por exemplo, começa a mover-se quando i e c são trocados:

         hm=ArrayMaximum(h,c,i);
         lm=ArrayMinimum(l,c,i);
até entrar em menos com erro terminal: matriz fora de alcance.
 
Graff:
Não consigo entender porque é que em Comentário(linha 114) ArrayMaximum e ArrayMinimum mostram constantemente 199, apesar do "c"(3º parâmetroArrayMaximum/minimum) estar constantemente a aumentar...
   for(int i=calc_bars-1;i>=0;i--)// peaks loop//i=199
     {
      double pips_lh=0,pips_hl=0;
      int y=i,c=1;
      bool wcond=true;
      while(wcond && y>=0 && c>=0 && !IsStopped())
        {
         int hm=ArrayMaximum(h,i,c);//от 199
         int lm=ArrayMinimum(l,i,c);
         Comment(hm+" "+lm);
         double max_high=h[hm],min_low=l[lm];
         //Comment(max_high+" "+min_low);
         if(fabs(max_high-min_low)>min_pips)
           {
            HighestBuffer[hm]=h[hm];
            LowestBuffer[lm]=l[lm];
           }
         c++;// if h-l<min pips => add next bar
         y--;// new i
        }
      i=y;//цикл for где-та тут и заканчивается, т.е. выполняется 1 раз, когда i=199.
     }
 

Boa tarde, por favor informe quem posso contactar com o seguinte problema - o MT5 não funciona no meu segundo computador - tentei tudo o que era possível - mudei os sistemas operativos e os fornecedores, mas como se um destino mau me impedisse de ver o terminal no meu computador...

moby_dick:

Ajude-me, por favor compreenda - o MT5 funciona no meu computador de secretária, mas não quer funcionar no meu portátil - diz que não tem ligação à MetaQuotes-Demo... Não posso abrir uma nova conta demo desde o primeiro lançamento do MT5, nem ligar-me a uma conta demo criada noutro computador... Ambos os computadores têm Windows XP Pro SP3, a minha ligação à Internet é a mesma, desactivar os antivírus e a firewall não ajuda... Talvez haja alguns componentes obrigatórios que precisem de ser instalados?

Obrigado antecipadamente - estou com o meu portátil 99,9% do tempo...


O que é o azar e como lidar com ele??

Como escrevi acima (post 11.01.2010 14:03 ) MT5 teimosamente não queria trabalhar no meu portátil do primeiro ao último lançamento... Recentemente comprei um portátil mais recente que avariou e comprei um mais recente com chip multi-core, etc... Esperava conseguir que o MT5 trabalhasse localmente em vez de um VPS como tenho vindo a fazer nos últimos 2 anos, mas ao instalar o MT5 recebi um pedido de procuração que não consegui contornar... Lembrei-me que o MT5 deve funcionar sem instalação, por isso copiei o directório MT5 do VPS e tentei executá-lo... Funciona sem qualquer problema, mas cai imediatamente como antes. Que se lixe, o sapateiro não está sem botas, mas só vê as suas botas na foto da UPU do outro lado da terra... O que pode ser feito?

 
moby_dick:

Boa tarde, poderia aconselhar-me com quem posso contactar - MT5 não está a funcionar no meu segundo computador - tentei tudo - mudei os sistemas operativos e os fornecedores, mas como se por uma mão má, não conseguisse ver o terminal no meu computador...

Por favor, escreva um pedido ao Service Desk. Precisa de detalhes e nós tentaremos resolvê-lo.
Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 

Olá! biblioteca padrão MovingAverages.mqh

//+------------------------------------------------------------------+
//| Simple Moving Average |
//+------------------------------------------------------------------+
double SimpleMA(const int position,const int period,const double &price[])
{
//---
double result=0.0;
//--- check position
if(position>=period && period>0)
{
//--- calculate value
for(int i=0;i<period;i++) result+=price[position-i];
result/=period;
}
//---
return(result);
}

Acontece que a função SimpleMA não consegue obter o valor médio de todo o conjunto! Suponha que existe um conjunto de preços[] com 100 elementos. Preciso de obter o seu valor médio. Passo-a para a função:

SimpleMA(99, 100, preço);

Eu recebo 0, porque 99<100. O que me impede de corrigir o período (destacado no código) para (período-1)?

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
Pergunta aos criadores. As capacidades da nova construção incluem o evento CHART_EVENT_MOUSE_MOVE.

Serão introduzidos os eventos CHART_EVENT_MOUSE_DOWN e CHART_EVENT_MOUSE_UP?

Sem eles, não se pode ter um verdadeiro arrastar e largar.

 
Vigor:
Pergunta aos criadores. As capacidades da nova construção incluem o evento CHART_EVENT_MOUSE_MOVE.

Vai acrescentar eventos CHART_EVENT_MOUSE_DOWN e CHART_EVENT_MOUSE_UP?

Sem eles, o arrastar e largar não é uma solução de pleno direito.

Apoio este pedido.

Agora temos de utilizar as funções GetCursorPos + GetKeyState.
Com a aparência de EVENT_MOUSE_MOVE, não precisaremos de GetCursorPos e com MOUSE_DOWN e MOUSE_UP também não precisaremos de GetKeyState.

Os programas MQL5 irão primeiro melhorar a interactividade e a capacidade de resposta às acções dos utilizadores. Em segundo lugar - poderão vendê-los no Mercado, porque deixarão de utilizar DLL.


Por favor, escreva um pedido para Servicedesk (pode com a indicação deste posto). Tenho a certeza de que quando libertar uma nova construção já terá tempo para acrescentar. A implementação não é difícil.
Especialmente porque já é do interesse dos criadores - uma vez que está em curso o desenvolvimento de uma biblioteca padrão de controlos.

PS.

Estou muito contente por a própria empresa ter decidido criar uma biblioteca de controlos, e apercebi-me (encontrado) que dar estas características é simplesmente necessário.
Espero que as melhorias nas características e na usabilidade continuem.