Errores, fallos, preguntas - página 111

 
sergeev:

todo coincidía.

2010.08.28 20:57:09 Servis (EURUSD,H1) L1=6653490000 L2=6653490000 L3=6653490000 M1=6653490000
2010.08.28 20:57:09 Servis (EURUSD,H1) A=665349 B=665349 C=665349
¡2010.08.28 20:57:09 Servis (EURUSD,H1) --- OnInit() --- 1 --- !


y mi M1 no coincidía.

PQ      0       Servis (EURUSD,H8)      22:06:24        --- OnInit() --- 1 --- !!!  Старт  подготовки начальных параметров  !!!
LE      0       Servis (EURUSD,H8)      22:06:24         A=100652  B=100652  C=100652
CP      0       Servis (EURUSD,H8)      22:06:24         L1=1006520000   L2=1006520000   L3=1006520000   M1=4294966006
 
sergey1294:

Dependiendo de para qué necesites el primer número, podrías intentar esto

Sí, es más fácil así, ni siquiera tienes que poner comillas extra al final.
return(StringToTime((string)str.year+"."+(string)str.mon+".01 00:00"));
 
SHOOTER777:

Una vez más, apelo a las mentes inquietas.

Se adjunta el código.

Si entiendo la programación, debería ser L1 = L2 = L3 = M1. ¿Y tú?

Al principio el compilador se quejó de la ausencia de "#import "lbS7N_Servis.ex5".

Después de borrar esta línea se dio:

2010.08.28 22:19:51 Servis[1] (EURUSD,H1) L1=1016990000 L2=1016990000 L3=6617010000 M1=1016990000
2010.08.28 22:19:51 Servis[1] (EURUSD,H1) A=101699 B=101699 C=661701
¡2010.08.28 22:19:51 Servis[1] (EURUSD,H1) --- OnInit() --- 1 --- !

Cuando sustituí el número de cuenta en el código por el mío, obtuve:

2010.08.28 22:26:46 Servis[1] (EURUSD,H1) L1=1016990000 L2=1016990000 L3=1016990000 M1=1016990000

2010.08.28 22:26:46 Servis[1] (EURUSD,H1) A=101699 B=101699 C=101699

¡2010.08.28 22:26:46 Servis[1] (EURUSD,H1) --- OnInit() --- 1 --- !

Servidor MQ, compilación 316.

 
sergey1294:

y mi M1 no coincidía

situación única... :(
 
¿Por qué SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_LIMIT), devuelve cero?
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
sergeev:
Una situación única... :(

Y hay hasta tres situaciones únicas. Estos son los detectados. ¿Y cuántos sin detectar?

¿Y con este estado de cosas, MetaQuotes comienza el Campeonato 2010 en un mes?

Oh, MetaTrader 5 está lleno de sorpresas...

 
Kos:
¿Por qué SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_LIMIT), devuelve cero?

Y además, la versión que devuelve una indicación de éxito (designada como 2. en la ayuda . Devuelve true o false dependiendo del éxito de la función. Si tiene éxito, el valor de la propiedad se coloca en la variable de destino, pasada por referencia por el último parámetro.) Informa del éxito de la llamada:

void OnStart()
{
  double SymbolVolumeLimit1 = SymbolInfoDouble(Symbol(), SYMBOL_VOLUME_LIMIT);
  double SymbolVolumeLimit2 = DBL_MAX;

  Print("Symbol() = ", Symbol(), ", bool SymbolInfoDouble() = ", SymbolInfoDouble(Symbol(), SYMBOL_VOLUME_LIMIT, SymbolVolumeLimit2));
  Print("SymbolVolumeLimit1 = ", SymbolVolumeLimit1, ", SymbolVolumeLimit2 = ", SymbolVolumeLimit2);
}

/* Вывод в лог (хронология - сверху вниз):
JN      0       1 (EURUSD,M15)  02:41:18        Symbol() = EURUSD, bool SymbolInfoDouble() = true
JJ      0       1 (EURUSD,M15)  02:41:18        SymbolVolumeLimit1 = 0, SymbolVolumeLimit2 = 0
*/

La segunda versión de SymbolInfoDouble() devuelve true, es decir, se ejecuta con éxito. También se puede ver en la variable SymbolVolumeLimit2 que fue inicialmente inicializada con DBL_MAX pero recibió 0 después de llamar a SymbolInfoDouble().

¿Y cómo, en opinión de MetaQuotes, en tales condiciones, los Asesores Expertos deberían basarse en los valores devueltos por tales funciones, en lugar de utilizar valores codificados?

 

Que ha utilizado la función OrderCheck.

Esto es una construcción:

           MqlTradeRequest request;
           request.action=TRADE_ACTION_DEAL;
           request.symbol=_Symbol;
           request.volume=volume_exe;
           request.price=SymbolInfoDouble(_Symbol, SYMBOL_ASK);
           request.sl=0;
           request.tp=0;
           request.deviation=SymbolInfoInteger(_Symbol, SYMBOL_SPREAD)*2;
           request.type=ORDER_TYPE_BUY;
           request.type_filling=ORDER_FILLING_CANCEL;
           MqlTradeResult result;
           OrderCheck(request, result);
           if(OrderSend(request, result)==false)

Al compilar, obtengo un error: 'resultado' - la conversión de parámetros no está permitida.

Si se elimina OrderCheck, todo se compila normalmente y la posición se abre en el probador.

 

Esto es lo que es...

Alert(" прибыль=",ПросчетПрибылизаПериод(D'2010.08.01 00:00:00'));


double ПросчетПрибылизаПериод(datetime датаначалапросчетаприбыли)
  {
   int i;
   double прибыльзапериод;
   ulong тикет;
   HistorySelect(датаначалапросчетаприбыли,TimeCurrent());
   //HistorySelect(D'2010.08.20 00:00:00',D'2010.08.20 23:59:00');
   for(i=1;i<=HistoryDealsTotal();i=i+1)
     {
      тикет=HistoryDealGetTicket(i);
      if(HistoryDealGetInteger(тикет,DEAL_TYPE)==DEAL_ENTRY_IN || HistoryDealGetInteger(тикет,DEAL_TYPE)==DEAL_ENTRY_STATE)
         continue;
      прибыльзапериод=прибыльзапериод+HistoryDealGetDouble(тикет,DEAL_PROFIT)+HistoryDealGetDouble(тикет,DEAL_COMMISSION)+HistoryDealGetDouble(тикет,DEAL_SWAP);
     }
   return(прибыльзапериод);
  }

Debe contar los beneficios de las operaciones a partir de la fecha especificada. Da un resultado completamente diferente al que realmente es. Por ejemplo, yo obtuve 611 en lugar de un resultado de unos 2000. He empezado a comprobar por día (línea comentada). Hay (!!) días en los que el resultado es el mismo, pero por lo general no es lo que debería ser...(no he podido encontrar ninguna regularidad). Y el depurador produce el mismo ciclo exacto para toda la cantidad de operaciones. Aunque sólo puedo rastrear este número de tratos porque no se muestran valores para ninguna otra variable excepto para las variables int (La expresión no pudo ser evaluada).

¿Es este código correcto, y estoy utilizando el depurador correctamente...?

 
SHOOTER777:

Gracias. Me pondré en contacto con los desarrolladores entonces.

Hola! Describe tu situación con detalle en el servicio de atención al cliente, donde especificas el número de compilación, el sistema operativo, la tasa de bits y adjuntas el código.
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала - Документация по MQL5
Razón de la queja: