Errores, fallos, preguntas - página 855

 
gdtt:

Esta construcción:

Creo que debería estar prohibido, ya que es una referencia directa a un miembro privado de otro objeto, aunque del mismo tipo de datos.

¿Cree que debería prohibirse? No lo uses.

Cualquier miembro de la clase declarado después del especificador de acceso al elemento private: (y antes del siguiente especificador de acceso) está disponible sólo para las funciones miembro de esta clase.

La documentación dice explícitamente sobre el acceso y nada sobre los objetos (sólo sobre las clases).

Por cierto, los constructores de copias se basan exactamente en este efecto.

 
stringo:

¿Cree que debería estar prohibido? No lo uses.

La documentación dice explícitamente sobre el acceso y nada sobre los objetos (sólo sobre las clases).

Por cierto, los constructores de copias se basan exactamente en este efecto.

Bien, ya lo tengo, gracias.
 
Alex5757000 Resulta que la función OrderCalcMargin() llamada anteriormente para una orden pendiente ha devuelto 0,0?

Pues sí, a juzgar por la descripción de la situación, la funciónOrderCalcMargin() para órdenes pendientes devuelve "0,0". Esto indica que no se requiere margen para las órdenes pendientes.

Si necesita estimar la cantidad de margen que se necesitará cuando se active la orden pendiente, entonces utilice una de las órdenes de mercado como primer parámetro.

 

Entonces, el error "EX5 loading failed". después de poner las funciones en la biblioteca.

#import "GetPriceBy.ex5"
double GetHighByTime(datetime Time);
double GetLowByTime(datetime Time);
#import

¿Qué pasa?

------------------------------

Decidí comprobar si el problema está en las propias funciones. Incluso si los cuerpos de todas las funciones de la biblioteca consisten únicamente en "return(1);" sigue habiendo un error

importar como en el ejemplo de la ayuda

#import "user32.dll"
int    MessageBoxW(uint hWnd,string lpText,string lpCaption,uint uType);
#import "stdlib.ex5"
string ErrorDescription(int error_code);
int    RGB(int red_value,int green_value,int blue_value);
bool   CompareDoubles(double number1,double number2);
string DoubleToStrMorePrecision(double number,int precision);
string IntegerToHexString(int integer_number);
#import "ExpertSample.dll"
int    GetIntValue(int);
double GetDoubleValue(double);
string GetStringValue(string);
double GetArrayItemValue(double &arr[],int,int);
bool   SetArrayItemValue(double &arr[],int,int,double);
double GetRatesItemValue(double &rates[][6],int,int,int);
#import
 
FiftyStars:

Entonces, el error "EX5 loading failed". después de poner las funciones en la biblioteca

¿Están las funciones declaradas como exportables en la biblioteca?
 
alexvd:
¿Están las funciones declaradas como exportables en la biblioteca?
declarado, pero ya he solucionado el problema - sólo he reiniciado el ordenador xD Supongo que un mes de trabajo ininterrumpido se ha hecho notar... y los problemas ya han empezado a aparecer en muchos sitios
 
Dígame, esta es la estructura de mi solicitud, ¿qué más le falta básicamente?
  
 
 MqlTick last_tick;SymbolInfoTick(Symbol(),last_tick);
 
   MqlTradeRequest request={0};
      MqlTradeResult result={0};
      
 
  {
    request.     action=TRADE_ACTION_DEAL;           // Тип выполняемого действия
    request.     price=last_tick.bid;
    request.                        volume=1;           // Запрашиваемый объем сделки в лотах     
    request.     type=ORDER_TYPE_SELL;     // Тип ордера
    request.     type_filling =ORDER_FILLING_RETURN;          
    
   }
   
  OrderSend(request,result); 
  
  
  int Error=GetLastError(); ResetLastError();
        printf("Error %i ",Error);
      
        

2012.10.10 19:22:29 (EURUSD,M1) Error 4756 ERR_TRADE_SEND_FAILED
4756
No se ha podido enviar la solicitud de comercio

¿Por qué no puedo prescindir de toda la información posible, por ejemplo, si abro una posición, no una orden, entonces no tengo que especificar el precio? Si no hay beneficios de parada, ¿por qué no? Tal vez, quiero ponerlos más tarde por un robot. ¿Qué campo tiene una carencia tan crítica en la solicitud de comercio? ¿O qué es?

¿Es posible también no especificarlo? tipo_llenado. Dice algo sobre que el pedido no puede ser llenado por la cantidad completa... ¿Cómo es eso? Realmente no lo entiendo. De acuerdo.

Ah, supongo que era crítico allí request.symbol=_Symbol; Pensé que la entrega de la posición exactamente en el gráfico donde el robot generalmente ir sin decir...

 
¿Pueden decirme cómo establecer la Correlación LR como parámetro de resultado de la optimización (Custom max)?
 
Vacuum:
¿Pueden decirme cómo establecer la Correlación LR como parámetro del resultado de la optimización (Custom max)?

En primer lugar, hay que calcular la correlación LR. Esto se hace en esta biblioteca https://www.mql5.com/ru/code/1081

Y luego devolver este valor a través de OnTester, como aquí https://www.mql5.com/ru/articles/286

CTradeStatistics
CTradeStatistics
  • votos: 8
  • 2012.09.13
  • Andrey Voytenko
  • www.mql5.com
Класс для расчета показателей из перечисления ENUM_STATISTICS
 
Dimka-novitsek:
Dígame, esta es la estructura de mi solicitud, ¿qué más le falta básicamente?

2012.10.10 19:22:29 (EURUSD,M1) Error 4756 ERR_TRADE_SEND_FAILED
4756
No se ha podido enviar la solicitud de comercio

¿Por qué no puedo prescindir de toda la información posible, por ejemplo, si abro una posición, no una orden, entonces no tengo que especificar el precio? Si no hay beneficios de parada, ¿por qué no? Tal vez, quiero ponerlos más tarde por un robot. ¿Qué campo tiene una carencia tan crítica en la solicitud de comercio? ¿O qué es?

¿Es posible también no especificarlo? tipo_llenado. Explica algo, como que la orden puede no ser ejecutada por todo su volumen... ¿Cómo es eso? Realmente no lo entiendo. Bien, .

Ah, supongo que era crítico allí request.symbol=_Symbol; Pensé que la entrega de la posición en el gráfico donde el robot sería en general...

Sugiero utilizar la biblioteca estándar:

#include <Trade\Trade.mqh>
CTrade            trade;
MqlTick           last_tick;
double Lot=0.01;
string main_comment="";
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//--- тип позиции
   bool Type;
//----------------------------------+
//--- если покупаем
   Type=true;                         
//--- если продаём     
   Type=false;
//----------------------------------+
   if(Type)
     {
      SymbolInfoTick(_Symbol,last_tick);
      double price=last_tick.ask;
      trade.PositionOpen(_Symbol,ORDER_TYPE_BUY,NormalizeDouble(Lot,2),price,0,0,main_comment);
     }
   else
     {
      SymbolInfoTick(_Symbol,last_tick);
      double price=last_tick.bid;
      trade.PositionOpen(_Symbol,ORDER_TYPE_SELL,NormalizeDouble(Lot,2),price,0,0,main_comment);
     }

  }