Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 238

 
Vyacheslav Kornev:
Qué es lo que no hay que entender aquí. Por encima de la barra es en un sentido general. Para el fondo, está debajo de la barra. El punto más a la izquierda es en realidad el punto de partida de la línea.
La línea es roja en la parte superior y rosa en la inferior.

Los detalles son importantes.
Pregunta equivocada - ¿Dónde está el punto correcto?
 
Artyom Trishkin:
Los detalles son importantes.
Pregunta incorrecta: ¿dónde está el punto correcto?
Pues se muestra en la ventana de datos. Sube la línea. Está en el mínimo de la penúltima. Ese es el valor que pude tomar
 
Vyacheslav Kornev:
Pues se muestra en la ventana de datos. Sube la línea. Está en el penúltimo mínimo. Ese es el valor que pude tomar
Pues significa que el indicador tiene dos topes. Da valores para la barra1. Para la barra0 hay que calcularla como he dicho antes.
 
Artyom Trishkin:
Así que el indicador tiene dos topes. Da salida a los valores de la barra1. Para la barra0 hay que calcularla como he dicho antes.
¡Así es como lo hice!
Escríbalo completamente de forma correcta.
 
Vyacheslav Kornev:
¡Así es como lo hice!
Escríbalo correctamente.

Hay que calcular el valor de la barra 0. Ecuación de una línea recta:

//+------------------------------------------------------------------+
//| Уравнение прямой                                                 |
//+------------------------------------------------------------------+
double EquationDirect(const int left_bar,const double left_price,const int right_bar,const double right_price,const int bar_to_search) {
  return((right_bar==left_bar)?left_price:(right_price-left_price)/(right_bar-left_bar)*(bar_to_search-left_bar)+left_price);
}
//+------------------------------------------------------------------+

Por los nombres de las variables formales está todo claro lo que hay que pasar a la función.

Devuelve el valor de la barra que está buscando.

 
Artyom Trishkin:

Hay que calcular el valor en bar0. Ecuación de una línea recta:

Todo está claro por los nombres formales de las variables que hay que pasar a la función.

Devuelve el valor en la barra buscada.


Dios mío, es complicado. He conseguido obtener el valor, lo único que tengo que hacer es escribir ObjectGetValueByShift, ewww. Por favor, envíenme algún video tutorial, he mirado cómo hacer indicadores pero no lo he encontrado. Todo funciona. Tomado de la misma preguntahttp://www.mql5.com/ru/forum/121347

No tengo ni idea de si es posible hacer topes así... pero funciona. No entiendo muy bien qué es ncurbar.

//---- Mover objeto en el gráfico

ObjectMove("Tendencia DN-0",1,Tiempo[st1],s1);

ObjectMove("Tendencia DN-0",0,Tiempo[st2],s2);

Dn[nCurBar] = ObjectGetValueByShift("Trend DN-0",0);

//----

ObjectMove("Tendencia UP-0",1,Tiempo[rt1],r1);

ObjectMove("Tendencia UP-0",0,Tiempo[rt2],r2);

Up[nCurBar] = ObjectGetValueByShift("Trend UP-0",0);

Помогите с кодом!!!
Помогите с кодом!!!
  • 2009.10.23
  • www.mql5.com
Ситуация такая, пишу индикатор, он должен рисовать уровни поддержки и сопротивления...
 
Vyacheslav Kornev:

Dios mío, es complicado. He conseguido obtener el valor, lo único que tengo que hacer es escribir ObjectGetValueByShift, ewww. Por favor, envíenme algún video tutorial, he mirado cómo hacer indicadores pero no he encontrado nada de eso allí. Todo funciona.

//---- Mover objeto en el gráfico

ObjectMove("Tendencia DN-0",1,Tiempo[st1],s1);

ObjectMove("Tendencia DN-0",0,Tiempo[st2],s2);

Dn[nCurBar] = ObjectGetValueByShift("Trend DN-0",0);

//----

ObjectMove("Tendencia UP-0",1,Tiempo[rt1],r1);

ObjectMove("Tendencia UP-0",0,Tiempo[rt2],r2);

Up[nCurBar] = ObjectGetValueByShift("Trend UP-0",0);


Ahora, haz que el EA desglose el valor que obtienes de la línea en el registro y ejecútalo NO en modo visual. Detenga la prueba y mire el registro.

Ya te dije que no se pueden obtener valores de objetos gráficos en el probador que no estén en modo visual, simplemente no se construyen.

Y es difícil que se pueda añadir al indicador un cálculo normal de una sola línea por cada valor de dos líneas.

Bueno, no te voy a convencer.

 
Artyom Trishkin:

Ahora haga una impresión de EA del valor que obtiene de la línea en el registro y ejecute NO en modo visual. Detenga la prueba y mire el registro.

Ya te dije que no se pueden obtener valores de objetos gráficos en el probador que no estén en modo visual, simplemente no se construyen.

Y es difícil que se pueda añadir al indicador un cálculo normal de una sola línea por cada valor de dos líneas.

Bueno, no te voy a convencer.


Sólo que no sé cómo añadirlo.

No entiendo, me da error, donde añadirlo
 
Vyacheslav Kornev:

Sólo que no sé cómo... dónde añadirlo...

No lo entiendo, tengo errores, donde añadirlo

¿Sabes lo que es una función? Te he dado una función. Puedes escribirlo fuera del cuerpo de cualquier función del indicador y llamarlo desde el código introduciendo los datos necesarios. En la salida te dará el precio del bar que buscas.

Escribí un artículo hace unos 300 años en mql4.com - hay una descripción de cómo trabajar con la ecuación de la línea recta - la función está ahora modificada, pero no ha cambiado su función que devuelve el precio de la barra.

He aquíun indicador basado en ese artículo.

 
Artyom Trishkin:

¿Sabes lo que es una función? Te he dado una función. Escríbalo fuera del cuerpo de cualquier función indicadora y llámelo desde el código introduciendo los datos necesarios. En la salida te dará el precio del bar que buscas.

Escribí un artículo hace unos 300 años en mql4.com - hay una descripción de cómo trabajar con la ecuación de la línea recta - la función está ahora modificada, pero no ha cambiado su función que devuelve el precio de la barra.

He aquíun indicador basado en ese artículo.


Creo que no hay diferencia en la forma de tomar el precio en el comercio real, porque el indicador y el Asesor Experto tienen que estar unidos al gráfico?