[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 235

 
¿Cómo puedo encontrar el máximo más pequeño de una vela en un periodo de barra determinado?
 
savage_pinguin:
¿Cómo puedo encontrar el máximo más pequeño de una vela en un periodo de barra determinado?


Prueba esto

bar=iLowest(NULL,0,MODE_HIGH,10,10);

 
alsu:

Tenga en cuenta.

1) La condición "línea1[1]>línea2[1]" no es suficiente para la señal de "cruce de dos líneas". Надо "линия1[1]>линия2[1]&&линия1[2]<линия2[2]"

2) El parabólico no debe compararse con la Apertura, sino con el Alto y el Bajo. Tenga en cuenta que lo calcula en la barra cero y toma la Apertura[1] de la primera barra.

Gracias por su atención a mis preguntas. Hice lo que me aconsejaste. Pero ahora el EA ha dejado de operar por completo. ¿Quizás he entendido mal y he hecho algo mal, o hay algún otro error en el código?

Por el momento, el código tiene el siguiente aspecto:

//+-------------------------------------------------------------------------------------+
//| Расчет значений технических индикаторов с формированием сигналов для позиций        |
//+-------------------------------------------------------------------------------------+
void GetSignal()
{
 Signal = 0;
// - 1 - == Получение значений индикаторов ==============================================
 double SAR = iSAR(Symbol(), 0, SARStep, SARMaximum, 0);
 double EnvUp = iEnvelopes(Symbol(), 0, EnvPeriod, EnvMethod, EnvShift, EnvPrice,
 EnvDeviation, MODE_UPPER, 1);
 double EnvDn = iEnvelopes(Symbol(), 0, EnvPeriod, EnvMethod, EnvShift, EnvPrice,
 EnvDeviation, MODE_LOWER, 1);
 double StochM = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_MAIN, 1);
 double StochS = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_SIGNAL, 1);
// - 1 - == Окончание блока =============================================================

// - 2 - == Генерация сигнала ===========================================================
 if (SAR < Low[1])
   {
    Signal = 3;                                                          // Закрытие SELL
    if (StochM > StochS && StochM < StochS && StochM >= 80 &&
    StochS >= 80 && High[1] >= EnvUp && SAR < High[1])
      Signal = 1;                                                         // Открытие BUY
   }   
 
 if (SAR > High[1])
   {
    Signal = 4;                                                           // Закрытие BUY
    if (StochM < StochS && StochM > StochS &&  StochM <= 20 &&
    StochS <= 20 && Low[1] <= EnvDn && SAR > Low[1])
      Signal = 2;                                                        // Открытие SELL
   }   
// - 2 - == Окончание блока =============================================================
}

Por favor, ayúdame a entenderlo, realmente quiero hacer este comercio EA.

Edición: Una gran petición: si es posible, por favor, forme su respuesta en forma de código.
No olvides que todavía soy un completo "tonto" en programación... No quiero tener que pedírselo de nuevo.
 

Que alguien me explique el código de Ilan 1.4. Quiero cambiarlo un poco para mí, pero el código de los demás no lo entiende en absoluto. ¿Puede alguien explicarme, al menos bloque por bloque, lo que se hace?

No tengo suficiente cerebro para la realización - he estado familiarizado con MQL4 por sólo una semana.

Si alguien puede ayudarme, estaría muy agradecido, si puede escribir a delit-0202@rambler.ru

Y entonces, ¿cómo determinar la tendencia en un EA? Al menos una general, quizá incluso una de retraso. ¿Cómo se puede hacer?

 
daytrader19:

Gracias por su atención a mis preguntas. Hice lo que me aconsejaste. Pero ahora el EA ha dejado de operar por completo. ¿Quizás te he entendido mal y he hecho algo mal, o hay algún otro error en el código?

Por el momento, el código tiene el siguiente aspecto:

Por favor, ayúdame a entenderlo, realmente quiero hacer este comercio EA.

Edición: Una gran petición: si es posible, por favor, forme su respuesta en forma de código.
No olvides que todavía soy un completo "tonto" en programación... No quiero tener que pedírselo de nuevo.

¿Cómo puede comerciar si esto

 StochM < StochS && StochM > StochS

¿Es una condición obviamente imposible de cumplir? Hay que calcular los valores estocásticos en la primera y segunda barra.

 double StochM1 = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_MAIN, 1);
 double StochS1 = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_SIGNAL, 1);
 double StochM2 = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_MAIN, 2);
 double StochS2 = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_SIGNAL, 2);

if( StochM1 < StochS1 && StochM2 > StochS2 ...
 

Si no le importa, me gustaría aclarar una cosa más. He entendido mi error con el estocástico, pero ¿qué pasa con otros indicadores? ¿No hay errores en el uso de Envelope y Parabolic? Debería tener algunos)). Por favor, mira tanto la apertura como el cierre.

Y gracias por el último build de MT5, ya lo he descargado.

 

Alguien aquí acaba de preguntar cómo cambiar el contenido del texto. El post desapareció mientras lo respondía. Por si alguien lo necesita.

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start(){

   ObjectCreate("1",OBJ_TEXT,0,Time[0],Open[0]);
   ObjectSet("1",OBJPROP_FONTSIZE,16);
   ObjectSet("1",OBJPROP_COLOR,Red);
   if(!ObjectSetText("1","Пример создания нового текста",16,"Verdana",Red)){
    Alert("Ошибка № ",GetLastError()," при изменении описания текста");
   }

  return(0);
}
//+------------------------------------------------------------------+ 
 

No recibo ningún mensaje...

ObjectSetText(name,buf1[i]/buf2[i]*100,6,"Arial",C'0,33,0');
ошибка 4062
 
eddy:

No recibo ningún mensaje...


buf1[i]/buf2[i]*100 - el segundo parámetro de esta función debe ser una cadena. Lea los parámetros aquí - bool ObjectSetText(string name, string text, int font_size, string font_name=NULL, color text_color=CLR_NONE)
 
¿Cómo puedo convertir un int en una cadena, que no sea escribir string text=int_peremennaya
Razón de la queja: