Deseos para MT5 - página 62

 
Yedelkin:

Sólo tiene que especificar un número de ventana inexistente .

Es decir, especificar INT_MAX, por ejemplo. O un valor negativo (yo no lo he probado, pero como idea se puede probar).


int win_ind=1;

int OnInit()
  {
//---
   chart_id=ChartID();
//--- set balans ind

   MqlParam params[1];
   params[0].type         =TYPE_STRING;
   params[0].string_value =name_ind;
   handle=IndicatorCreate(ChartSymbol(chart_id),ChartPeriod(chart_id),IND_CUSTOM,win_ind,params); // вот тут ещё 
                                                                              // прокатит несуществующее окно
   ChartIndicatorAdd(chart_id,win_ind,handle); // а вот тут уже нужно точно знать его номер
   win_ind=ChartWindowFind(chart_id,name_ind); // а получить его можно только тут   
//---
   return(0);
  }

Por eso hay que especificar win_ind explícitamente, de lo contrario no funcionará.

 

Urain:

Yedelkin:

Sólo tiene que especificar un número de ventana inexistente .

Es decir, especificar INT_MAX, por ejemplo. O un valor negativo (no lo he probado yo, pero como idea, puedes probarlo).

Eso es porque no lo he probado, por eso lo aconseja

Bien, si has comprobado la idea de especificar valores negativos y no resulta ser cierta, vamos a detenernos en la primera pista:

"Sólo tiene que especificar un número de ventana inexistente , por ejemplo, especificar INT_MAX". Es decir, en el ejemplo anterior especifica

ChartIndicatorAdd(chart_id,INT_MAX,handle); // указываем заранее несуществующий номер подокна

¿O, en su caso, al especificar un número de ventana inexistente, la funciónChartIndicatorAdd se niega a trabajar y crear una nueva subventana?

Por cierto, no está muy claro por qué tienes la misma variable en tu código

int win_ind=1;
se utiliza primero como cuarto parámetro de la funciónIndicatorCreate (donde el cuarto parámetro == número de parámetros pasados en la matriz parameters_array[]) y luego se utiliza como segundo parámetro de la funciónChartIndicatorAdd(donde el segundo parámetro == número de subventana del gráfico).
 
Документация по MQL5: Операции с графиками / ChartIndicatorsTotal
Документация по MQL5: Операции с графиками / ChartIndicatorsTotal
  • www.mql5.com
Операции с графиками / ChartIndicatorsTotal - Документация по MQL5
 

¿Se refiere a esto?

TOTAL DE VENTANAS DEL GRÁFICO

Número total de ventanas del gráfico, incluidas las subventanas de los indicadores

int r/o

 
Taki sí :) Haciendo un doble bucle puedes pasar por todos los índices de la carta sin demasiados problemas.
 
Yedelkin:

Por cierto, no está muy claro por qué tienes la misma variable en tu código

primero se utiliza como el cuarto parámetro de la funciónIndicatorCreate (donde el cuarto parámetro == número de parámetros pasados en el array parameters_array[]) y luego se utiliza como el segundo parámetro de la funciónChartIndicatorAdd(donde el segundo parámetro == número de subventana del gráfico).

Semyon Semyonych, así es. Me descuidé al escribir win_ind explícitamente en todas partes como 1 y luego, al sustituirlo por una variable, cambié todos los 1 por win_ind. Eso es lo que te dio la descarga eléctrica :o)

El código correcto sería este

int win_ind=-1;

int OnInit()
  {
//---
   chart_id=ChartID();
//--- set balans ind

   MqlParam params[1];
   params[0].type         =TYPE_STRING;
   params[0].string_value =name_ind;
   handle=IndicatorCreate(ChartSymbol(chart_id),ChartPeriod(chart_id),IND_CUSTOM,1,params);// 1- количество параметров 
                                                                              
   ChartIndicatorAdd(chart_id,win_ind,handle); // тут поскольку win_ind=-1 создаём новое окно
   win_ind=ChartWindowFind(chart_id,name_ind); // а тут получаем значение win_ind 
//---
   return(0);
  }

Ahora sí, todo funciona automáticamente. Gracias por el análisis del código, una cabeza está bien pero dos es mejor :o)

 
TheXpert:
Taki sí :) Haciendo un doble bucle puedes pasar por todos los índices de la carta sin demasiados problemas.
¡No pasa nada! Pero para mis propósitos me las arreglé para evitar el bucle.
 
Hace unos seis meses se propuso ampliar la lista de pedidos pendientes. Por ejemplo, para introducir órdenes de tipo OCO, etc. ¿Cuál es el estado actual de esas ideas? ¿Podemos esperar la aparición (al menos en un año) de nuevos tipos de órdenes pendientes?
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
Por desgracia, no. El sistema de órdenes judiciales no cambiará.
 
Renat:
Por desgracia, no. El sistema de órdenes judiciales no va a cambiar.
De acuerdo, entonces iremos con lo que tenemos.