[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 233

 

¡Hola!

¿Me pueden decir si hay un operador que pueda sustituir el cálculo: = iHigh - iLow

¿para determinar la altura (longitud) de una barra concreta en pips?

Lo necesito de verdad. )

 
Tancor:

¡Hola!

¿Me pueden decir si hay un operador que pueda sustituir el cálculo: = iHigh - iLow

¿para determinar la altura (longitud) de una barra concreta en pips?

Lo necesito de verdad. )

¡Hola!

¡No! :-)

 
Lonely_man:
Por favor, indique, ¿qué función o línea en el código es responsable de llamar a las propiedades del Asesor Experto (con una ventana para introducir parámetros)? He notado en algunos EAs que esta ventana no se puede llamar cuando funciona en un gráfico, es decir, para ver qué parámetros se establecen en el EA, sólo se puede en el inicio inicial, entonces no se puede ver lo que está escrito allí desde el gráfico.
Cuando el Asesor Experto se está ejecutando en la ventana del par de divisas, verá un smiley en la esquina superior derecha. Basta con hacer clic en él para que aparezca una ventana con los parámetros de entrada.
 
paladin80:
Cuando un Asesor Experto funciona en la ventana del par de divisas, verá un smiley en la esquina superior derecha. Basta con hacer clic en él para que aparezca una ventana con los parámetros.

El truco es que no funciona con todos los EAs. Quiero saber por qué. A continuación se muestra una captura de pantalla de cómo la ventana de propiedades debe ser abierta (haga clic en un gráfico con EAs-asesores>propiedades> ventana de propiedades aparece). La cosa es que todos los EAs normales se abren (cuando el mercado se está moviendo demasiado, no al principio, pero después de 3-4 veces), pero algunos EAs abrir la ventana de propiedades en el 20 º tiempo (sin reacción, incluso después de pulsar la cara sonriente).Creo que es muy difícil cambiar los parámetros (o simplemente mirarlos) para ver el gráfico del Asesor Experto cada vez, así que tengo que registrar algo en el código.

 

Hay mucho que hacer. El indicador dibuja, luego no lo hace. Puse el código que sugeriste debajo del mío, aunque me preguntaba cuáles eran los valores. He puesto el indicador en el gráfico. ¡¡¡¡Tiene una línea roja !!!! ¡¡¡Seguro que sí!!! ¡¡¡¡¡Yay !!!!! ¡¡¡¡Y hay una línea verde, incluso dos, una es sólo vertical, sorprendentemente, y lo más importante hay!!!! He rediseñado tu código, lo he compilado de nuevo y nada cambia.

¡¡He añadido una línea azul!! ¡¡¡¡¡¡He compilado - hay una línea azul también !!!!!! ¡¡¡¡¡¡Cambié el marco temporal de H1 a M30 Todas las líneas desaparecieron!!!!!! Sí, sí, ¡¡desapareció!! Estoy en M15, en H4, de nuevo en H1, ¡¡¡no hay líneas en ningún sitio!!! ¡¡Wow!!

He quitado el indicador del gráfico y lo he vuelto a poner, ¡¡¡los diablos siguen sin aparecer!!! ¿Qué es? Aquí está el gráfico, aquí está el indicador en él. Aquí está el indicador ahora.

Me salí de la pregunta de los principiantes debido al movimiento nioble que había comenzado. Por supuesto, he entendido lo que querías decir: que los puntos deben rellenarse con valores en una fila. Muchas gracias por la sugerencia.

//+------------------------------------------------------------------+
//|                                          поиск вульфа Димона.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property indicator_chart_window

#property indicator_buffers 3
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_color3 DarkBlue

