![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Es una pena que no tenga la función depo y beneficio sólo para mí
da 1.#INF.
Servicedesk ya ha escrito...
y no puedes poner un cero después del punto así.
No importa cómo se escriba, sigue siendo 1.#INF.
Parece que no hay ninguna diferencia si es 10. o 10.0.
No importa cómo se escriba, sigue siendo 1.#INF.
No parece haber ninguna diferencia 10. o 10.0.
Acabo de comprobar la expresión.
No da error, funciona bien.
Acabo de comprobar la expresión.
ningún error, todo funciona bien.
¡Por supuesto que está bien y estará bien!
Estoy utilizando dos bibliotecas.... No voy a describir toda la situación.
¡Por supuesto que está bien y estará bien!
Tengo dos bibliotecas en use.... No voy a describir toda la situación.
Entonces para qué preguntar por qué hay un error, no hay error en la expresión que pusiste como ejemplo, el error debe estar en otra cosa.
No estaba preguntando).
Entonces, ¿cuál es el significado de su puesto
Entonces, ¿cuál es el significado de su puesto
¿Dónde has visto una pregunta? )))
Decidí probar una estrategia. Pero de alguna manera el Asesor Experto comenzó a comportarse de manera extraña en el probador.
Quería utilizarlo durante largos periodos. Aunque el algoritmo es casi scalper. ;)
Así que decidí comprobar los datos que vienen para entrar en el Asesor Experto.
Comencé un Asesor Experto sin pretensiones
input bool File=true;
MqlTradeRequest mReq;
MqlTradeResult mRez;
int handle1,handle2;
double iBuffer1[],iBu1[];
double iBuffer2[],iBu2[];
double vol[22],OTS;
MqlDateTime newT,oldT;
datetime newTT,oldTT;
string FName;
int hF;//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--------------Set default vaules for all new order requests
mReq.action=TRADE_ACTION_DEAL;
mReq.magic=777;
mReq.symbol=Symbol(); // Trade symbol
mReq.deviation=3; // Maximal possible deviation from the requested price
mReq.type_filling=ORDER_FILLING_AON; // Order execution type
mReq.type_time=ORDER_TIME_GTC; // Order execution time
mReq.comment="MAMASKHA_"+IntegerToString(PeriodSeconds()/60,2);
//----------------------- Set Volume pi
Print ("----- Start init ---");
oldTT=TimeCurrent()+51;TimeToStruct(oldTT,oldT);
oldTT-=oldT.hour; oldTT-=oldT.min;
printf("%02d.%02d.%4d %2d:%2d %3d",oldT.day,oldT.mon,
oldT.year,oldT.hour,oldT.min,
SymbolInfoInteger(Symbol(),SYMBOL_TRADE_STOPS_LEVEL));
StringConcatenate(FName,mReq.comment,"_",oldT.year,"x",oldT.mon,"x",
oldT.day,"_",oldT.hour,"_",oldT.min,".csv");
if (File) {hF=FileOpen(FName, FILE_WRITE|FILE_CSV|FILE_COMMON);
if (hF<-1) Print ("Ошибка открытия файла ",FName," ",
GetLastError());
if (File) FileWrite(hF,oldT.day,oldT.mon,
oldT.year,oldT.hour,oldT.min,"I"
);
Print ("Start on ",FName);
}
Print ("Start ",mReq.comment);
return(0);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
if (File) FileClose(hF);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
bool poz=true;
int i,per=PeriodSeconds();
MqlTick tick;//------------------
if(!SymbolInfoTick(Symbol(),tick))
{
Print("Failed to get Symbol info!",per);
return;
}
newTT=tick.time;
if(newTT<=oldTT+per+1)
{if (diskret)return;}
else
{
MqlRates rates[];
int copied=CopyRates(Symbol(),0,0,1,rates);
if(copied<=0)
Print("Ошибка копирования ценовых данных ",GetLastError());
else oldTT=rates[0].time;
TimeToStruct(oldTT,oldT);
printf("%02d.%02d.%4d %2d:%2d",oldT.day,oldT.mon,
oldT.year,oldT.hour,oldT.min);
TimeToStruct(newTT,newT);
printf(" New %02d.%02d.%4d %2d:%2d",newT.day,newT.mon,
newT.year,newT.hour,newT.min);
if (File) FileWrite(hF,oldT.day,oldT.mon,
oldT.year,oldT.hour,oldT.min,"I",
tick.ask,tick.bid,tick.last,tick.volume);
}
return;
}
y obtuve un registro extraño. ¿Quién puede decirme la razón por la que se saltan los periodos de datos?
Y una cosa más - el archivo, que debe ser creado (xp2sp) en el directorio no se detecta.
Por favor, aclárense, hace tiempo que no miro en MT5 y estoy completamente perdido...
:(