Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1249

 

Hola.

Necesita adaptar uno de los indicadores estándar que están colgados en el terminal. No pude encontrar cómo acceder a su código y ¿dónde se encuentran?

 
Sergey:

Hola.

Necesario para adaptar uno de los indicadores estándar que están colgados en el terminal. No encuentro cómo acceder a su código y ¿dónde existen?

No tendrá acceso al código de los indicadores estándar. Pero hay ejemplos:

\MQL5\N-Indicadores\N-Ejemplos

 
Artyom Trishkin:

No tendrá acceso al código de los indicadores estándar. Pero hay ejemplos:

\MQL5\N-Indicadores\N-Ejemplos

Gracias por el consejo.

 
Hola a todos. ¿Es posible elegir un período específico en mql5 para estudiar las estadísticas? ¿O se mantiene exclusivamente durante todo el periodo de vida de la cuenta?
 

Al establecer la alerta

¿Cómo puedo configurar la alerta por defecto para que sea otra cosa que no sea alerta, por ejemploalerta2?

¿En qué archivo tengo que editar?


 
Vitaly Muzichenko:

Al establecer la alerta

¿Cómo puedo configurar la alerta por defecto para que sea otra cosa que no sea alerta, por ejemploalerta2?

¿En qué archivo hay que hacer cambios?


Al parecer, en la carpeta Sounds. Lo encontré en el lugar donde está instalado el terminal. НЕ в папке C:\Users\yastremskiiva\AppData\Roaming\MetaQuotes\Terminal\99193835FC75DE8874B99F9A3B93F15E

Y a juzgar por el orden alfabético, cambiar el nombre de alert2 para que sea más alfabético que alert

 
Valeriy Yastremskiy:

Al parecer, en la carpeta Sounds. Lo encontré en el lugar donde está instalado el terminal. НЕ в папке C:\Users\yastremskiiva\AppData\Roaming\MetaQuotes\Terminal\99193835FC75DE8874B99F9A3B93F15E

Y a juzgar por el orden alfabético, cambiar el nombre de alert2 para que sea más alfabético que alert

Sí, como opción, pero no es lo que me gustaría.

Gracias.

 

Necesito encontrar el beneficio de la última orden cerrada. He escrito una función:

double LastProfitOrder()
{
   int      i;
   int      total  = HistoryDealsTotal();
   ulong    ticket;
   datetime time; 
   long     type;
   string   symbol; 
   ulong    magic; 
   double   profit;
   double   profits = 0;
   datetime times   = 0;
   
   HistorySelect(0, TimeCurrent());
   
   for(i = total - 1; i >= 0; i--)
   {
      ticket = HistoryDealGetTicket(i);
      time   = (datetime)HistoryDealGetInteger(ticket, DEAL_TIME); 
      type   = HistoryDealGetInteger(ticket, DEAL_TYPE);
      symbol = HistoryDealGetString(ticket, DEAL_SYMBOL); 
      magic  = HistoryDealGetInteger(ticket, DEAL_MAGIC); 
      profit = HistoryDealGetDouble(ticket, DEAL_PROFIT); 
         
      if(symbol == Symbol() && magic == Magic)
      {
         if(type == DEAL_TYPE_BUY || type == DEAL_TYPE_SELL)
         {
            if(time > times)
            {
               profits = profit;
               times   = time;
            }
         }
      }
   }
   return(profits);
}

Mientras las órdenes se abrían a través de un "portlet" en OnTick() (MqlTick latestPrice;MqlTradeRequest request; ... etc.), la función funcionaba. Tan pronto como empecé a abrir órdenes usando #include <Trade\Trade.mqh> y escribí una función separada:

void OpenOrderBuy()
{
   double open = NormalizeDouble(iHigh(NULL, 0,1) + (VO+sp)*_Point, _Digits);
   double sl   = NormalizeDouble(open - SL*_Point, _Digits);
   double tp   = NormalizeDouble(open + TP*_Point, _Digits);
   
   if(!m_trade.BuyStop(GetLots(), open, _Symbol, sl, tp, ORDER_TIME_SPECIFIED, DateExp()))
   {
      Print("Метод BuyStop() потерпел поражение. Код возврата = ", m_trade.ResultRetcode(),
            ". Описание кода: ", m_trade.ResultRetcodeDescription());
   }
   else
   {
      Print("Метод BuyStop() исполнен успешно. Код возврата = ", m_trade.ResultRetcode(),
            " (", m_trade.ResultRetcodeDescription(),")");
   }
}

La función de búsqueda de beneficios dejó de funcionar (aunque las órdenes se abrían correctamente). He devuelto el "TypoScript" - funciona de nuevo. ¿Por qué un ***? ¿Cuál es la diferencia? No he encontrado nada en incluir que daría un beneficio de orden cerrado. Por ejemplo, #include <Trade\HistoryOrderInfo.mqh> contiene todo pero no he encontrado el beneficio de la orden.

Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Взаимодействие клиентского терминала и торгового сервера для проведения операций постановки ордеров производится посредством торговых запросов. Запрос представлен специальной предопределенной структурой MqlTradeRequest, которая содержит все поля, необходимые для заключения торговых сделок. Результат обработки запроса представлен структурой...
 
Youri Lazurenko:

Mientras las órdenes se abrían a través de un "spoiler" en OnTick() (MqlTick latestPrice;MqlTradeRequest request; ... etc.), la función funcionaba. Una vez que empecé a abrir órdenes usando #include <Trade\Trade.mqh>, escribí una función separada:

No olvidesconfigurar el identificador del Asesor Experto

   m_trade.SetExpertMagicNumber(InpMagic);
Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade / SetExpertMagicNumber
Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade / SetExpertMagicNumber
  • www.mql5.com
SetExpertMagicNumber(ulong) - CTrade - Торговые классы - Стандартная библиотека - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vladimir Karputov:

No te olvidesde configurar el ID de experto

Gracias. No tengo esos laberintos en mql5. En lugar de llegar directamente a la meta, hay que dar algunos rodeos, atravesar un montón de ramificaciones, callejones sin salida y obstáculos. El lenguaje por el lenguaje.

Razón de la queja: