PeriodSeconds

Devuelve la cantidad de segundos en el período.

int  PeriodSeconds(
   ENUM_TIMEFRAMES  period=PERIOD_CURRENT      // período del gráfico
   );

Parámetros

period=PERIOD_CURRENT

[in]  Valor del período de gráfico de la enumeración ENUM_TIMEFRAMES. Si el parámetro no está especificado, se devuelve el número de segundos del período actual del gráfico en el cual el programa está inicializado.

Valor devuelto

Número de segundos en el período especificado.

Ejemplo:

#include <Trade\Trade.mqh>
#define MAGIC (123)
 
//--- input parameters
input string          InpFileNameOK  = "ok.wav";               // archivo con el sonido de éxito
input string          InpFileNameErr = "timeout.wav";          // archivo con el sonido de error
input ENUM_ORDER_TYPE InpOrderType   = ORDER_TYPE_BUY_LIMIT;   // tipo de orden
input double          InpLots        = 0.1;                    // lotes
 
//--- global variables
CTrade ExtTrade;
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- establecemos el número mágico y el tipo de orden por ejecución según la configuración del símbolo
   ExtTrade.SetExpertMagicNumber(MAGIC);
   ExtTrade.SetTypeFillingBySymbol(Symbol());
//--- llamamos a la función para colocar una orden o abrir una posición con reproducción de sonido
   OrderSendWithAudio();
  }
//+------------------------------------------------------------------+
//| La función coloca una orden o bien abre una posición            |
//| y reproduce un sonido de éxito o error                           |
//+------------------------------------------------------------------+
void OrderSendWithAudio(void)
  {
   bool    res=true;
   MqlTick tick= {};
 
   ResetLastError();
   if(!SymbolInfoTick(Symbol(),tick))
     {
      Print("SymbolInfoTick() failed. Error code: ",GetLastError());
      PlaySound(InpFileNameErr);
      return;
     }
//--- enviamos una solicitud al servidor
   switch(InpOrderType)
     {
      case ORDER_TYPE_BUY :
         res=ExtTrade.Buy(InpLots);
         break;
      case ORDER_TYPE_BUY_LIMIT :
         res=ExtTrade.BuyLimit(InpLots,NormalizeDouble(tick.ask-100*Point(),Digits()));
         break;
      case ORDER_TYPE_BUY_STOP :
         res=ExtTrade.BuyStop(InpLots,NormalizeDouble(tick.ask+100*Point(),Digits()));
         break;
      case ORDER_TYPE_SELL :
         res=ExtTrade.Sell(InpLots);
         break;
      case ORDER_TYPE_SELL_LIMIT :
         res=ExtTrade.SellLimit(InpLots,NormalizeDouble(tick.bid+100*Point(),Digits()));
         break;
      case ORDER_TYPE_SELL_STOP :
         res=ExtTrade.SellStop(InpLots,NormalizeDouble(tick.bid-100*Point(),Digits()));
         break;
      default :
         res=false;
     }
   if(!res)
      Print("Error ",GetLastError());
   Print(ExtTrade.ResultRetcodeDescription());
 
//--- si la solicitud ha sido aceptada, reproducimos el sonido ok.wav
   if(ExtTrade.ResultRetcode()==TRADE_RETCODE_DONE)
      PlaySound(InpFileNameOK);
   else
      PlaySound(InpFileNameErr);
  }

Véase también

_Period, Períodos de gráficos, Fecha y hora, Visibilidad de objetos