Características úteis da KimIV - página 43

 
Tsyrus писал (а) >>

ISTO É TUDO!!!!!

>> OBRIGADO!

 

Igor, há um bom indicador que pode combinar várias velas em uma só. Mas só funciona na tabela horária. É possível torná-lo universal?

Gostaria de agradecer a vocês.

 

Função GetNearestDownFractal().

Esta função procura o fractal inferior mais próximo e retorna seu nível de preço. A peculiaridade desta função é a possibilidade de estabelecer uma fórmula arbitrária para o fractal. A fórmula fractal padrão, geralmente aceita, é 2-2. Isso significa 2 barras à esquerda e 2 barras à direita. Com esta função, você pode realizar até mesmo fractais muito exóticos, tais como 8-2 (8 barras à esquerda e 2 barras à direita) ou 5-3 (5 barras à esquerda e 3 barras à direita) e assim por diante. A função aceita os seguintes parâmetros opcionais:

  • sy - Nome do instrumento. "" ou NULL - símbolo atual. O valor padrão é NULL.
  • tf - Cronograma. Valor padrão 0 - símbolo atual.
  • nl - Número de barras à esquerda. O valor padrão é 2.
  • - Número de barras à direita. A configuração padrão é 2.
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 07.10.2006                                                     |
//|  Описание : Возвращает ценовой уровень ближайшего нижнего фрактала         |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   ("" или NULL - текущий символ)          |
//|    tf - таймфрейм                  (    0       - текущий таймфрейм)       |
//|    nl - количество баров слева                                             |
//|    nr - количество баров справа                                            |
//+----------------------------------------------------------------------------+
double GetNearestDownFractal(string sy="0", int tf=0, int nl=2, int nr=2) {
  bool f;
  int  fb, i, nb=-1;

  if (sy=="" || sy=="0") sy=Symbol();
  if (nl<1) nl=1;
  if (nr<1) nr=1;

  fb=nr;
  while (nb<0) {
    fb++;
    f=True;
    for (i=fb; i>fb-nr; i--) {
      if (iLow(sy, tf, i)>iLow(sy, tf, i-1)) { f=False; break; }
    }
    if (f) {
      for (i=fb; i<fb+nl; i++) {
        if (iLow(sy, tf, i)>iLow(sy, tf, i+1)) { f=False; break; }
      }
      if (f) { nb=fb; break; }
    }
  }

  return(iLow(sy, tf, nb));
}
 

Exemplos de como usar GetNearestDownFractal().

  • O nível de preço do fractal inferior mais próximo no gráfico atual. A fórmula fractal é 2-2 (padrão).
    Message(GetNearestDownFractal());
  • O nível de preço do fractal inferior mais próximo no gráfico do USDCAD H1. A fórmula fractal é 4-2.
    Message(GetNearestDownFractal("USDCAD", PERIOD_H1, 4));
  • Traçar uma linha horizontal através do nível de preço do fractal 5-3 inferior mais próximo no gráfico atual.
    double p=GetNearestDownFractal(NULL, 0, 5, 3);
    SetHLine(Red, "", p);

PS. Em anexo está um roteiro para testar a função GetNearestDownFractal().

Arquivos anexados:
 
KimIV писал (а) >>

Exemplos de como usar GetNearestDownFractal().

  • O nível de preço do fractal inferior mais próximo no gráfico atual. A fórmula fractal é 2-2 (padrão).
  • Nível de preço do fractal inferior mais próximo no gráfico USDCAD H1. A fórmula do fractal é 4-2.
  • Traçar uma linha horizontal através do nível de preço do fractal inferior mais próximo 5-3 no gráfico atual.

PS. Em anexo está um roteiro para testar a função GetNearestDownFractal().

Se ao menos fosse possível buscar não apenas o último fractal...................UH!!!

 
Tsyrus писал (а) >>

