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

 
Mik45 #:

¡Hola!

Me podéis decir, me he descargado un indicador, está en la sección de indicadores en METEDITOR, pero en el terminal, en la sección de personalizados no aparecía... ¿Qué puedo hacer?

Es necesario compilar el código en el MetaEditor.

 
Mik45 #:

¡Hola!

Me podéis decir, me he descargado un indicador, está en la sección de indicadores en METEDITOR, pero en el terminal, en la sección de personalizados no aparecía... ¿Qué puedo hacer?

Si no se trata de un archivo .ex sino de un archivo .mq, hay que compilarlo

 

Buenos días a todos.

Estoy escribiendo un EA utilizando el sistema de tres pantallas de Elder,

Necesito prescribir el ajuste de la ventana corta y larga

dependiendo de la actual.

No puedo realizarlo.

Lo he intentado así, pero no funciona.

Archivos adjuntos:
 

¡Buenas tardes!

Por favor, aconseja cómo hacerlo. Necesito descargar una página de mi cuenta personal de investing.com desde MT5

Puedo utilizar la función WebRequest para descargar la página (no desde mi cuenta personal).

Mi pregunta es cómo pasar la autorización en el sitio? ¿Puede ser que alguien haya hecho algo así? ¿O conoce algún artículo al respecto?

 
Kot #:

¡Buenas tardes!

Por favor, aconseja cómo hacerlo. Necesito descargar una página de mi cuenta personal de investing.com desde MT5

Puedo utilizar la función WebRequest para descargar la página (no desde mi cuenta personal).

Mi pregunta es cómo pasar la autorización en el sitio? ¿Puede ser que alguien haya hecho algo así? ¿O conoce algún artículo al respecto?

Por si acaso, tenga cuidado con las solicitudes de inversión. Si tiras de ellos de forma demasiado activa, pueden ser baneados por IP.

 

Por favor, aconséjenos:
Necesitamos obtener un beneficio en una transacción pendiente - incluyendo la compensación pasada.

¿Es posible hacer esto con las clases CDealInfo o CPositionInfo?

Diseño:

   CPositionInfo Trading_position; 

   if(Trading_position.Select(_Symbol) == true)     {

      double Profit = Trading_position.Profit(); }

Permite obtener sólo el beneficio actual, sin tener en cuenta el beneficio recibido anteriormente.

 
qadexys #:

Por favor, aconséjenos:
Necesitamos obtener un beneficio en una transacción pendiente - incluyendo la compensación pasada.

¿Es posible hacer esto con las clases CDealInfo o CPositionInfo?

Diseño:

Permite obtener sólo el actual, sin tener en cuenta el beneficio recibido anteriormente.

Ejemplo de compensación (selección de posiciones por nombre de símbolo)

Foro sobre comercio, sistemas de comercio automatizados y prueba de estrategias de comercio

¿Cómo convertir los beneficios en puntos de ganancia?

Vladimir Karputov, 2022.01.11 05:59

Así:

//+------------------------------------------------------------------+
//|               Points profit of a position by trading history.mq5 |
//|                              Copyright © 2022, Vladimir Karputov |
//|                      https://www.mql5.com/en/users/barabashkakvn |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2022, Vladimir Karputov"
#property link      "https://www.mql5.com/en/users/barabashkakvn"
#property version   "1.003"
#property script_show_inputs
#include <Trade\PositionInfo.mqh>
CPositionInfo  m_position;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   if(m_position.Select(Symbol())) // select the position for further work
     {
      double profit=m_position.Profit();
      //--- request trade history
      if(!HistorySelectByPosition(m_position.Identifier()))
        {
         Print("Error HistorySelectByPosition");
         return;
        }
      //---
      uint history_deals_total=HistoryDealsTotal();
      double price_in=0.0;
      long time_in=TimeCurrent()+3600*24*3;
      //--- for all deals
      for(uint i=0; i<history_deals_total; i++)
        {
         ulong ticket=HistoryDealGetTicket(i);
         if(ticket)
           {
            profit+=HistoryDealGetDouble(ticket,DEAL_COMMISSION)+HistoryDealGetDouble(ticket,DEAL_SWAP)+HistoryDealGetDouble(ticket,DEAL_PROFIT);
            if(HistoryDealGetInteger(ticket,DEAL_ENTRY)==DEAL_ENTRY_IN)
              {
               long deal_time=HistoryDealGetInteger(ticket,DEAL_TIME);
               double deal_price=HistoryDealGetDouble(ticket,DEAL_PRICE);
               if(deal_time<time_in)
                 {
                  time_in=deal_time;
                  price_in=deal_price;
                 }
              }
           }
        }
      if(price_in>0.0)
        {
         double price_diff=MathAbs(m_position.PriceCurrent()-price_in);
         int points_profit=(int)(price_diff/Point());
         PrintFormat("position Ticket %d, position ID %d, profit %.2f, points profit %d: ",
                     m_position.Ticket(),m_position.Identifier(),profit,points_profit);
        }
     }
  }
//+------------------------------------------------------------------+


Resultado:

2022.01.11 06:57:32.678 Points profit of a position by trading history (XAUUSD,M15)     position Ticket 1235269798, position ID 1235269434, profit -0.63, points profit 71: 

 
¡Buenas noches!
Esta es una pregunta, ¿es posible escribir un bot de telegramas que transmita información sobre los pedidos cerrados, etc. Como en la foto
Archivos adjuntos:
 
Семён Метлицкий #:
¡Buenas noches!
Esta es una pregunta, ¿es posible escribir un bot de telegramas que transmita información sobre los pedidos cerrados, etc. Como en la imagen

Sí, envíelo aquí

 
Семён Метлицкий #:
¡Buenas noches!
Esta es una pregunta, ¿es posible escribir un bot de telegramas que transmita información sobre los pedidos cerrados, etc. Como en la foto

"De esta manera verá cuánto ha comprado el robot de sus órdenes de depósito"...

Esto es una tontería. Un depósito completo de órdenes de venta.

¿De verdad la gente se lo cree?

Detener la Tierra.

Es una broma.