Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1202
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¡Buenas tardes!
Tengo una duda, por favor, dígame cómo resolverla.
La idea es la siguiente: trazo una línea en el máximo anterior de la vela. Quiero que la línea se desplace en función del máximo anterior.
¿Quién me impide cambiar el precio de la línea en los ticks cuando lo necesito?
Hay dos opciones
Hola tocayo)
void OnTick() { //--- double o1 = iOpen(Symbol(),Period(),1); double h1 = iHigh(Symbol(),Period(),1); double l1 = iLow(Symbol(),Period(),1); double c1 = iClose(Symbol(),Period(),1); double c0 = iClose(Symbol(),Period(),0); double rt = 0; double rs1 = 0; double rs2 = 0; rt=MathAbs(c1-o1)/_Point; //размер тела свечи rs1=MathAbs(h1-c1)/_Point;// размер верхней тени свечи rs2=MathAbs(l1-c1)/_Point; // размер нижней тени свечи ObjectDelete(0,"HL"); if ((rs1>=rt)&&(c1>o1)) //[для ростовых свечей] условие для построения уровней (если верхняя тень предыдущей свечи, больше, или равна телу этой же свечи, то... { double PRH=iHigh(Symbol(),_Period,1); // то это будет максимум ObjectCreate(0,"HL",OBJ_HLINE,0,_Period,PRH); // и строим по этому максимуму, горизонтальную линию } ObjectDelete(0,"lL"); if ((rs2>=rt)&&(c1<o1)) // [для падающих свечей]условие для построения уровней (если нижняя тень предыдущей свечи, больше, или равна телу этой же свечи, то... { double PRL=iLow(Symbol(),_Period,1); // то это будет минимум ObjectCreate(0,"lL",OBJ_HLINE,0,_Period,PRL); // и строим по этому минимум, горизонтальную линию } }Consideró la opción 1, algo cercano. Pero no es correcto de alguna manera sucede. En las primeras etapas de acuerdo con el plan, a continuación, en un lío.
¿Y quién le impide cambiar simplemente el precio de la línea en los ticks cuando lo necesite?
Bueno, más o menos, sí. Si añades condiciones sólo un poco, hay un problema. Traza una línea. Lo que necesita es: si no hay un nuevo máximo/mínimo, se guarda.
Bueno, más o menos, sí. Si añades condiciones sólo un poco, hay un problema. Traza una línea. Lo que necesita es: si no hay un nuevo máximo/mínimo, se guarda.
No sé, ¿quién te impide añadir otra línea para Low...?
Puedes añadir toda una serie de líneas u otros objetos y marcar cada mínimo y máximo con ellos. ¿Cuál es el problema...?
Por favor, aconséjeme cómo obtener el precio y la hora de la primera operación al abrir una posición y el precio y la hora de la primera operación al cerrar esta posición desde el historial. Mi propósito es obtener una matriz de puntos de entrada del historial, ya que a veces hago equidad al operar manualmente, por lo que quiero saber si es efectivo o no. No sé nada sobre el comercio - Estoy usando una clase, donde estas funciones no se han implementado :(
HistorySelectByPosition le ayudará a
Entonces hay varias opciones:
No sé, ¿quién te impide añadir otra línea para Low...?
Puedes añadir toda una serie de líneas u otros objetos y marcar cada mínimo y máximo con ellos. ¿Cuál es el problema...?
¡Sí! ¡Funciona correctamente! ¡Gracias Mihail!
Y si has perforado la línea de fondo y necesitas borrarla después de la perforación, como:
¿Verdad?
¡Sí! ¡Funciona como debería! ¡Gracias Mihail!
Y si la línea de fondo está perforada y tienes que borrarla cuando está perforada, como:
¿Verdad?
El programa sólo utiliza dos líneas para resaltar los niveles. ¿Por qué borrarlo y volver a crearlo si puedes ponerlo a 0?
La línea no será visible en el gráfico... Y luego puedes volver a mostrarlo:
lLine.Price(0, PRL);El programa sólo utiliza dos líneas para resaltar los niveles. ¿Por qué borrar y volver a crear cuando puedes ponerlo a 0?
La línea no será visible en el gráfico... Y luego puedes volver a mostrarlo:
¿Así? ¿O es necesario declarar algo más en OnInit?