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

 
Hola a todos! Queridos compañeros, ayuda con la siguiente pregunta. Indicador estándar OSM + indicador MA (sólo bajado al sótano). ¿Cómo llevar la lectura del indicador MA hasta el sótano? Si utilizamos el indicador MA estándar, aplicamos un precio de 0 a 6, y si bajamos al sótano, ponemos "aplicar a" a 8. Supongo que tenemos que cambiar el indicador MA en sí (sólo lo que cambiar allí, no sé) y luego utilizar la función iCustom.

Le agradecería su ayuda.


 
alexey1979621:
Hola a todos! Queridos compañeros, ayuda con la siguiente pregunta. Indicador estándar + indicador MA (sólo bajado al sótano). ¿Cómo tomar las indicaciones del indicador MA bajado en el sótano? Si utilizamos un indicador estándar МА, aplicamos un precio de 0 a 6, pero si descendemos al sótano, establecemos "aplicar a" a 8. Supongo que deberíamos cambiar el indicador MA en sí (pero no sé qué cambiar allí) y luego usar la función iCustom.

Le agradecería su ayuda.


Se toma un array del indicador OSM y ImaOnArray con todos los parámetros МА.
 
solnce600:

¡¡¡Buena gente!!!

Ayúdame a encontrar un error. Estoy aprendiendo sobre Arrays.

He creado una matriz en un archivo de inclusión.

Puse una referencia al archivo de inclusión en mi Asesor Experto.

No puedo entender por qué.

En los códigos de error del enlace de localización de archivos

http://clip2net.com/s/jkTd89

Gracias.

¿Quizás el problema esté en el nombre y la ruta del archivo? Intenta nombrar los archivos en caracteres latinos y sin puntos.
 
solnce600:

¡¡¡Buena gente!!!

Ayúdame a encontrar un error. Estoy aprendiendo sobre Arrays.

He creado una matriz en un archivo de inclusión.

Puse una referencia al archivo de inclusión en mi Asesor Experto.

No puedo entender por qué.

En los códigos de error del enlace de localización de archivos

http://clip2net.com/s/jkTd89

Gracias.

Ruta sospechosa. ../Archivos de programa/... En realidad, todos los archivos deben estar en la ruta como C:\NUsers\***AppData\NRoaming\NMetaQuotes\NTerminal******************\MQL4\Include
 
barabashkakvn:
Ruta sospechosa. ../Archivos de programa/... En realidad, todos los archivos deben estar ubicados en la ruta como C:\NUsers\***AppData\NRoaming\NMetaQuotes\NTerminal******************\MQL4\Include
De hecho, puedes ejecutar el terminal en el portátil ;)
 
evillive:
De hecho, puedes ejecutar el terminal en portable ;)
Puedes usar /Interruptor portátil, pero no somos telépatas, ¿verdad? Y dicha llave es utilizada por pocas personas.
 

Me puedes decir por favor cómo hacer que los datos del indicador se muestren como velas o sólo barras verticales como aquí:

En el propio código no está claro cómo hacerlo. El estilo DRAW_HISTOGRAM sólo dibuja una línea vertical en cada barra desde el borde inferior de la ventana, pero no una vela.

/// это начало ///

#property indicator_chart_window
#property indicator_buffers 6

#property  indicator_style1 STYLE_DOT
#property  indicator_width1 1
#property  indicator_color1 Sienna

#property  indicator_style2 STYLE_DOT
#property  indicator_width2 1
#property  indicator_color2 Sienna

#property  indicator_style3 STYLE_SOLID
#property  indicator_width3 2
#property  indicator_color3 DodgerBlue

#property  indicator_style4 STYLE_SOLID
#property  indicator_width4 2
#property  indicator_color4 DodgerBlue

#property  indicator_style5 STYLE_SOLID
#property  indicator_width5 1
#property  indicator_color5 DodgerBlue

#property  indicator_style6 STYLE_SOLID
#property  indicator_width6 1
#property  indicator_color6 DodgerBlue

/// это в процедуре OnInit() ///

   SetIndexBuffer(0, ForecastCloudHigh);
   SetIndexStyle(0, DRAW_HISTOGRAM, EMPTY, EMPTY, IndicatorCloudColor);
   SetIndexShift(0, ForecastBars - Offset);
   
   SetIndexBuffer(1, ForecastCloudLow);
   SetIndexStyle(1, DRAW_HISTOGRAM, EMPTY, EMPTY, IndicatorCloudColor);
   SetIndexShift(1, ForecastBars - Offset);
   
   SetIndexBuffer(2, ForecastBestPatternOpen);
   SetIndexStyle(2, DRAW_HISTOGRAM, STYLE_SOLID, EMPTY, IndicatorBestPatternColor);
   SetIndexShift(2, ForecastBars - Offset);

   SetIndexBuffer(3, ForecastBestPatternClose);
   SetIndexStyle(3, DRAW_HISTOGRAM, STYLE_SOLID, EMPTY, IndicatorBestPatternColor);
   SetIndexShift(3, ForecastBars - Offset);

   SetIndexBuffer(4, ForecastBestPatternHigh);
   SetIndexStyle(4, DRAW_HISTOGRAM, STYLE_SOLID, EMPTY, IndicatorBestPatternColor);
   SetIndexShift(4, ForecastBars - Offset);
   
   SetIndexBuffer(5, ForecastBestPatternLow);
   SetIndexStyle(5, DRAW_HISTOGRAM, STYLE_SOLID, EMPTY, IndicatorBestPatternColor);
   SetIndexShift(5, ForecastBars - Offset);

