
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
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>
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). 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
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 <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
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?
El propio OrdersHistoryTotal podría acelerarse fácilmente almacenando en caché el contador.
Es posible, por supuesto. No he visto la necesidad.
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.
#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
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;
}