Se ao menos fosse possível buscar mais do que apenas o último fractal...................UH!!!

Sim. Por exemplo, marcar (com uma linha vertical) todos os fractais (durante as últimas 9 barras) que têm valor >= 1 em relação à coordenada do fractal recém formado e exibir este valor acima do fractal. A título de ajuda (nem ouso perguntar)....

 

Admiro sua capacidade geral de escrever tais coisas. Eu mesmo sou um lamer, com poucas características. Apenas começando a aprender MQL.

Desculpe por divagar do assunto!

Eu ainda não entendo como escrever:

1. Compare a linha Stochastic para 1 e 2 barras e sua função de sinal quando aparece uma nova barra 0.

(grosso modo, para avaliar a direção do movimento da linha para cima e para baixo e cruzá-los)

2. Como fazer isso a cada hora/ meia hora/15 minutos.

Por favor, me mostre um exemplo simples!?

Ou dar um link para algo semelhante.

Obrigado antecipadamente, mesmo que você o ignore!!!

 
Domynus писал (а) >>

1. Comparação da linha Stochastic para 1 e 2 barras e sua mesma função de sinal quando uma nova barra 0 é formada.

(grosso modo, para avaliar a direção do movimento da linha para cima e para baixo e cruzá-los)

2. Como fazer isso a cada hora/ meia hora/15 minutos.

Por favor, me mostre um exemplo simples!?

Ou dar um link para algo semelhante.

https://book.mql4.com/ru/samples/indicators
https://book.mql4.com/ru/build/conditions

 

Obrigado pelo estocástico.

Pensei que havia algo mais que eu poderia fazer.

E como fazer um comércio apenas uma vez em um determinado intervalo de tempo?

(por exemplo, a investigação do sinal acontece uma vez a cada 15,30 ou 60 minutos)

Interessado na própria função.

 

Função GetNearestUpFractal().

Esta função procura o fractal ascendente mais próximo e retorna seu nível de preço. A peculiaridade desta função é a possibilidade de estabelecer uma fórmula arbitrária para o fractal. A fórmula fractal padrão, geralmente aceita, é 2-2. Isso significa 2 barras à esquerda e 2 barras à direita. Com esta função, você pode realizar até mesmo fractais muito exóticos, tais como 8-2 (8 barras à esquerda e 2 barras à direita) ou 5-3 (5 barras à esquerda e 3 barras à direita) e assim por diante. A função aceita os seguintes parâmetros opcionais:

  • sy - Nome do instrumento. "" ou NULL - símbolo atual. O valor padrão é NULL.
  • tf - Cronograma. Valor padrão 0 - símbolo atual.
  • nl - Número de barras à esquerda. O valor padrão é 2.
  • - Número de barras à direita. Valor padrão - 2.
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 07.10.2006                                                     |
//|  Описание : Возвращает ближайший верхний фрактал                           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (NULL - текущий символ)                 |
//|    tf - таймфрейм                  ( 0 - текущий таймфрейм)                |
//|    nl - количество баров слева                                             |
//|    nr - количество баров справа                                            |
//+----------------------------------------------------------------------------+
double GetNearestUpFractal(string sy="0", int tf=0, int nl=2, int nr=2) {
  bool f;
  int  fb, i, nb=-1;

  if (sy=="" || sy=="0") sy=Symbol();
  if (nl<1) nl=1;
  if (nr<1) nr=1;

  fb=nr;
  while (nb<0) {
    fb++;
    f=True;
    for (i=fb; i>fb-nr; i--) {
      if (iHigh(sy, tf, i)<iHigh(sy, tf, i-1)) { f=False; break; }
    }
    if (f) {
      for (i=fb; i<fb+nl; i++) {
        if (iHigh(sy, tf, i)<iHigh(sy, tf, i+1)) { f=False; break; }
      }
      if (f) { nb=fb; break; }
    }
  }

  return(iHigh(sy, tf, nb));
}