/// а это уже заполнение в процедуре-обработчике ///

         ForecastBestPatternOpen[indexBar] = xcbase + ((iOpen(NULL, 0, altindex) - ycbase) * sAlt[0]);
         ForecastBestPatternClose[indexBar] = xcbase + ((iClose(NULL, 0, altindex) - ycbase) * sAlt[0]);
         ForecastBestPatternHigh[indexBar] = xcbase + ((iHigh(NULL, 0, altindex) - ycbase) * sAlt[0]);
         ForecastBestPatternLow[indexBar] = xcbase + ((iLow(NULL, 0, altindex) - ycbase) * sAlt[0]);
 
Awwl:

Me puedes decir como hacer que los datos del indicador se muestren como velas o solo barras verticales como aquí:

En el propio código no está claro cómo hacerlo. El estilo DRAW_HISTOGRAM sólo dibuja una línea vertical en cada barra desde el borde inferior de la ventana, pero no una vela.

La forma más sencilla es dibujar en mql5, utilizando el estilo de dibujoDRAW_CANDLES oDRAW_COLOR_CANDLES. Desgraciadamente, en mql4 no se pueden dibujar velas así como así.
 
Awwl:

Me puedes decir como hacer que los datos del indicador se muestren como velas o solo barras verticales como aquí:

En el propio código no está claro cómo hacerlo. El estilo DRAW_HISTOGRAM sólo dibuja una línea vertical en cada barra desde el borde inferior de la ventana, pero no una vela.

Si descubres cómo funciona el indicador Heiken Ashi (incluido en el terminal), lo entenderás todo.
 
evillive:
Si entiendes cómo se configura el indicador Heiken Ashi (el terminal viene con él), lo entenderás todo.

El Heiken Ashi incorporado parece un poco subdesarrollado (¿me pregunto si soy sólo yo en el 745?), pero está claro cómo funciona. ¡Y no está claro cómo se construye WmiFor!

En el código Heiken Ashi se dibuja una vela a partir de 4 histogramas de barras:

#property indicator_separate_window
#property indicator_buffers 4
#property  indicator_color1 Red
#property  indicator_color2 White
#property  indicator_color3 Red
#property  indicator_color4 White
#property  indicator_width1 1
#property  indicator_width2 1
#property  indicator_width3 3
#property  indicator_width4 3

//---
input color ExtColor1 = Red;    // Shadow of bear candlestick
input color ExtColor2 = White;  // Shadow of bull candlestick
input color ExtColor3 = Red;    // Bear candlestick body
input color ExtColor4 = White;  // Bull candlestick body
//--- buffers
double ExtLowHighBuffer[];
double ExtHighLowBuffer[];
double ExtOpenBuffer[];
double ExtCloseBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//|------------------------------------------------------------------|
void OnInit(void)
  {
   IndicatorShortName("Heiken Ashi");
   IndicatorDigits(Digits);
//--- indicator lines
   SetIndexStyle(0,DRAW_HISTOGRAM,0,1,ExtColor1);
   SetIndexBuffer(0,ExtLowHighBuffer);
   SetIndexStyle(1,DRAW_HISTOGRAM,0,1,ExtColor2);
   SetIndexBuffer(1,ExtHighLowBuffer);
   SetIndexStyle(2,DRAW_HISTOGRAM,0,3,ExtColor3);
   SetIndexBuffer(2,ExtOpenBuffer);
   SetIndexStyle(3,DRAW_HISTOGRAM,0,3,ExtColor4);
   SetIndexBuffer(3,ExtCloseBuffer);
//---
   SetIndexLabel(0,"Low/High");
   SetIndexLabel(1,"High/Low");
   SetIndexLabel(2,"Open");
   SetIndexLabel(3,"Close");
   SetIndexDrawBegin(0,10);
   SetIndexDrawBegin(1,10);
   SetIndexDrawBegin(2,10);
   SetIndexDrawBegin(3,10);
//--- indicator buffers mapping
   SetIndexBuffer(0,ExtLowHighBuffer);
   SetIndexBuffer(1,ExtHighLowBuffer);
   SetIndexBuffer(2,ExtOpenBuffer);
   SetIndexBuffer(3,ExtCloseBuffer);
//--- initialization done
  }

Es decir, a medida que aumenta el número del buffer (de 0 a 3), se dibujan nuevas barras sobre las anteriores. El orden es el siguiente:

AltoMínimo - AltoMínimo - Apertura - Cierre.

El orden de los candelabros debe ser el siguiente para conseguir su aspecto adecuado, con cuerpos y colas:

max(Open,Close)//línea gruesa de color// - min(Open,Close)//blanco grueso// - High//línea gruesa de color// - Low//blanco grueso//.

Compilemos el indicador, pongámoslo en el gráfico y veamos todos los problemas (ver imagen).

Pero este método, al igual que el Heiken Ashi, tiene una desventaja: debajo de cada "vela" obtenemos un bucle blanco en el color de fondo que cubre todo lo inferior. Pero con WmiFor todo es perfecto. ¿Funciones no documentadas?

Primera imagen - Heiken Ashi (colocada en una ventana separada), segunda imagen - WmiFor, el fondo está en verde claro para mayor claridad.