double ВерхняячертаBuffer1[];
double НижняячертаBuffer2[];
double СинняячертаBuffer3[];
 double вершина; 
 double основание_первого_снижения;
 double начало;
 double вершина_волны_3;
 
 int timeframe, start ;
 int бар_вершина ;
 int бар_основание_первого_снижения;
 int бар_начало;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()

  {SetIndexStyle(0,DRAW_SECTION,STYLE_SOLID,2,CLR_NONE);//Alert ("SetIndexStyle ",GetLastError( ) );
  SetIndexBuffer(0,ВерхняячертаBuffer1);//Alert ("SetIndexBuffer ",GetLastError( ) );
   SetIndexEmptyValue(0,0.0);
   
   SetIndexStyle(1,DRAW_SECTION,STYLE_SOLID,2,CLR_NONE);//Alert ("SetIndexStyle ",GetLastError( ) );
  SetIndexBuffer(1,НижняячертаBuffer2);//Alert ("SetIndexBuffer ",GetLastError( ) ); 
   SetIndexEmptyValue(1,0.0);
   
   SetIndexStyle(2,DRAW_SECTION,STYLE_SOLID,2,CLR_NONE);//Alert ("SetIndexStyle ",GetLastError( ) );
  SetIndexBuffer(2,СинняячертаBuffer3);//Alert ("SetIndexBuffer ",GetLastError( ) ); 
   SetIndexEmptyValue(2,0.0);
//---- indicators




//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//----

  // for(int i=Bars; i>=0;i--)
  int i=Bars;
       бар_вершина=iHighest( NULL,  timeframe, MODE_HIGH, i, start ) ;
       вершина =High[ бар_вершина ];
       бар_основание_первого_снижения=iLowest( NULL,  timeframe, MODE_LOW, бар_вершина, start ) ;
       основание_первого_снижения=Low[ бар_основание_первого_снижения ];
       бар_начало=iLowest( NULL,  timeframe, MODE_LOW, бар_вершина*2, бар_вершина ) ;
       начало=Low[ бар_начало ];
       
      //   Alert ( " бар_вершина   ",бар_вершина  , " вершина  " , вершина ,
      //    " бар_основание_первого_снижения  " ,бар_основание_первого_снижения  , " основание_первого_снижения  " , основание_первого_снижения , 
      //    " бар_начало  " , бар_начало   , " начало  " , начало    );
  
    НижняячертаBuffer2[бар_начало]=начало;
    НижняячертаBuffer2[бар_основание_первого_снижения]=основание_первого_снижения;
    
     int бар_проверка=iLowest( NULL,  timeframe, MODE_LOW, 5, 150 ) ;
     double проверка=Low[ бар_проверка ];
    ВерхняячертаBuffer1[бар_проверка]=проверка;
    ВерхняячертаBuffer1[бар_основание_первого_снижения]=основание_первого_снижения;
   // Alert ( " бар_проверка   ",бар_проверка  , " проверка  " , проверка );
    
 //   ВерхняячертаBuffer1[0]=25;
//ВерхняячертаBuffer1[1]=25;
//ВерхняячертаBuffer1[2]=25;
//ВерхняячертаBuffer1[3]=25;
//ВерхняячертаBuffer1[4]=25;
//ВерхняячертаBuffer1[5]=25;
//ВерхняячертаBuffer1[6]=25;
//ВерхняячертаBuffer1[7]=25;
//ВерхняячертаBuffer1[8]=25;
//ВерхняячертаBuffer1[9]=25;
//ВерхняячертаBuffer1[10]=25;
//ВерхняячертаBuffer1[11]=25;
         for (i=0;i<100;i++){  СинняячертаBuffer3[i]= Open[i];}
          for (i=330;i<500;i++){  СинняячертаBuffer3[i]= Open[i];}

    
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
MikeM:
Yo usoDRAW_LINE. Tengo un malentendidocon DRAW_SECTION.

¡¡¡Gracias!!! Lo intentaré. Espera, ¿qué hay que probar? La línea es una línea sólida y tiene que ser rellenada exactamente elemento por elemento, pero es una canción totalmente diferente - ya me di cuenta después de 15 segundos.
 
Lonely_man:
Por favor, dígame, ¿qué función o línea en el código es responsable de llamar a las propiedades del experto (el cuadro de parámetros de entrada)? Me di cuenta de que en algunos EAs es imposible llamar a esta ventana cuando funciona en un gráfico, es decir, se puede ver qué parámetros se establecen en el EA sólo en el arranque inicial, entonces no se puede ver lo que está escrito allí desde el gráfico.

Si no se llama a la ventana de propiedades durante el funcionamiento - entonces el Asesor Experto trabaja en modo de bucle
 
High1 = iHigh (Symbol(), PERIOD_W1, 0); // максимум этой недели
Low1 = iLow (Symbol(), PERIOD_W1, 0); // минимум этой недели

Existe tal cosa en el Expert Advisor, en la demo y en la real todo está bien, pero me gustaría ejecutar el código en el tester, pero en el marco de tiempo máximo D1, ¿cómo escribir una función, si es posible, que haría que los datos máximos y mínimos de la semana actual estaban todavía en el tester?

 
BeerGod:

Existe tal cosa en el Expert Advisor, en la demo y en la real todo está bien, pero me gustaría ejecutar el código en el tester, pero en el marco de tiempo máximo D1, ¿cómo escribir una función, si es posible, que haría que los datos máximos y mínimos de la semana actual estaban todavía en el tester?

¿No los lee de la misma manera que usted acaba de escribir? Compruebe en el modo de visualización por pasos con F12 para trazar los valores de estas variables, que está pidiendo de semanas... Ejecute el búho en el marco de tiempo más pequeño que se utiliza en el búho.
 
Roman.:
¿No los lee como usted acaba de escribir? Compruebe en el modo de visualización por pasos con F12 para rastrear a través de las impresiones los valores de estas variables que solicita de las semanas... Ejecute el búho en el marco de tiempo más pequeño que se utiliza en el búho.
El caso es que en el tester pongo un comentario en la visualización y ahí estos valores son siempre cero, aunque se carga el historial de semanas, en la demo y en tiempo real el comentario da los números correctos.