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

 
EVGENII SHELIPOV #:

Makar algo está mal. Me encanta, gracias. Yo mismo encontré una opción no tan bonita, pero que funciona.

Muéstrame dónde se llama a GetAveragePriceManMaxOrders().
 

MakarFX #:
Покажи где идет обращение к GetAveragePriceManMaxOrders()

 ObjectCreate(0,"AveragePriceLineMinMaxOrders0",OBJ_HLINE, 0, 0, GetAveragePriceManMaxOrders(0));
   ObjectSet("AveragePriceLineMinMaxOrders0", OBJPROP_COLOR, clrLime);
   ObjectSet("AveragePriceLineMinMaxOrders0", OBJPROP_STYLE, STYLE_DASH);
   ObjectCreate(0,"AveragePriceLineMinMaxOrders1",OBJ_HLINE, 0, 0, GetAveragePriceManMaxOrders(1));
   ObjectSet("AveragePriceLineMinMaxOrders1",OBJPROP_COLOR, clrRed);
   ObjectSet("AveragePriceLineMinMaxOrders1", OBJPROP_STYLE, STYLE_DASH);

Makar Todavía no tengo nada serio colgado en esta función. Acabo de hacer una referencia para visualizar los objetos. Esta función es para el futuro, por así decirlo.

 
EVGENII SHELIPOV #:

Makar Todavía no tengo nada serio colgado en esta función. Acabo de hacer una referencia para visualizar los objetos. Esta función es, por así decirlo, para el futuro.

Borrar

ObjectCreate(0,"AveragePriceLineMinMaxOrders0",OBJ_HLINE, 0, 0, GetAveragePriceManMaxOrders(0));
   ObjectSet("AveragePriceLineMinMaxOrders0", OBJPROP_COLOR, clrLime);
   ObjectSet("AveragePriceLineMinMaxOrders0", OBJPROP_STYLE, STYLE_DASH);
   ObjectCreate(0,"AveragePriceLineMinMaxOrders1",OBJ_HLINE, 0, 0, GetAveragePriceManMaxOrders(1));
   ObjectSet("AveragePriceLineMinMaxOrders1",OBJPROP_COLOR, clrRed);
   ObjectSet("AveragePriceLineMinMaxOrders1", OBJPROP_STYLE, STYLE_DASH);

y todo debería funcionar

 

Buenas tardes a todos. Tengo una tarea de este tipo en mt4. Inicialmente, al comienzo del día abro 30 gráficos de diferentes símbolos con plantilla de mediano plazo, y en todos los gráficos he adjuntado indicador y EA con sus parámetros. Luego analizo los gráficos y en el que tiene señal me muevo de D1 a n1 y si hay señal en n1, el Asesor Experto abre posiciones y las apoya. Al final resulta que una parte del gráfico está en el d1, y otra en el n1. Al principio del día siguiente, necesito de nuevo que todos los gráficos estén en d1 con indicador y EA que hayan guardado sus parámetros. He intentado guardar un perfil en el momento en que todos los gráficos están en d1. He cargado el perfil, pero los gráficos que se han cambiado a n1 siguen estando en este marco temporal. ¿Existe alguna solución para cambiar todos los gráficos abiertos en el terminal de forma fácil y rápida a d1 guardando todos mis ajustes? ¿Un script, un Expert Advisor o algo más?

Y la segunda pregunta: si tengo 30 gráficos abiertos y me sitúo en la parte derecha de la barra inferior donde están todos los gráficos, ¿puedo cambiar al gráfico correcto con un solo clic en lugar de pasar por un gráfico?


el gráfico más a la derecha de 30. la flecha derecha se desplaza de 1 en 1, ¿cómo puedo ir al más a la derecha?

 
DanilaMactep #:

