Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 768

 

Procurei em todo o fórum, não consegui encontrar uma maneira de calcular automaticamente o deslocamento de setas/íclones no indicador (quando você troca o TF você precisa ajustar o deslocamento), mas sei que há alguns meses alguém postou uma função pronta

POR FAVOR! ))))

 
Igor Makanu:

Procurei em todo o fórum, não consegui encontrar uma maneira de calcular automaticamente o deslocamento de setas/íclones no indicador (quando você troca o TF você precisa ajustar o deslocamento), mas sei que há alguns meses alguém postou uma função pronta

POR FAVOR! ))))

Isto?

Как увеличить размер Wingdings-символа?
Как увеличить размер Wingdings-символа?
  • 2018.09.09
  • www.mql5.com
Смотрю я на свойства. Нет там, вроде бы, нужного...
 
Artyom Trishkin:

Isto?

legal!

ZS: Uma coisa que eu não entendo é porque procurei por cerca de 20 minutos e pensei ter me lembrado que Vitaly o postou (procurei seus posts), mas você o encontrou e eu não o encontrei (((((

 
Igor Makanu:

legal!

ZS: Não entendo uma coisa, por que procurei por 20 minutos e lembrei com certeza que Vitaly postou (procurei em seus posts), mas você encontrou e eu não (((((

O quebra-cabeça se abre: bloco de notas e um arquivo chamado "Usefulness" (utilidade). O que eu vejo que pode ser útil para alguém em algum lugar, e não é trivial - digito o link para o posto e uma breve descrição. Tem sido assim durante anos... Estamos aqui para ajudar as pessoas, não apenas para "cuidar" da ordem

 
Ghabo:

Obrigado. Meus músculos não são suficientes) Não é difícil fixar o momento em que a cor vermelha muda para azul, mas como saber que, neste momento, a linha azul está coberta de preto, não tenho idéia. Que condição deve ser acrescentada a ela:-

para excluir o sinal quando a barra cruza a linha preta? Em sua captura de tela conte a última travessia para cima e não conte a travessia das três barras anteriores.

É mais fácil, enquanto as barras se fecham acima da linha EMA(21), elas são escritas em um buffer (azul), abaixo dele são escritas em outro (vermelho). Para excluir o sinal de cruzamentos desta linha, pelo menos duas barras em fila devem ser fechadas ou mais alto ou mais baixo.
Para o código, seria o seguinte:

        bool
        b = false,
        s = false; //обе эти переменные должны быть объявлены за пределами всех блоков программы

        BUY_1=NormalizeDouble(iCustom(NULL,0,"4X Pip Snager Trend",1,1),Digits);
        
        if(BUY_1 != EMPTY_VALUE)
          {
                // первичный вход в этот блок означает, что 1 бар закрыт выше линии, но действие при этом не выполняется т. к. b == false (либо изначально, либо было сброшено в блоке else)
                // вторичный и все последующие подряд входы в этот блок означают, что, как минимум 2 бара подряд закрыто выше линии и действие будет выполнятся т. к. в предыдущем входе b присвоено значение true
                if(b)
                  {
                // ДЕЙСТВИЕ ДЛЯ СИНЕЙ ЛИНИИ
                  }     
                b = true;
                s = false;
          }
        elae
          {
                // аналогично, как и в блоке выше
                if(s)
                  {
                // ДЕЙСТВИЕ ДЛЯ КРАСНОЙ ЛИНИИ
                  }
                b = false;
                s = true;
          }
 
Igor Makanu:

legal!

ZS: uma coisa que eu não entendo é porque eu procurei por 20 minutos e pensei que tinha me lembrado que Vitaly tinha postado (procurei seus posts), mas você encontrou e eu não (((((

Mas este método não leva em conta a rolagem do gráfico pelo usuário, esse é o ponto principal. Colocar o indicador em um período volátil e depois rolar para um período plano, ou vice versa.
Nesse sentido, faz mais sentido confiar em alguns dados ATR para calcular a distância.
Se você não quiser rastrear a rolagem do gráfico pelo usuário para reorganizar todas as setas com base nos novos preços extremos do gráfico.

 
Aqui está um exemplo baseado em um fractal. Fiz 2 amortecedores adicionais. Para fractal é desnecessário, pois você pode simplesmente usar o preço do castiçal como referência. Mas para sua tarefa esta variante pode ser necessária.
Arquivos anexados:
 
Nikolay Khrushchev:
Aqui está um exemplo baseado em um fractal. Fabricou 2 amortecedores extras. Para um fractal, ela é redundante porque se pode simplesmente se referir ao preço de uma vela. Mas esta variante pode ser útil para sua tarefa.

Obrigado!

sim, tenho uma tarefa muito mais simples - eu assino cerca de 30 nós ZigZag com números de nós, sem etiquetas de texto na história, mais adiante


Artyom Trishkin:

O quebra-cabeça se abre simplesmente: bloco de notas e o arquivo com o nome "Utilidade". O que vejo que pode ser útil para alguém, e não é trivial - coloquei um link para o posto e uma breve descrição. Tem sido assim durante anos... Estamos aqui para ajudar as pessoas, não apenas para "cuidar" da ordem

persuadido, na KB utilidade de preencher, a não dizer que sinto muito, então eu não compartilho, apenas acompanho seus códigos, não tenho certeza de que vou, e discuto o que e como já estou cansado

ZS: do interessante e pronto, cerca de 98%:

1 . acesso aos vértices ZigZag como um conjunto de estruturas (lista dinâmica e sobrecarga do operador [] ), tudo parece voar e é muito conveniente que você escreva ZZ[2].price... ZZ[i]. para cima = verdadeiro

2. Segundo gráfico por meio do MT4

fora disto (1-2), há algo interessante para o fórum? - ou é como em qualquer outro lugar, nos dê um código 100% pronto, não faremos nada por conta própria ((((

 
Igor Makanu:

Obrigado!

sim, tenho uma tarefa muito mais simples - eu assino cerca de 30 nós ZigZag com números de nós, sem etiquetas de texto na história, mais adiante


persuadido, na KB utilidade de preencher, a não dizer que sinto muito, então eu não compartilho, apenas acompanho seus códigos, não tenho certeza de que vou, e discuto o que e como já estou cansado

ZS: do interessante e pronto, cerca de 98%:

1 . acesso aos vértices ZigZag como um conjunto de estruturas (lista dinâmica e sobrecarga do operador [] ), tudo parece voar e é muito conveniente que você escreva ZZ[2].price... ZZ[i]. para cima = verdadeiro

2. Segundo gráfico por meio do MT4

fora disto (1-2), há algo interessante para o fórum? - ou é como em qualquer outro lugar, nos dê um código 100% pronto, não faremos nada por conta própria ((((

Bem, você pode obter algo útil e às vezes até incomum de cada código.

O Codebase foi projetado exatamente para este fim, não para o que duas pessoas fazem com ele.

P.S. Isto me dá uma boa idéia, eu preciso reescrever uma série de estruturas, de alguma forma eu nem mesmo pensei nisso antes.
 
Vitaly Muzichenko:
P.S. Isto me deu uma boa idéia, eu deveria reescrevê-la também na matriz da estrutura, nunca tinha pensado nisso antes.

A matriz da estrutura é um pouco mais simples, mas a funcionalidade é menor, eu o fiz através de listas dinâmicas CList - a implementação é bastante simples, mas é difícil se acostumar a trabalhar com ponteiros em MQL, vou tentar finalizar o código e postá-lo em KB