Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1839 1...183218331834183518361837183818391840184118421843184418451846...1954 Nuevo comentario EVGENII SHELIPOV 2022.01.01 14:00 #18381 ¡¡¡Buenas tardes!!! ¡¡¡Feliz Año Nuevo a todos!!! Esta es una captura de pantalla que muestra la visualización del precio medio de las órdenes en la parrilla Este es el código para crear una línea horizontal de precio medio e inscripción //+----------------------------------------------------------------------------+ //| Расчет среденй цены (0)-buy (1)-sell ()-all | //+----------------------------------------------------------------------------+ double GetAveragePrice(int ot=-1) { double order_lots = 0, order_price = 0, avg_price = 0; { for(int i = OrdersTotal()-1; i>=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if(OrderType()==ot||ot<0) { order_lots += OrderLots(); order_price += OrderOpenPrice() * OrderLots(); } } } } } avg_price = NormalizeDouble(order_price / order_lots, Digits); if(ObjectFind(0,"AveragePriceLine"+IntegerToString(ot))!=0) ObjectCreate(0,"AveragePriceLine"+IntegerToString(ot),OBJ_HLINE, 0, 0, avg_price); else ObjectSetDouble(0,"AveragePriceLine"+IntegerToString(ot),OBJPROP_PRICE,avg_price); if(ot==0) ObjectSet("AveragePriceLine"+IntegerToString(ot),OBJPROP_COLOR, clrLime); ObjectCreate("signal4",OBJ_LABEL,0,0,0,0,0); ObjectSet("signal4",OBJPROP_XDISTANCE,100); ObjectSet("signal4",OBJPROP_YDISTANCE,260); ObjectSetText("signal4","- Средняя цена сетки ордеров на покупку",14,"Times New Roman", clrLime); if(ot==1) ObjectSet("AveragePriceLine"+IntegerToString(ot),OBJPROP_COLOR, clrRed); ObjectCreate("signal3",OBJ_LABEL,0, 0, 0, 0, 0); ObjectSet("signal3",OBJPROP_XDISTANCE, 100); ObjectSet("signal3",OBJPROP_YDISTANCE, 280); ObjectSetText("signal3", "- Средняя цена сетки ордеров на продажу", 14, "Times New Roman", clrRed); return(avg_price); } Este es el código que elimina la línea horizontal //-------------------------------------------------------------------+ Команда на удаление линий отображающую среднюю цену if(CountTrade() == 0) { if(ObjectFind(0,"AveragePriceLine" + IntegerToString(0))==0&&CountTrade(0)<1)//для бай { ObjectDelete(0,"AveragePriceLine"+ IntegerToString(0)); } if(ObjectFind(0,"AveragePriceLine" + IntegerToString(1))==0&&CountTrade(1)<1)//для селл { ObjectDelete(0,"AveragePriceLine" + IntegerToString(1)); } } Por favor, ayuda a rehacer el código para que la inscripción aparezca encima de la línea y se elimine cuando se quite la línea Gracias por su ayuda. [¡Archivo!] Cualquier pregunta de Cualquier pregunta de novato, OBJ_VLINE Andrei Sokolov 2022.01.01 15:08 #18382 EVGENII SHELIPOV #: Por favor, ayúdenme a reescribir el código para que Sipuede ayudar, ¿qué es exactamente lo que no puede hacer? EVGENII SHELIPOV 2022.01.01 15:26 #18383 Andrey Sokolov #:Sipuede ayudar, ¿qué es exactamente lo que no puede hacer? No seamos groseros. Si supiera cómo hacerlo, no habría venido aquí. La pregunta es muy sencilla necesitas saber las coordenadas de la inscripción con referencia a la línea horizontal ya que no se como calcularla. FOREX - Tendencias, previsiones Cualquier pregunta de novato, ¿Es posible la diversificación Andrei Sokolov 2022.01.01 15:37 #18384 EVGENII SHELIPOV #:No seamos groseros. Si supiera cómo hacerlo, no habría venido aquí. La pregunta es muy sencilla necesito saber las coordenadas de la inscripción con referencia a la línea horizontal ya que no se como calcularla. ¿Qué quieres decir con "no seamos groseros"? Escribí "ayuda" y no "hazme". Tretyakov Rostyslav 2022.01.01 18:22 #18385 EVGENII SHELIPOV #:¡¡¡Buenas tardes!!! ¡¡¡Feliz Año Nuevo a todos!!! Código del agua eliminando la línea horizontal Gracias por la ayuda. Esto es más que suficiente. //-------------------------------------------------------------------+ Команда на удаление линий отображающую среднюю цену if(CountTrade() == 0) { ObjectsDeleteAll(0,"AveragePriceLine"); } EVGENII SHELIPOV #: La pregunta es muy sencilla necesitas saber las coordenadas de la inscripción con referencia a la línea horizontal ya que no se como calcularla. Aquí puedes ayudar ChartTimePriceToXY ChartXYToTimePrice EVGENII SHELIPOV 2022.01.02 10:51 #18386 Tretyakov Rostyslav #:Es más que suficiente. Aquí es donde puedes obtener ayuda. ChartTimePriceToXY ChartXYToTimePrice Gracias por el consejo Rostislav, pero algo estoy haciendo mal. Necesito cambiar sólo el eje 0Y por ahora, pero la inscripción no quiere casarse con la línea horizontal. Adjunto el código y la captura de pantalla, por favor, indíqueme dónde está el error. //+----------------------------------------------------------------------------+ //| Расчет среденй цены (0)-buy (1)-sell ()-all | //+----------------------------------------------------------------------------+ double GetAveragePrice(int ot=-1) { double order_lots = 0, order_price = 0, avg_price = 0; int x = 0, y = 0; { for(int i = OrdersTotal()-1; i>=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if(OrderType()==ot||ot<0) { order_lots += OrderLots(); order_price += OrderOpenPrice() * OrderLots(); } } } } } avg_price = NormalizeDouble(order_price / order_lots, Digits); if(ObjectFind(0,"AveragePriceLine"+IntegerToString(ot))!=0) ObjectCreate(0,"AveragePriceLine"+IntegerToString(ot),OBJ_HLINE, 0, 0, avg_price); else ObjectSetDouble(0,"AveragePriceLine"+IntegerToString(ot),OBJPROP_PRICE,avg_price); if(ot==0) ObjectSet("AveragePriceLine"+IntegerToString(ot),OBJPROP_COLOR, clrLime); ObjectCreate("signal4",OBJ_LABEL,0,0,0,0,0); ObjectSet("signal4",OBJPROP_XDISTANCE,500); ChartTimePriceToXY(0, 0, 0,avg_price, x, y); ObjectSet("signal4",OBJPROP_YDISTANCE, y + 10); ObjectSetText("signal4","- Средняя цена сетки ордеров на покупку",14,"Times New Roman", clrLime); if(ot==1) ObjectSet("AveragePriceLine"+IntegerToString(ot),OBJPROP_COLOR, clrRed); ObjectCreate("signal3",OBJ_LABEL,0, 0, 0, 0, 0); ObjectSet("signal3",OBJPROP_XDISTANCE, 500); ChartTimePriceToXY(0, 0, 0, avg_price, x, y); ObjectSet("signal3",OBJPROP_YDISTANCE, y + 10); ObjectSetText("signal3","- Средняя цена сетки ордеров на продажу", 14, "Times New Roman", clrRed); return(avg_price); } [¡Archivo!] Cualquier pregunta de Indicadores de élite :) Discusión sobre el artículo Tretyakov Rostyslav 2022.01.02 11:37 #18387 EVGENII SHELIPOV #:Gracias por el consejo, Rostislav, pero algo estoy haciendo mal. Necesito cambiar sólo el eje 0Y, pero la inscripción no quiere casarse con la línea horizontal. Adjunto el código y una captura de pantalla, ¿podéis decirme dónde está el error? No olvides los soportes. //+----------------------------------------------------------------------------+ //| Расчет среденй цены (0)-buy (1)-sell ()-all | //+----------------------------------------------------------------------------+ double GetAveragePrice(int ot=-1) { double order_lots = 0, order_price = 0, avg_price = 0; int x = 0, y = 0; { for(int i = OrdersTotal()-1; i>=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if(OrderType()==ot||ot<0) { order_lots += OrderLots(); order_price += OrderOpenPrice() * OrderLots(); } } } } } avg_price = NormalizeDouble(order_price / order_lots, Digits); if(ObjectFind(0,"AveragePriceLine"+IntegerToString(ot))!=0) ObjectCreate(0,"AveragePriceLine"+IntegerToString(ot),OBJ_HLINE, 0, 0, avg_price); else ObjectSetDouble(0,"AveragePriceLine"+IntegerToString(ot),OBJPROP_PRICE,avg_price); if(ot==0) { ObjectSet("AveragePriceLine"+IntegerToString(ot),OBJPROP_COLOR, clrLime); ObjectCreate("signal4",OBJ_LABEL,0,0,0,0,0); ObjectSet("signal4",OBJPROP_XDISTANCE,500); ChartTimePriceToXY(0, 0, 0,avg_price, x, y); ObjectSet("signal4",OBJPROP_YDISTANCE, y + 10); ObjectSetText("signal4","- Средняя цена сетки ордеров на покупку",14,"Times New Roman", clrLime); } if(ot==1) { ObjectSet("AveragePriceLine"+IntegerToString(ot),OBJPROP_COLOR, clrRed); ObjectCreate("signal3",OBJ_LABEL,0, 0, 0, 0, 0); ObjectSet("signal3",OBJPROP_XDISTANCE, 500); ChartTimePriceToXY(0, 0, 0, avg_price, x, y); ObjectSet("signal3",OBJPROP_YDISTANCE, y + 10); ObjectSetText("signal3","- Средняя цена сетки ордеров на продажу", 14, "Times New Roman", clrRed); } return(avg_price); } EVGENII SHELIPOV 2022.01.02 12:18 #18388 Tretyakov Rostyslav #:No olvides los soportes. No, falta algo más. Tretyakov Rostyslav 2022.01.02 14:26 #18389 EVGENII SHELIPOV #:No, falta algo más Debe haber errores en el libro de registro Vitaly Muzichenko 2022.01.04 12:30 #18390 Copiar en una matriz MqlRates CopySymb[]; if(CopyRates(mSymbol,PERIOD_CURRENT,0,6,CopySymb)<0) return; Print( ArrayMaximum(???) ); ¿Cómo puedo obtener el máximo de un array? 1...183218331834183518361837183818391840184118421843184418451846...1954 Nuevo comentario
¡¡¡Buenas tardes!!! ¡¡¡Feliz Año Nuevo a todos!!!
Esta es una captura de pantalla que muestra la visualización del precio medio de las órdenes en la parrilla
Este es el código para crear una línea horizontal de precio medio e inscripción
Este es el código que elimina la línea horizontal
Por favor, ayuda a rehacer el código para que la inscripción aparezca encima de la línea y se elimine cuando se quite la línea
Gracias por su ayuda.
Por favor, ayúdenme a reescribir el código para que
Sipuede ayudar, ¿qué es exactamente lo que no puede hacer?
Sipuede ayudar, ¿qué es exactamente lo que no puede hacer?
No seamos groseros. Si supiera cómo hacerlo, no habría venido aquí.
La pregunta es muy sencilla necesitas saber las coordenadas de la inscripción con referencia a la línea horizontal ya que no se como calcularla.
No seamos groseros. Si supiera cómo hacerlo, no habría venido aquí.
La pregunta es muy sencilla necesito saber las coordenadas de la inscripción con referencia a la línea horizontal ya que no se como calcularla.
¿Qué quieres decir con "no seamos groseros"? Escribí "ayuda" y no "hazme".
¡¡¡Buenas tardes!!! ¡¡¡Feliz Año Nuevo a todos!!!
Código del agua eliminando la línea horizontal
Gracias por la ayuda.
Esto es más que suficiente.
La pregunta es muy sencilla necesitas saber las coordenadas de la inscripción con referencia a la línea horizontal ya que no se como calcularla.
Aquí puedes ayudar
ChartTimePriceToXY
ChartXYToTimePrice
Es más que suficiente.
Aquí es donde puedes obtener ayuda.
ChartTimePriceToXY
ChartXYToTimePrice
Gracias por el consejo Rostislav, pero algo estoy haciendo mal.
Necesito cambiar sólo el eje 0Y por ahora, pero la inscripción no quiere casarse con la línea horizontal.
Adjunto el código y la captura de pantalla, por favor, indíqueme dónde está el error.
Gracias por el consejo, Rostislav, pero algo estoy haciendo mal.
Necesito cambiar sólo el eje 0Y, pero la inscripción no quiere casarse con la línea horizontal.
Adjunto el código y una captura de pantalla, ¿podéis decirme dónde está el error?
No olvides los soportes.
No olvides los soportes.
No, falta algo más.
No, falta algo más
Copiar en una matriz
¿Cómo puedo obtener el máximo de un array?