Buenas tardes a todos. Tengo una tarea de este tipo en mt4. Inicialmente, al comienzo del día abro 30 gráficos de diferentes símbolos con plantilla de mediano plazo, y en todos los gráficos he adjuntado indicador y EA con sus parámetros. Luego analizo los gráficos y en el que tiene señal me muevo de D1 a n1 y si hay señal en n1, el Asesor Experto abre posiciones y las apoya. Al final resulta que una parte del gráfico está en el d1, y otra en el n1. Al principio del día siguiente, necesito de nuevo que todos los gráficos estén en d1 con indicador y EA que hayan guardado sus parámetros. He intentado guardar un perfil en el momento en que todos los gráficos están en d1. He cargado el perfil, pero los gráficos que se han cambiado a n1 siguen estando en este marco temporal. ¿Existe alguna solución para cambiar todos los gráficos abiertos en el terminal de forma fácil y rápida a d1 guardando todos mis ajustes? ¿Un script, un Expert Advisor o algo más?

Y la segunda pregunta: si tengo 30 gráficos abiertos y me sitúo a la derecha en la barra inferior donde están todos los gráficos, puedo cambiar al gráfico correcto con un solo toque en lugar de pasar por un gráfico.

Aquí hay un script para ayudar con esta pregunta:

/********************************************************************\
|                                                           Test.mq5 |
|                                            © 2021, Alexey Viktorov |
|                       https://www.mql5.com/ru/users/alexeyvik/news |
\********************************************************************/
#property copyright "Viktorov"
#property link      "https://www.mql5.com/ru/users/alexeyvik/news"
#property version   "1.00"
#property strict

/********************Script program start function*******************/
void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0)
   {
    if(ChartPeriod(prevChart) != PERIOD_D1)
      ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_D1);
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/

En la segunda pregunta, la combinación de teclas ctrl+tab o ctrl+mayús+tab le ayudará

o escribir un script con una línea de código

ChartSetInteger(ChartFirst(), CHART_BRING_TO_TOP, 0, true)
 
Alexey Viktorov #:

Aquí hay un script para ayudar con esta pregunta:

En la segunda pregunta, el atajo de teclado ctrl+tab o ctrl+mayús+tab le ayudará

o escribir un script con una línea de código

Gracias por el código - voy a añadirlo al script, espero que funcione y no explote :-) ;-)
 
Alexey Viktorov #:

Aquí hay un script para ayudar con esta pregunta:

En la segunda pregunta, el atajo de teclado ctrl+tab o ctrl+mayús+tab le ayudará

o escribir un script con una línea de código

Todo funcionó perfectamente - muchas gracias - ahora voy a ahorrar un montón de tiempo y esfuerzo P / S, mientras que atornillar nada reventado y también para la transferencia a la n1 reworked)))))))

 
Buenos días! Me gustaría preguntar a los usuarios experimentados, hay un indicador muy simple, el código se adjunta a continuación, quiero cambiar a la terminal Metatrader5 y el indicador actual escrito en mql4 no se ajusta, ¿hay algún principio básico de los disparadores de cómo reescribir el indicador, o tal vez convertirlo
//+--где индикатор если indicator_chart_window то на график у нас в отдельном окне
#property indicator_separate_window
//+--уровни это сколько масивов Buf0[],Buf1[],Buf2[]; у нас каждый масив это линия
#property indicator_buffers 3
//+--сколько линий и какого цвета
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_color3 Blue 
//+-- ширина линии
#property indicator_width1  2
#property indicator_width2  3
#property indicator_width3  3
//+--уровни
#property indicator_level1 30 //+--уровень 1
#property indicator_level2 50 //+--уровень 2
#property indicator_levelstyle 2 //+--тип линии уровня 2 - это пунктир
#property indicator_levelcolor Black //+-- цвет линии уровня
//+-- то что будет в окне "входные параметры"                                         
extern int RSIPERIOD=5;
extern double KOEFF1=1.4;
extern double KOEFF2=2; 
//+-- описываем какие у нас массивы (их три) и перменные (в даном случае параметры РСАЙ (D10,D11,D12;) это переменная                                                                                                                                                       
double Buf0[],Buf1[],Buf2[];
double D10,D11,D12;
//+-- Блок init ПРЕДПОЛОДЖИТЕЛЬНО описательный                                                                                                                                                                                                                                                                                                                                      
int init()
  {
   IndicatorDigits(0); //+--формат точности (количество знаков после десятичной точки) для визуализации значений индикатора в окне индикатора (цифры rsi 7 или 7,23)
   string short_name="KAVRSI";   //+-- задаем 2 строчками короткое имя        
   IndicatorShortName("KAVRSI"); //+-- задаем 2 строчками короткое имя
   
   D10=RSIPERIOD;D11=D10*KOEFF1;D12=D11*KOEFF2;; //+--тут мы высчитываем переменные которые описали как масивы выше
 
   SetIndexBuffer(0,Buf0); //+-- описываем 1 массив Buf0[] первый это нулевой второй это первый и т.д.
   SetIndexStyle (0,DRAW_LINE); //+-- говорим что этот масив хотим представить в виде линии 0 это порядковый номер линии соответствует номеру масива 
   SetIndexBuffer(1,Buf1); //+-- описываем 2 массив Buf1[]
   SetIndexStyle (1,DRAW_LINE); //+-- 1 это порядковый номер линии соответствует номеру масива Buf1[]
   SetIndexBuffer(2,Buf2);
   SetIndexStyle (2,DRAW_LINE);
   return(0);
  }
//+-- Блок start сама математика и ОТРИСОВКА                                                                                                             
int start()
  {
   if(Bars<=RSIPERIOD)return(0); //+-- начинаем задавать условия если количество баров меньше расчета (баров 9 а мы считаем по 14) то выдаем 0
   int ExtCountedBars=IndicatorCounted(); //+--Возвращает количество баров, не измененных после последнего вызова индикатора.
   //---- последний посчитанный бар будет пересчитан
   if (ExtCountedBars>0) ExtCountedBars--;
   if (ExtCountedBars<0) return(-1);
   //+-- for(int для int это переменна в нашем случае видимо int ExtCountedBars=IndicatorCounted()
   //+-- и тут мы задаем параметр i - его свойства и описание на основе пересчитаных баров 
   //+-- в нашем случае НЕТ НЕ ПЕРЕСЧИТАННЫХ - считаеться и последний! 
   for(int i=0;i<Bars-RSIPERIOD;i++)
      {
       Buf0[i] = iRSI(NULL,0,D10,0,i);//+-- говорим что 1 массив это рсай с параметром D10
//+-- Пишем в коде что бы ВМЕСТО красной и синей линией RSI2 и RSI3 была одна линия - 
//+-- чтобы вместо красной и синей была одна - мы получаем среднее значение этих линий, т.е.     
       Buf1[i] = (iRSI(NULL,0,D11,0,i)+iRSI(NULL,0,D12,0,i))/2; //+-- и у этой линии, по умолчанию, красный цвет  
//+-- когда выполняется условие
       if(iRSI(NULL,0,D11,0,i)>iRSI(NULL,0,D12,0,i))
//+-- то мы не меняем цвет линии, т.к. в МТ4 это нельзя сделать,
//+-- а берем и накладываем сверху другую линию с другим цветом      
       Buf2[i] = Buf1[i]; 
       else
       Buf2[i] = EMPTY_VALUE; //+-- добавляем else Buf2[i] = EMPTY_VALUE; EMPTY_VALUE - Пустое значение в индикаторном буфере 
      }
   return(0);
  }
 

¡Hola!

¡Me gustaría escuchar a los programadores que dan consejos sobre MQL5 a cambio de una cuota!

O tal vez alguien le dé un consejo. Se lo agradecería.

 
Peperoni #:

¡Hola!

Me gustaría saber de cualquier programador que asesore a cambio de una tarifa.

O tal vez alguien recomiende a alguien. Se lo agradecería.

O bien, por libre, o bien, haga su pregunta aquí.

Торговые приложения для MetaTrader 5 на заказ
Торговые приложения для MetaTrader 5 на заказ
  • 2021.11.02
  • www.mql5.com
Самый большой фриланс c разработчиками программ на MQL5
Razón de la queja: