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 195

 

Olá!

Estou pedindo a ajuda de profissionais.

Favor aconselhar como implementar a função de redesenhar as linhas após o aparecimento de uma nova vela. e por diferentes períodos de tempo.

A idéia do indicador é muito simples - olha para cima e para baixo da vela anterior, adicionando 50 pontos para cima e 50 pontos para baixo.

Obrigado.

Arquivos anexados:
help.mq4  1 kb
 
Zhunko:
A biblioteca. A biblioteca tem tudo para isso. Seções 4.3 e 4.6.


Vadim: anedota.

O zootecnista inseminou as vacas com uma seringa e saiu. Uma bela mulher espera na saída e pede um beijo.

 
neon51r:

Olá!

Estou pedindo a ajuda de profissionais.

Favor aconselhar como implementar a função de redesenhar as linhas após o aparecimento de uma nova vela. e por diferentes períodos de tempo.

A idéia do indicador é muito simples - olha para cima e para baixo da vela anterior, adicionando 50 pontos para cima e 50 pontos para baixo.

Obrigado.



É de um livro didático.

//--------------------------------------------------------------------
// userindicator.mq4 
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
#property indicator_chart_window    // Индик. рисуется в основном окне
#property indicator_buffers 2       // Количество буферов
#property indicator_color1 Blue     // Цвет первой линии
#property indicator_color2 Red      // Цвет второй линии
 
double Buf_0[],Buf_1[];             // Объявление массивов (под буферы индикатора)
//--------------------------------------------------------------------
int init()                          // Специальная функция init()
  {
   SetIndexBuffer(0,Buf_0);         // Назначение массива буферу
   SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линии
   SetIndexBuffer(1,Buf_1);         // Назначение массива буферу
   SetIndexStyle (1,DRAW_LINE,STYLE_DOT,1);// Стиль линии
   return;                          // Выход из спец. ф-ии init()
  }
//--------------------------------------------------------------------
int start()                         // Специальная функция start()
  {
   int i,                           // Индекс бара
       Counted_bars;                // Количество просчитанных баров 
//--------------------------------------------------------------------
   Counted_bars=IndicatorCounted(); // Количество просчитанных баров 
   i=Bars-Counted_bars-1;           // Индекс первого непосчитанного
   while(i>=0)                      // Цикл по непосчитанным барам
     {
      Buf_0[i]=High[i]+50*Point;             // Значение 0 буфера на i-ом баре
      Buf_1[i]=Low[i]-50*Point;              // Значение 1 буфера на i-ом баре
      i--;                          // Расчёт индекса следующего бара
     }
//--------------------------------------------------------------------
   return;                          // Выход из спец. ф-ии start()
  }
//---------------------------------------------------------------------
 

ajuda com a sintaxe

int k=OrdersTotal();

//+---definir ordens se não houver ordens
if (k==0) {OrderSend(Symbol(),OP_BUYSTOP,v,PriceBs+Tp*Point,0,Sl,PriceBs+2*Tp*Point,NULL,mn,0,Red)

OrderSend(Symbol(),OP_SELLSTOP,v,PriceSs-Tp*Point,0,Sl,PriceSs-2*Tp*Point,NULL,mn,0,Gold) ; }


os dois pedidos serão feitos ou apenas um?

Preciso que me façam dois pedidos pendentes se não houver pedidos

 
sdm:

...

as duas garantias serão colocadas ou uma só?



Haverá 0, 1 ou 2 pedidos.
 
neon51r:

Olá!

Estou pedindo a ajuda de profissionais.

Favor aconselhar como implementar a função de redesenhar as linhas após o aparecimento de uma nova vela. e por diferentes períodos de tempo.

A idéia do indicador é muito simples - olha para cima e para baixo da vela anterior, adicionando 50 pontos para cima e 50 pontos para baixo.

Obrigado.


Assim que a nova vela chegar, ela se desenhará de novo.

 
Integer:

Serão 0, 1 ou 2 ordens.

precisa colocar as duas ordens quando não há ordens

Não entendo como funciona. De acordo com o tutorial, parece que ele só fará a primeira encomenda e a segunda apenas se houver encomendas, mas como devo fazer para que ambas sejam feitas se a condição for cumprida e nenhuma delas se a condição não for cumprida?

 
sdm:

Preciso que faça os dois pedidos quando não há pedidos

ou eu não defini corretamente a condição? não entendo como funciona se no tutorial parece que vai colocar a primeira ordem e a segunda somente se houver ordens, mas como devo fazer para que ela coloque tanto se a condição for atendida quanto nenhuma se a condição não for atendida


Está tudo bem com a condição, ambos os pedidos serão definidos, mas ninguém pode garantir que ambos serão executados.
 

int x=0, a=0, b=0

se (x==0) {

}

o que devo escrever entre parênteses, para que a tome valor 1 e b tome valor 1 ?

 
sdm:

int x=0, a=0, b=0

se (x==0) {

}

o que devo escrever entre parênteses, para que a tome valor 1 e b tome valor 1 ?


A maneira mais fácil é escrever {a=1; b=1}, mas você pode inventar alguma fórmula de várias páginas para calculá-las, se realmente quiser.