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

 
AlexeyVik:

Meu entendimento é que PC-- > MA é o mesmo que PC-1 > MA


Mas por que não funciona em uma combinação como esta?

Embora, na figura abaixo, tudo isso se soma.


if (PC-->MA && Ask == MA)
OrderSend("EURUSD",OP_BUY,1,Ask,3,Ask-30*Point, Ask+30*Point);
 
inuboh:

Funciona! Mas por que não funciona nesta combinação?

Embora na figura abaixo, tudo se encaixe.


Leia sobre a comparação de números reais
 
inuboh:

Mas por que não funciona em uma combinação como esta?

Embora na figura abaixo tudo se encaixe


Nada ali converge. Muitas vezes acontece que o preço é mais alto do que MA no carrapato anterior, e o preço já é menor do que MA neste carrapato, mas a igualdade exata não acontece, ou acontece tão raramente que ninguém jamais o viu. Especialmente, não pode ser visto em carrapatos de teste. Não pode ser visto na tabela. E para subtrair uma unidade inteira do preço duplo e depois compará-la com MA, como"PC--> MA" - não servirá em nada, tal comparação nunca obterá a verdade.

 

Bom dia a todos vocês. Uma palavra de conselho...

Estou escrevendo um indicador. Preciso de um indicador separado na janela superior - dados novos (valores de tick) a serem desenhados à direita - como o preço - com uma seta verde.

Eu edito indicador do tutorial - meus novos dados (novos valores de tick) são desenhados à esquerda - seta vermelha...

Ajude-me a mudar o desenho deles. Estar à direita, como no preço e como no indicador superior em uma janela separada do terminal. Obrigado.

//--------------------------------------------------------------------
// separatewindow.mq4 
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
#property indicator_separate_window // Отображение в отдельном окне
#property indicator_buffers 1       // Количество буферов
#property  indicator_color1 Blue     // Цвет первой линии
#property  indicator_color2 Red      // Цвет второй линии
 
extern int History  =100;           // Колич.баров в расчётной истории
//extern int Aver_Bars=5;             // Количество баров для расчёта
 
double Buf_0[];                     // Объявление индикаторного массива
int Count=0;                        // Глобальная перемен.
//--------------------------------------------------------------------
int init()                          // Специальная функция init()
  {
   SetIndexBuffer(0,Buf_0);         // Назначение массива буферу
   SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линии
   //--- установим индексацию для буфера как в таймсерии
   ArraySetAsSeries(Buf_0,true);

   return(0);                          // Выход из спец. ф-ии init()
  }
//--------------------------------------------------------------------
int start()                         // Специальная функция start()
  {
   int i,                           // Индекс бара
   n,                               // Формальный параметр
   Counted_bars;                    // Количество просчитанных баров 
   double
   Sum_H,                           // Сумма значений High за период
   Sum_L;                           // Сумма значений Low  за период
//--------------------------------------------------------------------
 /*  Counted_bars=IndicatorCounted(); // Количество просчитанных баров 
   i=Bars-Counted_bars-1;           // Индекс первого непосчитанного
   if (i>History-1)                 // Если много баров то ..
      i=History-1;                  // ..рассчитывать заданное колич.
 while(i>=0)                      // Цикл по непосчитанным барам
     {
        Sum_H=0;                      // Обнуление в начале цикла
      Sum_L=0;                      // Обнуление в начале цикла
      for(n=i;n<=i+Aver_Bars-1;n++) // Цикл суммирования значений 
        {
         Sum_H=Sum_H + High[n];     // Накопление суммы макс.значений
         Sum_L=Sum_L + Low[n];      // Накопление суммы мин. значений
        }
      Buf_0[i]=(Sum_H-Sum_L)/Aver_Bars;// Знач. 0 буфера на i-ом баре
     
     
      i--;                          // Расчёт индекса следующего бара
      */
      double Price = NormalizeDouble(MarketInfo(_Symbol,MODE_BID),Digits); 
      Buf_0[Count] = Price;
                          
   Count++;                                     // Счётчик тиков
   Comment ("Новый тик ",Count,"   Цена = ",Price);// Сообщение
     
    
//--------------------------------------------------------------------
   return(0);                          // Выход из спец. ф-ии start()
  }
 
Olá! sou novo aqui. Alguém pode por favor me dizer ou me dar um link onde eu possa aprender a usar a funcionalidade completa do mt4
 

Olá a todos!

Pergunta:

bilhete = OrderSend(blah, blah, blah, blah, ......................)

Depois de rever o tutorial, documentação, artigos e fórum, vi essa variável doticket - alguns a colocam dentro da função OnTick()

- Outros a colocam do lado de fora (tornando-a externa).ou seja, na frente de (tornando-o externo, eles fizeram um estatuto)

- alguns simplesmente o declaram ( int ticket; )

- outros o atribuem a 0 (que é o mesmo que uma simples declaração)

- outros atribuem -1

Se isso for significativo (exceto em casos individuais), poderia levar a erros, se for o caso, como é correto? ? ?

Obrigado!

 
evillive:

Nada aí cabe. Acontece frequentemente que no tick anterior o preço está acima do MA, e neste tick o preço já está abaixo do MA, mas a igualdade exata não acontece, ou acontece tão raramente que ninguém jamais viu. Especialmente, não pode ser visto em carrapatos de teste. Não pode ser visto na tabela. Bem, subtrair uma unidade inteira do preço e depois compará-la com MA, como"PC-- > MA" - não funciona de forma alguma, tal comparação nunca retornará a verdade.

Eu peguei, obrigado! Basta me dizer algo para o futuro: por exemplo, se eu tiver uma linha (pode ser um muving), como devo escrever, que quando o preço Ask chegar a essa linha, uma ordem de compra será aberta? ))
 
pavlo555:
Olá, sou novo aqui. Alguém pode por favor me dizer ou me dar um link onde eu possa aprender a usar a funcionalidade completa do mt4

 
inuboh:
Eu peguei, obrigado! Você pode me dizer algo para o futuro: por exemplo, se eu tiver uma linha (pode ser um muving), como posso escrever, que quando o preço Ask atingir essa linha, uma ordem de compra será aberta? ))
Se Ask(1) for menor que MA e Ask(0) for maior ou igual a MA, ou seja, um touch-down abaixo, você pode comprar. Mas no próximo período o preço pode "mudar de idéia" e ir ainda mais baixo, é normal, tal é o mercado.
Razão: