[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 399

 
kolyango:

Definitivamente voy a mirar sus enlaces...

Criterio.mqh.

Escribe el contenido del plugin y ya está, ¡nada se abre ni se descarga!


Y así lo intenté, desde la página anterior: "Haga clic con el botón derecho del ratón en el tráiler, y luego en el menú "guardar como"?

Lo he probado, se está descargando correctamente.


 
Roman.:


¿Has probado de esta manera, desde la página anterior: "Haz clic con el botón derecho del ratón en el tráiler, y luego en el menú "guardar como enlace"?

Lo he probado y me funciona bien.



Descargado. ¿Por qué .mqh y no .mq4?
 

¿Puedes decirme cómo cambiar el color de fondo de la ventana del indicador adicional, o puedes especificar el color de fondo de la ventana adicional en el perfil?

//+------------------------------------------------------------------+
//|                                                  Custom MACD.mq4 |
//|                      Copyright © 2004, MetaQuotes Software Corp. |
//|                                       http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property  copyright "Copyright © 2004, MetaQuotes Software Corp."
#property  link      "http://www.metaquotes.net/"
//---- indicator settings
#property  indicator_separate_window
#property  indicator_buffers 2
#property  indicator_color1  Silver
#property  indicator_color2  Red
#property  indicator_width1  2
//---- indicator parameters
extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;
//---- indicator buffers
double     MacdBuffer[];
double     SignalBuffer[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- drawing settings
   SetIndexStyle(0,DRAW_HISTOGRAM);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexDrawBegin(1,SignalSMA);
   IndicatorDigits(Digits+1);
//---- indicator buffers mapping
   SetIndexBuffer(0,MacdBuffer);
   SetIndexBuffer(1,SignalBuffer);
//---- name for DataWindow and indicator subwindow label
   IndicatorShortName("MACD("+FastEMA+","+SlowEMA+","+SignalSMA+")");
   SetIndexLabel(0,"MACD");
   SetIndexLabel(1,"Signal");
//---- initialization done
   return(0);
  }
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence                           |
//+------------------------------------------------------------------+
int start()
  {
   int limit;
   int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
//---- macd counted in the 1-st buffer
   for(int i=0; i<limit; i++)
      MacdBuffer[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
//---- signal line counted in the 2-nd buffer
   for(i=0; i<limit; i++)
      SignalBuffer[i]=iMAOnArray(MacdBuffer,Bars,SignalSMA,0,MODE_SMA,i);
//---- done
   return(0);
  }
//+------------------------------------------------------------------+
 
kolyango:

Descargado. ¿Por qué .mqh y no .mq4?


Porque se trata de un archivo plug-in, por ejemplo,

#include <stdlib.mqh>
#include <stderror.mqh>
//#include <dynamic_channel.mqh>             // динамический канал
#include <TrailingByFractals.mqh>          // trailing
leer el tutorial - esta es la directiva #include.
 

¡Buenas tardes!

¿Pueden decirme cómo dibujar una barra vertical (histograma) de 0 a 4 (por ejemplo) en la subventana (objeto gráfico)?

La cuestión es que la subventana del indicador contiene una línea 0 a ambos lados de la cual se muestra la señal de ruptura (venta a la baja, compra al alza).

Sé cómo hacerlo con un búfer, pero no hay búferes disponibles, se agotaron.

Gracias.

 
LOA:

¡Buenas tardes!

Por favor, dígame cómo dibujar una barra vertical (histograma) de 0 a 4 (por ejemplo) en una subventana (objeto gráfico)


ObjectCreate
 
sergeev:
ObjectCreate

Está claro que con la función ObjectCreate
pero la dificultad estriba en cómo asignar valores a los objetos gráficos en función de la dirección de la señal 4 o -4 respecto a la línea cero.
 
artmedia70:

Es tan sencillo como eso. Usemos las banderas como un semáforo. Habrá tres bloques de código, cada uno de los cuales se ejecutará sólo si el anterior ya se ha ejecutado.

Inicialmente todas las banderas ==false.

En cuanto se haya ejecutado el primero, ponemos first flag=true; Ahora se ejecuta el segundo bloque de código. Tan pronto como se cumpla su condición, establece la segunda bandera=true;
Ahora se ejecuta el tercer bloque de código. En cuanto se cumpla su condición, establece la tercera bandera=true; Y así sucesivamente.



¿Me das un enlace para leer más sobre las banderas con descripciones de sus acciones y ejemplos de cómo usarlas?
 
LOA:

Esto es comprensible con la función ObjectCreate
pero la dificultad estriba en cómo asignar valores a los objetos gráficos en función de la dirección de la señal 4 o -4 respecto a la línea cero.

Se agotan los búferes ))

#property indicator_separate_window
#property indicator_minimum -8
#property indicator_maximum 8
void start()  {
   ObjectsDeleteAll(1);
   for(int i=0;i<WindowBarsPerChart();i++){
         if(Open[i]>iMA(0,0,5,1,1,4,i))
            double xz=4;
         else xz=-4;
         ObjectCreate(i+" f",OBJ_TREND,1,iTime(0,0,i),0,iTime(0,0,i),xz);
         ObjectSet(i+" f", OBJPROP_RAY, 0);
   }
   WindowRedraw();
}
 
costy_:

Nos quedamos sin topes ))

¿Por qué enseña a programar de forma incorrecta?

ObjectsDeleteAll(1);

¿Cómo se sabe que este descriptor de ventana del indicador == 1?

Razón de la queja: