[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 192

 

NewBar() é chamado; mas se você olhar por tempo suficiente, você não vai piorar as coisas para si mesmo :)

 

newbar https://book.mql4.com/ru/variables/arrays

Conceptualmente, não é diferente.

void Fun_New_Bar()                              // Ф-ия обнаружения ..
  {                                             // .. нового бара
   static datetime New_Time=0;                  // Время текущего бара
   New_Bar=false;                               // Нового бара нет
   if(New_Time!=Time[0])                        // Сравниваем время
     {
      New_Time=Time[0];                         // Теперь время такое
      New_Bar=true;                             // Поймался новый бар
     }
  }

 
splxgf:

newbar https://book.mql4.com/ru/variables/arrays

Conceptualmente, não é diferente.


Não conceitualmente, mas não vai funcionar - desculpe por isso.
 
No indicador ADX está escrito muito, mas há uma característica que eu gostaria de levar em conta, aqui em resumo....E você pode fazer as barras coloridas neste algoritmo: se o valor atual do ADX for maior que o ADX anterior e + (linha mais) acima da linha menos, a barra é pintada em verde, mas se o valor atual do ADX for menor que o valor anterior, a barra é pintada em cinza (não importa onde a linha mais), e finalmente se o valor atual do ADX for maior que o ADX anterior e - (linha menos) acima da linha mais, a barra é pintada em vermelho. Ou, se eu quisesse mudar o valor ADX, eu poderia simplesmente defini-lo para um valor acima do qual as setas não seriam desenhadas.
 
splxgf:
double OpenBar=0; 
 
int start()
   {
    //Проверка на начало нового бара
    if (OpenBar==Time[0]) return; else OpenBar=Time[0];
   }

Eu não brincaria com uma variável do tipo duplo aqui! Você precisa de mais memória! ;)))

E quando ocorre a conversão do tipo int para o tipo alvo duplo, entendo que não haverá dígitos extras após um ponto decimal? Eu pessoalmente não me deparei com tais casos. Mas vale a pena perguntar.


tara:

Conceitualmente - nada, mas não vai funcionar, desculpe.
Qual código não vai funcionar e por quê?
 

Aquela que você citou sentirá falta de algumas das barras.

 
tara:

Aquela que você citou sentirá falta de algumas das barras.


Sugira sua própria variante e explique por que ela é melhor. Até agora, são apenas palavras.
 

1. Parte das barras em falta será, porque o resultado da comparação double===int depende do valor int particular que foi colocado anteriormente em dobro. Isto é exatamente o que acontece aqui: o tempo (int) é escrito em dobro - para todos os números que não são graus de dois há uma perda de precisão, o que resulta em duplo3 != int3, embora duplo4 == int4.

2. Entendo que isto é apenas um erro técnico de alguém, depois repetidamente propagado. Na verdade, você deve apenas corrigir o tipo OpenBar até a data ou int. Mas - o sono da mente desova monstros: é mais fácil apenas repetir o código de outra pessoa e fechar os olhos :)

3. Solução incorreta em termos de alocação de memória: uma variável estática local é suficiente aqui, uma variável global extra é inútil - lixo de software, embora seja uma bagatela :(

 
tara:

1. Parte das barras em falta será, porque o resultado da comparação double===int depende do valor int particular que foi colocado anteriormente em dobro. Isto é exatamente o que acontece aqui: o tempo (int) é escrito em dobro - para todos os números que não são graus de dois há uma perda de precisão, o que resulta em duplo3 != int3, embora duplo4 == int4.

2. Entendo que isto é apenas um erro técnico de alguém, depois repetidamente propagado. Na verdade, você só deve consertar o tipo OpenBar no dobro. Mas o sono da razão gera animais: é mais fácil apenas repetir o código de outra pessoa e fechar os olhos :)

3. Solução incorreta em termos de alocação de memória: uma variável estática local é suficiente aqui, uma variável global extra é inútil - lixo do programa, embora seja uma bagatela :(


Ainda há algum código a ser citado. Estou cansado de repetir a mesma coisa cinco páginas depois. Especialmente porque a solução certa é fácil de encontrar através de uma busca
 

Bom dia a todos!

Pergunta sobre EAs. Olhando através de muitos EAs, quero entender como os negócios são feitos automaticamente. Acho que montei tudo corretamente, permito que o Expert Advisor negocie, e entendo a idéia, mas não há negócios por alguma razão. Talvez, ele seja aplicado a um certo símbolo? Ou um cronograma? Como posso descobrir?