Erros, bugs, perguntas - página 2282

 
TaywinLannister:

Rapazes, por favor aconselhem como obter valor indicador para barras anteriores em mql5.

No mql 4 havia uma variável de POUPANÇA, mas o mql 5 não a tem. HELP

int  CopyBuffer(
   int       indicator_handle,     // handle индикатора
   int       buffer_num,           // номер буфера индикатора
   int       start_pos,            // откуда начнем 
   int       count,                // сколько копируем
   double    buffer[]              // массив, куда будут скопированы данные
   );

E há outras implementações. Tal como nas canetas de feltro, a cor é diferente mas o sabor é o mesmo.

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyBuffer
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyBuffer
  • www.mql5.com
Отсчет элементов копируемых данных (индикаторный буфер с индексом buffer_num) от стартовой позиции ведется от настоящего к прошлому, то есть стартовая позиция, равная 0, означает текущий бар (значение индикатора для текущего бара). При копировании заранее неизвестного количества данных в качестве массива-приемника buffer[] желательно...
 
Como posso obter a cor de um tampão de cor indicador ?
 
Vladimir Pastushak:
Como posso obter a cor de um tampão de cor indicador ?
Cada tampão tem o seu próprio número. E na função CopyBuffer, o segundo parâmetro é o número do buffer. Mas não será uma cor, mas um índice na matriz de cores. Mas com ela, espero, conseguirá sozinha.
 
Alexey Viktorov:
Cada tampão tem o seu próprio número. E na função CopyBuffer, o segundo parâmetro é o número tampão. Mas não será cor, e um índice na matriz de cores. Mas com ele, esperemos, pode lidar sozinho.

Não compreendo, poderia ser mais específico?

#property indicator_color2  clrBlue, clrRed
SetIndexBuffer(1,upper_line_color,INDICATOR_COLOR_INDEX);   

Comoobter a cor dalinha_tampão_color superior ????

 
Vladimir Pastushak:

Não compreendo, pode ser mais específico?

O código é retirado do indicador

#property indicator_buffers   5
#property indicator_plots     1
#property indicator_type1     DRAW_COLOR_BARS
#property indicator_color1    clrDarkViolet, clrCrimson, clrYellow

O sistema gera uma matriz com três cores. (Se me é permitido dizê-lo, é uma matriz oculta, inacessível ao programador).

   SetIndexBuffer(4, colorBufer, INDICATOR_COLOR_INDEX);

Tampão indicador 4 contém índices de cores da matriz de cores

     colorBufer[j] = open[j] < close[j] ? 0.0 : open[j] > close[j] ? 1.0 : 2.0;

Aqui, o índice de cor é escrito no buffer de indicadores e o sistema utiliza o índice para seleccionar uma cor entre as listadas na matriz.

Consequentemente, tendo utilizado a função

CopyBuffer(indicator_handle, 4, 0, 1, buffer);

receberemos o índice de cores na última barra do buffer de matriz declarada[]


ps; enquanto escrevia, foi acrescentada uma pergunta. Espero que este esclarecimento seja suficiente. Não quero corrigi-lo.

 
Erro durante a execução
void OnStart()
{
    string text1 = "\0ABCDEF",
           text2 = "\0ABC";
    Print(                text1 == text2,        ":",
           StringCompare( text1,   text2 ) == 0, ":", StringLen(text1), ":", StringLen(text2));
}

Resultado: verdadeiro:falso:7:4

Como é que as cordas de comprimentos diferentes são subitamente iguais? Enquanto a comparação usando StringCompare produz o o oposto == resultado

 
Alexey Viktorov:

O código é retirado do indicador

O sistema gera uma matriz com três cores. (se me é permitido dizê-lo, uma matriz oculta, inacessível ao programador).

Otampão indicador 4 contém índices de cores de uma série de cores

O índice de cor é introduzido no buffer de indicadores, e o sistema utiliza o índice para seleccionar uma cor entre as listadas e introduzidas na matriz.

Consequentemente, tendo utilizado a função

recebemos o índice de cores na última barra do buffer da matriz [] declarado de antemão


ps; Como eu estava a escrever, a pergunta foi acrescentada. Espero que este esclarecimento seja suficiente. Não quero corrigi-lo.

E no tampão tampão é copiado não uma cor mas 0,0 1,0 2,0

testado não funciona


A minha pergunta diz cor e não índice, obtemos o índice comocolorBufer[0] na última barra sem todas estas manipulações... Como é que eu puxo o nome da cor ou a própria cor como cor ?

 
Vladimir Pastushak:

E a cor é copiada para o tampão e não para o 0,0 1,0 2,0

testado não funciona

Testado, funciona.

Vladimir Pastushak:

Na minha pergunta está escrito sobre cor e não sobre índice, obtemos o índicecolorBufer[0] na última barra sem todas estas maquinações... Como puxar exactamente o nome da cor ou a própria cor por tipo de cor ?

A isto chama-se "Don't tailgate". Disse-lhe de imediato que só receberia o índice.

 
Alexey Viktorov:

Verificado, funciona.

E a isto chama-se "Não dobres a cauda". Disse-lhe de imediato que só obteria o índice.

Escrevi logo a cor ... Obrigado por responder ... Leia as perguntas com mais atenção!!!

 
Vladimir Pastushak:

E escrevi logo a cor ... Obrigado por responder ... Leia atentamente as perguntas!!!

Qualquer que seja a pergunta, essa é a resposta. Há duas maneiras de definir a cor do visor indicador. Utilizar o segundo.