Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 688

 
vld:
Me refería a la ventana de datos del terminal, el resto está más o menos claro)

¿Así que quieres ver la fecha y la hora de la vela y la lectura del indicador cuando pasas el ratón por encima?
 
AlexeyVik:

Entonces, ¿quieres ver la fecha y la hora de las lecturas de las velas y los indicadores?

Un truco, pero vamos)

Puedo ver la fecha y la hora de la vela tal y como está pasando por encima de ella. Lecturas del indicador del límite del intervalo de tiempo en el que me encuentro,

El número de días, etc., barras del intervalo de tiempo y hasta su final (se cuenta y se muestra en segundos).

Sí, y que tengo por fechas de cotizaciones Time[0], Time[Bars-1].

Quiero mostrarlos sin tirones innecesarios).

 
vld:

Un truco, pero vamos)

Puedo ver la fecha y la hora de la vela tal y como está pasando por encima de ella. Lecturas del indicador del límite del intervalo de tiempo en el que me encuentro,

El número de días, etc., barras del intervalo de tiempo y hasta su final (se cuenta y se muestra en segundos).

Sí, y que tengo por fechas de cotizaciones Time[0], Time[Bars-1].

Para que sin tirones innecesarios)


No lo entiendo, aunque no es una broma, es una sorpresa de incomprensión.
 

La función start( ) solía ser de tipo int. Ahora es de tipo nulo. Eso existe. Antes era conveniente salir de la función start() si fallaba. Pero ahora no es tan conveniente. Tomé una de búhos antiguos, donde se puede ver cómo estaba escribiendo antes:

void OnTick()
{
//---
   if (gdt_lastBarTime != Time[0])      // Если открылся новый бар, отрабатываем требуемые действия
   {
      int signal = GetGeneralSignal();
   
      if (signal != SIGNAL_NO)
          if (!Trade(signal))
              return (0);
          
      // Блок управления позициями   
      for (int li_Ord = OrdersTotal()-1; li_Ord >= 0; li_Ord--)
      {
         if (!OrderSelect(li_Ord, SELECT_BY_POS)) continue;
         if (OrderMagicNumber() != ii_Magic) continue;
         if (OrderSymbol() != Symbol()) continue;
       
          SPos.gi_CurTicket = OrderTicket();
          SPos.gi_Type = OrderType();
       
          // Блок модификации ордеров       
          if (id_SL != 0 || id_TP != 0)
          {
             if (OrderStopLoss() == 0 && OrderTakeProfit() == 0)
             {
                OrdersModifyer (ticket);
             }
          }
          // Блок перевода ордеров в б.у.
          if (OrderStopLoss() <= gd_PriceBU)
          {
             if (OrderType() > 1) continue;
             MovingStopLossToBU();
          }
          // Блок траала открытых ордеров
          if (OrderStopLoss() > gd_PriceBU)
          {
             TrailingStop();
          }

          // Удаление просроченных отложенных ордеров
          if (OrderOpenPrice() < Time[0])
          {
             DeletePendingOrders();
          }
      }
      
      gdt_lastBarTime = Time[0];     // На текущем баре все необходимые действия..
                                     // .. успешно выполнены
   }
}

Básicamente, con la variablegdt_LastBarTime controlo la apertura de una nueva barra. Antes era diferente. Lo escribí así:

if (gdt_lastBarTime == Time[0]) return (0)

Me salté cualquier otra operación. ¿Cómo es más conveniente aplicar esto ahora? Porque no hay posibilidad de devolver ningún valor. Resulta que si introduzco la condición, pase lo que pase ahí, la función llegará al final y la variable gdt_lastBarTime obtendrá un nuevo valor. La cuestión es que enviar peticiones al terminal en cada tic no es una opción. Por lo tanto, tenemos que limitar este caso con mayor precisión. Y si la función no puede ser abandonada, como, por ejemplo, con la función int o booleana, significa que funcionará de todos modos.

 
hoz:

La función start( ) solía ser de tipo int. Ahora es de tipo nulo. Eso existe. Antes era conveniente salir de la función start() si fallaba. Pero ahora no es tan conveniente. Tomé una de búhos antiguos, donde se puede ver cómo estaba escribiendo antes:

Básicamente, con la variablegdt_LastBarTime controlo la apertura de una nueva barra. Antes era diferente. Lo escribí así:

Me salté cualquier otra operación. ¿Cómo es más conveniente aplicar esto ahora? Porque no hay posibilidad de devolver ningún valor. Resulta que si introduzco la condición, pase lo que pase ahí, la función llegará al final y la variable gdt_lastBarTime obtendrá un nuevo valor. La cuestión es que enviar peticiones al terminal en cada tic no es una opción. Por lo tanto, tenemos que limitar este caso con mayor precisión. Y si la función no puede ser abandonada, como, por ejemplo, con la función int o booleana, significa que funcionará de todos modos.

¿Qué hay de malo en notener parámetros?
 
evillive:
¿el retorno sin parámetros no es satisfactorio?
Ahí es donde lo dejé.
 

Ha surgido una pregunta sobre el uso de los búferes indicadores: digamos que dos búferes en una ventana separada dibujan un histograma. El primero muestra algunos valores nominales y el segundo los valores máximos.
¿Es posible prohibir programáticamente el uso de la segunda memoria intermedia por parte de indicadores externos (asistentes, etc.), es decir, que sólo se utilice para mostrar los valores necesarios en el gráfico, pero que no sea visible para los indicadores externos que el usuario superponga en el gráfico?

 
atztek:

¿Es posible prohibir mediante programación el uso de la segunda memoria intermedia por parte de indicadores externos (asistentes, etc.), es decir, que sólo se utilice para mostrar los valores necesarios en el gráfico, pero que no sea visible para los indicadores externos que el usuario superponga en el gráfico?

No. Todo lo que es visible se puede leer mediante programación.
 
TheXpert:
No. Cualquier cosa que sea visible puede ser contada programáticamente.

Ya veo.
Gracias.
 

¿Es posible crear una matriz bidimensional estableciendo el tamaño de la segunda dimensión en una variable en lugar de una constante?

Razón de la queja: