[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.
[Excluído]  
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?