Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 212

 
paladin800:

Siguiendo el enlace al indicador, se puede ver que hay 8 parámetros de entrada. Dos de estas cadenas (s1 y s2) no pasan valores al indicador, pero deben ser incluidas en su manejador de alguna manera. Haz lo siguiente:

Esto funciona, ¡muchas gracias!
 

En la ventana del gráfico en mi EA, el beneficio se muestra donde tanto el tamaño de la fuente es pequeño y el color de la fuente por lo que se fusiona con el resto de las inscripciones, en el código se ve así

Comentario(beneficio)

Señor programador ayúdeme a cambiar el tamaño de la letra en el código, y estaría bien cambiar el color

 
rus-lot:

En la ventana del gráfico en mi EA, el beneficio se muestra donde tanto el tamaño de la fuente es pequeño y el color de la fuente por lo que se fusiona con el resto de las inscripciones, en el código se ve así

Comentario(beneficio)

Señor programador ayúdeme a cambiar el tamaño de la letra en el código, y estaría bien cambiar el color

¿La marca de texto no funciona?
 
Señores, por favor, ayuden. Se necesita urgentemente, ya que en este momento hay algunas órdenes poco claras que están dando vueltas... Si el autor de la señal tiene algunas operaciones cerradas, pero las mías no, significa que algo no está funcionando bien, ¿no? ¿Puedo cerrar las operaciones manualmente en estos casos, o estoy entendiendo algo mal?
 
Silent:
¿No funcionaría una marca de texto?
Lo voy a intentar aunque no soy muy bueno en esto, pero a primera vista muestra como mover el texto y mi texto es un estado de ganancia por así decirlo un valor cambiable.
 
rus-lot:
Lo voy a probar aunque estoy muy lejos en estos temas, pero a primera vista muestra como mover el texto y mi texto es un estado de ganancia por así decirlo de valor variable

Haces que el beneficio sea una cadena, luego pones este texto en una etiqueta

el script fue escrito así, creo que hay más ejemplos en kodobase

 
Silent:

hacer una cadena, luego poner este texto en una etiqueta

el script fue escrito así, creo que hay más ejemplos en kodobase

El caso es que mi beneficio está calculado para 2 pares de divisas
 
rus-lot:
El caso es que mi beneficio está calculado para 2 pares de divisas

Suma los beneficios y luego convierte (emite el resultado de la operación),

o añadir líneas (más detalles aquí) (salida de 2 valores por línea),

o dos marcas, respectivamente, beneficio1 y beneficio2)...

qué diferencia hay entre la salida de una u otra.

 
Silent:

Suma los beneficios y luego convierte (emite el resultado de la operación),

o añadir líneas (más detalles aquí) (salida de 2 valores por línea),

o dos marcas, respectivamente beneficio1 y beneficio2)...

Qué más da lo que salga.

Para un novato, es difícil de hacer, pero pensé, si el beneficio se muestra en la ventana así

Comentario(beneficio1+ beneficio2

entonces, para que sea inferior en una línea, hay que añadir el siguiente signo "\n"

Comentario("\n", beneficio1+ beneficio2

Por eso pensé que tal vez para aumentar el tamaño de la letra sería posible añadir otro signo a esta línea, y lo que dices que sería para mí sería complicado y no hacerlo de nuevo no entiendo nada allí.

 
paladin800:

Siguiendo el enlace al indicador, se puede ver que hay 8 parámetros de entrada. Dos de estas cadenas (s1 y s2) no pasan valores al indicador, pero necesitas incluirlas en tu manejador de alguna manera. Deberías hacerlo así:

No puedo obtener ninguna señal de entrada al mercado de este indicador(https://www.mql5.com/ru/code/1806) cuando encuentra divergencia.

 MACD_Divergence__Handle=iCustom(NULL,0,"MACD_Divergence",
                                "---",
                                MACD_Divergence__fastEMA,
                                MACD_Divergence__slowEMA,
                                MACD_Divergence__signalMA,
                                "---",
                                drawIndicatorTrendLines,
                                drawPriceTrendLines,
                                displayAlert);
   if(MACD_Divergence__Handle==INVALID_HANDLE)                               
     {
      Print(" Не удалось получить хендл индикатора MACD_Divergence");
      return(INIT_FAILED);
     }
......................................
void OnDeinit(const int reason)
  {
IndicatorRelease(MACD_Divergence__Handle);

......................................
void OnTick()
  {
  ArraySetAsSeries(bullishDivergenceBuffer,true);
   ArraySetAsSeries(bearishDivergenceBuffer,true);
   ArraySetAsSeries(macdBuffer,true);
   ArraySetAsSeries(signalBuffer,true);
......................................
   if(CopyBuffer(MACD_Divergence__Handle,0,0,30,bullishDivergenceBuffer)<0 || CopyBuffer(MACD_Divergence__Handle,1,0,30,bearishDivergenceBuffer)<0)
      
           {
      Alert("Ошибка копирования значений индикаторных буферов индикатора MACD_Divergence :",GetLastError(),"!!");
      return;
           }
    if(
       CopyBuffer(MACD_Divergence__Handle,2,0,3,macdBuffer)<0 ||CopyBuffer(MACD_Divergence__Handle,3,0,3,signalBuffer)<0 )
           {
      Alert("Ошибка копирования значений индикаторных буферов индикатора MACD_Divergence :",GetLastError(),"!!");
      return;
           }       
           
           
Print(" !!!!!!!!!!!!!!!! bullishDivergenceBuffer =  ",bullishDivergenceBuffer[0]);
Print(" !!!!!!!!!!!!!!!! bearishDivergenceBuffer =  ",bearishDivergenceBuffer[0]);
Print(" !!!!!!!!!!!!!!!! macdBuffer =  ",macdBuffer[0]);
Print(" !!!!!!!!!!!!!!!! signalBuffer =  ",signalBuffer[0]);

Técnicamente, parece estar bien, no hay errores comoGetLastError oINVALID_HANDLE en ninguna etapa, traté de obtener los valores de divergencia alcista y bajista, están vacíos:

2014.03.14 19:34:15 Core 1 2014.03.03 16:00:00 !!!!!!!!!!!!!!!! bullishDivergenceBuffer = 1.797693134862316e+308
2014.03.14 19:34:15 Core 1 2014.03.03 16:00:00 !!!!!!!!!!!!!!!! bearishDivergenceBuffer = 1.797693134862316e+308
2014.03.14 19:34:15 15 Core 1 2014.03.03 16:00:00 !!!!!!!!!!!!!!!! signalBuffer = 0.001566958632905211
2014.03.14 19:34:15 Core 1 2014.03.03 16:00:00 !!!!!!!!!!!!!!!! macdBuffer = 0.001471813911680497

¿Cómo puedo obtener estos valores? El propio indicador tiene los valores, he intentado darles salida a través dePrint y muestran los valores de los extremos, ¿por qué no se pasan al EA?

He probado muchas variantes, pero el resultado es el mismo. Tal vez la solicitud deCopyBuffer debería ser diferente, pero ¿cómo? No he encontrado nada en la búsqueda.

¿O el valor de la barra 0 en el EA y [currentExtremum] en el indicador no se correlacionan? ¿Cómo puedo conciliarlos?

MACD Divergence
MACD Divergence
  • votos: 24
  • 2013.11.04
  • Alain Verleyen
  • www.mql5.com
Индикатор выводит линии дивергенции индикатора MACD и отображает сигналы на покупку и продажу при помощи стрелок.