오류, 버그, 질문 - 페이지 855

 
gdtt :

디자인은 다음과 같습니다.

금지해야 한다고 생각하기 때문에 데이터 유형 이 같더라도 다른 개체의 개인 멤버에 직접 액세스할 수 있습니다.

금지되어야 한다고 생각하십니까? 사용하지 마세요.

private: 요소 액세스 지정자 뒤에 선언된 클래스의 모든 멤버 (및 다음 액세스 지정자 앞에) 는 해당 클래스의 멤버 함수에서만 사용할 수 있습니다.

문서는 액세스에 대해 명확하게 말하고 객체(클래스만)에 대해서는 아무 말도 하지 않습니다.

그건 그렇고, 복사 생성자는 바로 그러한 효과를 기반으로 합니다.

 
stringo :

금지되어야 한다고 생각하십니까? 사용하지 마세요.

문서는 액세스에 대해 명확하게 말하고 객체(클래스만)에 대해서는 아무 말도 하지 않습니다.

그건 그렇고, 복사 생성자는 바로 그러한 효과를 기반으로 합니다.

알겠습니다. 감사합니다.
 
Alex5757000 : 보류 중인 주문 에 대해 이전에 호출된 OrderCalcMargin() 함수가 0.0을 반환한 것으로 나타났습니까?

예, 상황 설명으로 판단하면 OrderCalcMargin() 함수는 보류 중인 주문에 대해 "0.0"을 반환합니다. 이는 보류 중인 주문을 하는 데 마진이 필요하지 않음을 의미합니다.

보류 주문이 실행될 때 필요한 마진을 추정해야 하는 경우 시장 주문 중 하나를 첫 번째 매개변수로 대체하십시오.

 

따라서 함수가 라이브러리에 발생한 후 "EX5 로드 실패" 오류가 발생했습니다.

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

무슨 실수야?

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

문제가 기능 자체에 있는지 확인하기로 결정했습니다. 모든 라이브러리 함수의 본문이 "return(1);"으로만 구성되어 있어도 여전히 오류

도움말 예제에서와 같이 가져오기

 #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 :

따라서 함수가 라이브러리에 발생한 후 "EX5 로드 실패" 오류가 발생했습니다.

라이브러리에서 내보내기 가능으로 선언된 함수가 있습니까?
 
alexvd :
라이브러리에서 내보내기 가능으로 선언된 함수가 있습니까?
발표했지만 이미 문제를 해결했습니다. 컴퓨터를 재부팅했습니다. xD 분명히 한 달 동안의 지속적인 작업이 느껴졌습니다 ... 그리고 문제는 이미 여러 곳에서 나타나기 시작했습니다.
 
여기 내 요청 구조가 있습니다. 원칙적으로 누락 된 다른 것은 무엇입니까?
  
 
 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) 오류 4756 ERR_TRADE_SEND_FAILED
4756
거래 요청을 보내지 못했습니다.

물론 죄송합니다. 예를 들어 주문이 아닌 즉시 포지션을 열면 결국 가격을 표시 할 수없는 것과 같이 최소한의 정보로 얻을 수없는 이유는 무엇입니까? 정지 이익이 없다면 음, 아니요, 아니요? 나중에 로봇과 함께 넣고 싶습니다. 거래 요청에 대해 어떤 필드가 그렇게 중요하게 누락 되었습니까? 아니면 무슨 상관이야?

그리고 이것은 또한 생략할 수 있습니까? type_filling. 주문이 전체 볼륨으로 실행되지 않을 수 있다는 것과 같은 설명이 있습니다. 어떻게 그렇습니까? 평소에 운전을 잘 못해서.. 알았어

그리고 중요한 request.symbol=_Symbol; 로보트가 일반적으로 자명할 차트상의 위치 전달이라고 생각했는데..

 
LR Correlation을 최적화 결과 매개변수(Custom max)로 설정하는 방법을 알려주십시오.
 
Vacuum :
LR Correlation을 최적화 결과 매개변수(Custom max)로 설정하는 방법을 알려주십시오.

먼저 LR Correlation을 계산해야 합니다. 이것은 이 라이브러리에서 수행됩니다. https://www.mql5.com/ru/code/1081

그런 다음 https://www.mql5.com/ru/articles/286 과 같이 OnTester 를 통해 이 값을 반환합니다.

CTradeStatistics
CTradeStatistics
  • 투표: 8
  • 2012.09.13
  • Andrey Voytenko
  • www.mql5.com
Класс для расчета показателей из перечисления ENUM_STATISTICS
 
Dimka-novitsek :
여기 내 요청 구조가 있습니다. 원칙적으로 누락 된 다른 것은 무엇입니까?

2012.10.10 19:22:29 입금 (EURUSD,M1) 오류 4756 ERR_TRADE_SEND_FAILED
4756
거래 요청을 보내지 못했습니다.

물론 죄송합니다. 예를 들어 주문이 아닌 즉시 포지션을 열면 결국 가격을 표시 할 수없는 것과 같이 최소한의 정보로 얻을 수없는 이유는 무엇입니까? 정지 이익이 없다면 음, 아니요, 아니요? 나중에 로봇과 함께 넣고 싶습니다. 거래 요청에 대해 어떤 필드가 그렇게 중요하게 누락 되었습니까? 아니면 무슨 상관이야?

그리고 이것은 또한 생략할 수 있습니까? type_filling. 주문이 전체 볼륨으로 실행되지 않을 수 있다는 것과 같은 설명이 있습니다. 어떻게 그렇습니까? 평소에 운전을 잘 못해서.. 알았어

그리고 중요한 request.symbol=_Symbol; 로봇이 일반적으로 자명한 차트상의 위치를 전달한다고 생각했습니다.

표준 라이브러리를 사용하는 것이 좋습니다.

 #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);
     }

  }