초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 1446

 
Alexey Viktorov #:

1. 베이스 핸들이 수신되지 않으면 베이스를 닫을 필요가 없습니다.

2. INVALID_HANDLE이 수신되면 프로그램 실행을 계속하는 이유는 무엇입니까? 이 경우 인터럽트하고 반환하는 것이 더 낫다고 생각합니다.

이제 존재하지 않는 데이터베이스를 반복적으로 열고 닫으려고하는데 오류 출력을 얻을 수 없습니다. 이 출력은 열 수없는베이스에 대한 쿼리를 만드는 순간에 나온다고 생각합니다.

데이터베이스의 레코드를 매초마다 업데이트하는 최소한의 테스트 전문가 조언자를 만들 것입니다. 10 쌍에서 실행하면 모든 것이 명확해질 것입니다. 여기에 게시하겠습니다...
 
Evgeny Dyuka #:
매초마다 데이터베이스의 기록을 업데이트하는 최소한의 테스트 전문가 조언자를 만들 것입니다. 10쌍에서 실행하면 모든 것이 명확해질 것입니다. 여기에 게시하겠습니다.

흥미롭군요. 기다릴게요...

 
Alexey Viktorov #:

흥미롭군 기다릴게요...

여기 전문가가 있습니다. 베이스(아직 존재하지 않는 경우)를 생성하고 1초에 한 번씩 현재 시간을 기록합니다.
코드에 Print()가 없습니다.
10쌍에서 실행했는데 오류가 발생했습니다:

CS      2       11:44:36.561    Test_DB (EURUSD,M10)    database error, database is locked
CS      2       11:55:27.018    Test_DB (BTCUSD,M10)    database error, database is locked
CS      2       11:55:28.026    Test_DB (BTCUSD,M10)    database error, database is locked
CS      2       11:55:49.177    Test_DB (TRXUSD,M10)    database error, database is locked
CS      2       11:55:51.183    Test_DB (EURUSD,M10)    database error, database is locked
CS      2       11:55:53.182    Test_DB (TRXUSD,M10)    database error, database is locked

오류가 발생하면 MT5를 닫았다가 다시 시작해야 모든 EA가 동기식으로 작동하기 시작합니다.


1. 이 오류를 제거하는 방법을 이해하려면
2. 베이스를 사용할 수없는 경우 대기열에 대기하는 템플릿 메커니즘을 발명하기 위해.

임의의 시간에 Sleep()을 추가하여 포인트 2를 해결했지만 버팀목처럼 보입니다.

업데이트 : 파일을 다시 업로드했는데 첫 번째 파일에 오류가 발생했습니다.

파일:
Test_DB_1.mq5  3 kb
 
Evgeny Dyuka #:

여기 전문가가 있습니다. 베이스(아직 존재하지 않는 경우)를 생성하고 1초에 한 번씩 현재 시간을 기록합니다.
코드에 Print()가 없습니다.
10쌍에서 실행했는데 오류가 발생했습니다:

오류가 발생하면 MT5를 닫았다가 다시 시작하면 모든 전문가가 동기식으로 작동하기 시작합니다.


1. 이 오류를 제거하는 방법을 이해하려면
2. 기본을 사용할 수없는 경우 대기열에 대기하는 템플릿 메커니즘을 발명합니다.

임의의 시간에 Sleep()을 추가하여 포인트 2를 해결했지만 버팀목처럼 보입니다.

업데이트 : 파일을 다시 업로드했는데 첫 번째 파일에 오류가 발생했습니다.

아아, 내 지식이 충분하지 않습니다. 오류가 인쇄되고 있다는 것을 인식하기에 충분합니다.

      DatabaseExecute(db, sql);

쿼리를 만들기 전에 가용성을 확인할 수 없습니다.

데이터베이스가 열리지만 쿼리를 만들 수 없습니다.

 
서버에서 주문이 열리지 않고, 스톱 및 테이크가 없으며, 알고리즘 모드가 활성화되고 설정 명령이 전달되지만 로그는 무음입니다 CTrade 클래스. 테스터에서 실제 거래 침묵에서 작동합니다. 무엇을 확인해야 하나요?
 
