Bibliotecas: MT4Orders - página 4

 
El propio OrdersHistoryTotal puede acelerarse fácilmente almacenando en caché el contador.
 

Estoy intentando conectarlo, ¡pero no funciona!

Tengo una clase separada para trabajar con órdenes, así que hice un cambio al principio del código de EA, y obtengo 100 errores en mi clase, ¿estoy tratando de ejecutar algo mal?

#property strict
#include <cPoza13-1.mqh>
#include <MT4Orders.mqh>
#include <MQL4_to_MQL5.mqh>

 
-Aleks-:

Estoy intentando conectarlo, ¡pero no funciona!

Tengo una clase separada para trabajar con órdenes, así que hice un cambio al principio del código de EA, y obtengo 100 errores en mi clase, ¿estoy tratando de ejecutar algo mal?

#property strict
#include <cPoza13-1.mqh>
#include <MT4Orders.mqh>
#include <MQL4_to_MQL5.mqh>

MT4Orders sólo afecta al código de abajo (después de #include). Así que coloca tu clase DESPUÉS de la librería, no antes.
 
fxsaber:
MT4Orders sólo afecta al código de abajo (después de #include). Por lo tanto, coloque su clase no antes sino DESPUÉS de la librería.

1. primero necesitas ver que tipo de errores tiene sin la ayuda de la sociedad telepática.

2. Si cPoza13-1 utiliza MT4Orders y MQL4_to_MQL5, ¿por qué no están incluidos en el propio archivo cPoza13-1? Y en algún sitio fuera... extraño enfoque de la codificación

 
Decidí darle una oportunidad, ya que estoy reescribiendo el bot en mt5 y necesito una prueba rápida :). Usted dice que es para las cuentas de cobertura, lo cual es comprensible. ¿Cuál es la situación con las cuentas no comerciales? Teniendo en cuenta que mi estrategia utilizará sólo una posición abierta, ¿todo lo demás funcionará correctamente?
 
o_O:

Y si cPoza13-1 utiliza MT4Orders y MQL4_to_MQL5, ¿por qué no están incluidos en el propio archivo cPoza13-1? Y por ahí... extraño enfoque de la codificación

El enfoque es claro. cPoza es una librería MQL4 pura. Por eso no se corrige.

Por ejemplo, convertí otro Asesor Experto MT4( conversiónalternativa) a código multiplataforma de esta manera

#include <MT4Orders.mqh>    // https://www.mql5.com/es/code/16006
#include <MQL4_to_MQL5.mqh> // https://www.mql5.com/es/code/16006

#ifdef __MQL5__
  #define MODE_MINLOT SYMBOL_VOLUME_MIN
  
  double MarketInfo( const string Symb, const ENUM_SYMBOL_INFO_DOUBLE Type )
  {
    return(SymbolInfoDouble(Symb, Type));
  }
  
  void OnTick()
  {
    start();
  }  
#endif

#include "OpenTiks.mq4" // https://www.mql5.com/es/code/8578
Es decir, mi planteamiento de conversión es no interferir en el fichero original.
 
Maxim Dmitrievsky:
Decidí darle una oportunidad, ya que estoy reescribiendo el bot en mt5 y necesito una prueba rápida :). Usted dice que es para las cuentas de cobertura, lo cual es comprensible. ¿Cuál es la situación con las cuentas no comerciales? Bueno, teniendo en cuenta que mi estrategia utilizará sólo una posición abierta, ¿todo lo demás funcionará correctamente?
Funcionará. Lo hago todo en bolsa a través de MT4Orders. No me limito al número de posiciones abiertas.
 
Stanislav Korotky:
El propio OrdersHistoryTotal podría acelerarse fácilmente almacenando en caché el contador.

Es posible, por supuesto. No he visto la necesidad.

-Aleks-:

Yo uso el análisis de la historia, mi MM implica el comercio de una situación durante la cual el cierre y la apertura de posiciones se lleva a cabo, y el riesgo se tiene en cuenta utilizando el resultado financiero desde el comienzo de la situación.

Bajo la situación podemos imaginar la identificación de una tendencia - el trabajo sobre su finalización se lleva a cabo de manera diferente - la apertura y cierre de posiciones, pero es importante saber lo que puede arriesgar, porque cuanto más tiempo se ejecuta la tendencia, más probable es su finalización - de ahí el diferente volumen de órdenes abiertas y puntos de salida.

Aparentemente, debería hacerse.
 
Otro ejemplo de conversión de MT4-advisor( conversiónalternativa) a la versión multiplataforma
#include <MT4Orders.mqh>    // https://www.mql5.com/es/code/16006
#include <MQL4_to_MQL5.mqh> // https://www.mql5.com/es/code/16006

#ifdef __MQL5__
  double AccountBalance( void )  
  {
    return(AccountInfoDouble(ACCOUNT_BALANCE));
  }
  
  int TimeHour( const datetime Date )
  {
    MqlDateTime Tmp;
  
    TimeToStruct(Date, Tmp);
  
    return(Tmp.hour);
  }  
  
  void OnTick()
  {
    start();
  }  
#endif

#include "20_200_expert_v4_2_AntS.mq4" // https://www.mql5.com/es/code/7891
Se adjunta la fuente del original.
Archivos adjuntos:
 
fxsaber:
MT4Orders sólo afecta al código de abajo (después de #include). Por lo tanto, coloque su clase DESPUÉS de la biblioteca, no antes.

Lo tengo - gracias - los errores casi han desaparecido, pero queda uno:

'OrderCloseBy' - función no definida cPoza13-1.mqh 1885 8

 //+------------------------------------------------------------------------------------------------------------------------------------+
//| Возвращает TRUE, если один ордер закрылся другим
//+------------------------------------------------------------------------------------------------------------------------------------+
bool cPoza::closeBy(int ticketB, int ticketA)
{
  if(ticketB > 0 && ticketA > 0)
  {
    if(OrderCloseBy(ticketB, ticketA)) return true;
    else Print("Magic=", mMagic, " ",__FUNCTION__, " Встречное закрытие не вышло ticketB=", ticketB, " ticketA=", ticketA, " вызвало ошибку-", _LastError);
  }
  else return false;
 
  return false;
}