Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 195

 

¡Hola!

Pido ayuda a los profesionales.

Por favor, aconsejar cómo implementar la función de redibujar las líneas después de la aparición de una nueva vela. y para diferentes marcos de tiempo.

La idea del indicador es muy simple: mira el máximo y el mínimo de la vela anterior, añadiendo 50 puntos al máximo y 50 puntos al mínimo.

Gracias.

Archivos adjuntos:
help.mq4  1 kb
 
Zhunko:
La biblioteca. La biblioteca tiene todo lo necesario para ello. Apartados 4.3 y 4.6.


Vadim: anécdota.

El zootécnico insemina a las vacas con una jeringa y se va. Una hermosa mujer espera a la salida y le pide un beso.

 
neon51r:

¡Hola!

Pido ayuda a los profesionales.

Por favor, aconsejar cómo implementar la función de redibujar las líneas después de la aparición de una nueva vela. y para diferentes marcos de tiempo.

La idea del indicador es muy simple: mira el máximo y el mínimo de la vela anterior, añadiendo 50 puntos al máximo y 50 puntos al mínimo.

Gracias.



Es de un libro de texto.

//--------------------------------------------------------------------
// 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()
  }
//---------------------------------------------------------------------
 

ayuda con la sintaxis

int k=OrdersTotal();

//+--establecer órdenes si no hay órdenes
si (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) ; }


¿se harán los dos pedidos o sólo uno?

Necesito que los búhos hagan dos pedidos pendientes si no hay pedidos

 
sdm:

...

¿se colocarán las dos órdenes o una?



Habrá 0, 1 o 2 pedidos.
 
neon51r:

¡Hola!

Pido ayuda a los profesionales.

Por favor, aconsejar cómo implementar la función de redibujar las líneas después de la aparición de una nueva vela. y para diferentes marcos de tiempo.

La idea del indicador es muy simple: mira el máximo y el mínimo de la vela anterior, añadiendo 50 puntos al máximo y 50 puntos al mínimo.

Gracias.


En cuanto llegue la nueva vela, se volverá a dibujar.

 
Integer:

Será de 0, 1 o 2 órdenes.

tiene que poner las dos órdenes cuando no hay órdenes

No entiendo cómo funciona, según el tutorial parece que colocará el primer pedido y el segundo sólo si hay pedidos, pero ¿cómo hago para que coloque los dos si se cumple la condición y ninguno si no se cumple?

 
sdm:

necesito que haga los dos pedidos cuando no hay pedidos

no entiendo como funciona si en el tutorial se ve que colocará la primera orden y la segunda solo si hay órdenes, pero como debo hacer para que coloque ambas si se cumple la condición y ninguna si no se cumple la condición


No hay problema con la condición, ambas solicitudes se establecerán, pero nadie puede garantizar que ambas se ejecuten.
 

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

si (x==0) {

}

¿qué debo escribir entre paréntesis para que a tome el valor 1 y b tome el valor 1?

 
sdm:

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

si (x==0) {

}

¿qué debo escribir entre paréntesis para que a tome el valor 1 y b tome el valor 1?


La forma más fácil es escribir {a=1; b=1}, pero puedes inventar alguna bonita fórmula de varias páginas para calcularlas si realmente quieres.