mwwm CTrade 클래스. 테스터에서 실제 거래 침묵에서 작동합니다. 무엇을 확인해야 하나요?

터미널 로그

 
Vladimir Deryagin #:

터미널 로그

로그를 켰는데 로트를 계산할 수 없습니다. 왜 실제 계산을 원하지 않는지 이해가 되지 않나요?

void OpenBuy(const int index,double sl,double tp)
  {
   sl=m_symbol.NormalizePrice(sl);
   tp=m_symbol.NormalizePrice(tp);
   double long_lot=0.0;
   if(InpLotOrRisk==risk)
     {
      long_lot=m_money.CheckOpenLong(m_symbol.Ask(),sl);
      if(InpPrintLog)
         Print(__FILE__," ",__FUNCTION__,", OK: ","sl=",DoubleToString(sl,m_symbol.Digits()),
               ", CheckOpenLong: ",DoubleToString(long_lot,2),
               ", Balance: ",    DoubleToString(m_account.Balance(),2),
               ", Equity: ",     DoubleToString(m_account.Equity(),2),
               ", FreeMargin: ", DoubleToString(m_account.FreeMargin(),2));
      if(long_lot==0.0)
        {
         ArrayRemove(SPosition,index,1);
         if(InpPrintLog)
            Print(__FILE__," ",__FUNCTION__,", ERROR: ","CMoneyFixedMargin.CheckOpenLong returned the value of 0.0");
         return;
        }
     }
 
mwwm #:

로그를 켰는데 로트를 계산할 수 없는 것 같아요. 왜 실제 계산을 원하지 않는지 이해할 수 없습니다.

로그가 없으므로 여러 번 더 추측 할 수 있습니다.

옵션으로, 교차 거래시 시장 개요에서 입금 통화와 쌍을 선택하지 않으면 거래되지 않습니다.

예를 들어, EURJPY를 거래하는 경우 입금 통화 USD는 시장 개요에 EURUSD와 USDJPY가 표시되어 있어야 합니다.

 
Aleksandr Slavskii #:

로그가 없으므로 몇 배나 더 많은 추측이 가능할 수 있습니다.

옵션으로, 교차 거래 시 시장 개요에서 입금 통화가 있는 쌍이 선택되지 않으면 거래되지 않습니다.

예를 들어, 입금 통화 USD인 EURJPY를 거래할 경우 시장 개요에 EURUSD와 USDJPY가 있어야 합니다.

USD 프로센트 계좌, XAUUSD 거래

 

안녕하세요. MQL5에서 버퍼를 사용하여 첫 번째 막대에 화살표 하나를 그릴 수 없습니다.

MQL4에서는 다음을 수행합니다:

전역 변수 double XX[]를 선언합니다;

init:

SetIndexBuffer(0,XX);

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0,108);

Oncalculate에서 다음과 같이 작성합니다:

XX[1]=High[1]; 캔들스틱 1 위에 화살표가 그려집니다.

MQL5에서도 똑같이 합니다:

전역 변수 double XX[]를 선언합니다;

init:

SetIndexBuffer(0,XX,INDICATOR_DATA);

PlotIndexSetInteger(0,PLOT_ARROW,108);

Oncalculate에서 다음과 같이 작성합니다:

XX[1]=high[1]; - 그리지 않습니다.

XX[1]=iHigh(Symbol(),PERIOD_CURRENT,1); - 역시 그리지 않습니다.

물론 헤더에도 지정되어 있습니다:

#프로퍼티 인디케이터_버퍼 1

#속성 표시기_플롯 1

#속성 표시기_유형1 DRAW_ARROW

#속성 표시기_색상1 clrGreen

#속성 표시기_폭1 1

제가 뭘 잘못하고 있나요, 알려주세요 !!!!

사유: