[¡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 286

 
GarKain:
Ahhh!!! Gracias!!!

Pregunta, ¿cómo se calcula la última vez que estos dos se cruzaron?

Ahí lo tienes.

//+------------------------------------------------------------------+
//|                                                        e_RVI.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

extern int ExtRVIPeriod=10;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
 double RVI_1 = iCustom( NULL,0,"Relativ Vigor Index",ExtRVIPeriod,0,1);
 double RVI_2 = iCustom( NULL,0,"Relativ Vigor Index",ExtRVIPeriod,0,2);
 double RVIS_1= iCustom( NULL,0,"Relativ Vigor Index",ExtRVIPeriod,1,1);
 double RVIS_2= iCustom( NULL,0,"Relativ Vigor Index",ExtRVIPeriod,1,2);
 
 Comment("\n","\n"," RVI:  1 Бар = ",RVI_1,
              "\n"," RVI:  2 Бар = ",RVI_2,
              "\n"," RVIS: 1 Бар = ",RVIS_1,
              "\n"," RVIS: 2 Бар = ",RVIS_2); 
              
   if(RVI_2<RVIS_2&&RVI_1>RVIS_1)    //Biu 
       SetArrow(241,Blue,"Biu"+Time[0],Time[0],Low[0],0);
       
   if(RVI_2>RVIS_2&&RVI_1<RVIS_1)    //Sell
       SetArrow(242,Red,"Sell"+Time[0],Time[0],High[0],0);       
//----
   return(0);
  }
//+------------------------------------------------------------------+
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 12.10.2007                                                     |
//|  Описание : Установка значка на графике, объект OBJ_ARROW.                 |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    cd - код значка                                                         |
//|    cl - цвет значка                                                        |
//|    nm - наименование               ("" - время открытия текущего бара)     |
//|    t1 - время открытия бара        (0  - текущий бар)                      |
//|    p1 - ценовой уровень            (0  - Bid)                              |
//|    sz - размер значка              (0  - по умолчанию)                     |
//+----------------------------------------------------------------------------+
void SetArrow(int cd, color cl,
              string nm="", datetime t1=0, double p1=0, int sz=0) {
  if (nm=="") nm=DoubleToStr(Time[0], 0);
  if (t1<=0) t1=Time[0];
  if (p1<=0) p1=Bid;
  if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_ARROW, 0, 0,0);
  ObjectSet(nm, OBJPROP_TIME1    , t1);
  ObjectSet(nm, OBJPROP_PRICE1   , p1);
  ObjectSet(nm, OBJPROP_ARROWCODE, cd);
  ObjectSet(nm, OBJPROP_COLOR    , cl);
  ObjectSet(nm, OBJPROP_WIDTH    , sz);
}
 

¡Buenos días!

Señores comerciantes, en uno de los mensajes del foro he visto un interesante "indicador".

Si no me equivoco, el fondo del 5º gráfico muestra siluetas de velas horarias . Es decir, se veía claramente cómo cambiaba el precio en el transcurso de una hora.

Por favor, no dude en descargar(igrok081@mail.ru) o sugerir dónde descargar, o al menos incluso el nombre.

Gracias de antemano .

Alexander.

 
r772ra:

Ahí lo tienes.

*por suerte* no entendí nada del código. Pero, perdón por mi fastidio, quería saber cómo calcular el momento en que estos dos se cruzaron en la ÚLTIMA HORA. Tal vez el código es correcto y comienza a contar sólo después de que se ejecutó. si es así, ¿cómo podemos hacer que compruebe cuando fue antes de ejecutar el script?


¿Cómo puedo hacerlo yo mismo?



Entiendo un poco pero todavía quiero saber. cómo puedo hacer que compruebe si fue antes de que se iniciara el script y cuál era el precio en ese momento.

 
GarKain:


explicar a un tonto dónde está el brebaje. ¿cómo lo hago yo?


Lea aquí:

https://book.mql4.com/ru/samples/indicators

Y aquí:

https://book.mql4.com/ru/samples/shared

 
Gracias por la información.

la pregunta sigue siendo. ¿cómo podemos hacer que compruebe cuando estas líneas se han cruzado recientemente? y cuál era el precio en ese momento.


Básicamente lo que quiero lograr:

Necesito que el script encuentre el último cruce en el gráfico y reste el precio en el momento del cruce del precio actual.

dime cómo se puede implementar.
 
¿No es posible? Si supiera qué buscar lo habría encontrado hace mucho tiempo.
 

averiguar qué barra se ha cruzado y luego hallar la hora de la barra = hora de cruce

se puede calcular el precio exacto del cruce, pero no se puede saber cuál fue el precio del instrumento, lo mejor que se puede hacer es conocer el número de barra, y por lo tanto su altura baja apertura cierre

 
FAQ:

averiguar qué barra se ha cruzado y luego hallar la hora de la barra = hora de cruce

se puede calcular el precio exacto del cruce, pero no se puede saber cuál fue el precio del instrumento, lo mejor que se puede hacer es conocer el número de barra, y por lo tanto su altura baja apertura cierre

exactamente necesito el número de la barra que fue el último cruce. ¿cómo lo sé?
 
Ciclo desde la barra actual hasta el historial, comprobando los cruces, saliendo en el primer evento y memorizando el número de barra
 
¿puedo tener un enlace con información sobre cómo hacerlo?