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º - 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 - количество баров справа |//+----------------------------------------------------------------------------+doubleGetNearestDownFractal(stringsy="0", inttf=0, intnl=2, intnr=2){boolf;
intfb, 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));
}
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)....
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º - Número de barras à direita. Valor padrão - 2.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 07.10.2006 |//| Описание : Возвращает ближайший верхний фрактал |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента (NULL - текущий символ) |//| tf - таймфрейм ( 0 - текущий таймфрейм) |//| nl - количество баров слева |//| nr - количество баров справа |//+----------------------------------------------------------------------------+doubleGetNearestUpFractal(stringsy="0", inttf=0, intnl=2, intnr=2){boolf;
intfb, 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));
}
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:
Exemplos de como usar GetNearestDownFractal().
PS. Em anexo está um roteiro para testar a função GetNearestDownFractal().
Exemplos de como usar GetNearestDownFractal().
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!!!
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!!!
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
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: