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

 
faton :

안녕하세요. 말해봐, 내가 간단한 인디케이터를 썼는데.. 그리고 새로운 바가 생겼을 때 인디케이터 라인의 이런 행동이 뜬다. 무엇이 문제가 될 수 있습니까?

 CopyRates (FirstAktiv, PERIOD_CURRENT , 0 ,rates_total,mrate1);
CopyRates (SecondAktiv, PERIOD_CURRENT , 0 ,rates_total,mrate2);
CopyRates가 반환하는 내용을 확인하십시오. 복사된 요소의 수가 요청된 수와 반드시 같지는 않습니다 . 따라서 범위를 벗어난 배열이 발생할 수 있으며 버퍼의 이 위치에 있는 데이터는 0이 되는 현상이 발생합니다.
 

새 버전의 터미널 업데이트 중에 Program Files\Meta Trader 5\ MQL5 폴더가 C:\Users\user\AppData\Roaming\MetaQuotes\Terminal\00C5B588590D4A2C89EFC1E0C5301ECA 폴더(\MQL5 다른 OS에서는 동일한 + 다른 폴더도 있는 것처럼 보이지만 Win7에 대해 이야기하고 있습니다. 그렇지 않으면 며칠 전에 수행한 몇 시간의 작업과 성공적으로 테스트한 결과가 어디로 갔는지 설명할 수 없습니다.

문제는 .mqh 파일을 통해 클래스를 형식화한 다음 연결하는 습관이 있다는 것입니다. 나도 모르게 내 mqh와 mq5를 Program Files\Meta Trader 5\MQL5에 던졌습니다. 네비게이터에 표시되지 않는 것을 보고 작업 폴더(C:\Users\user\AppData\Roaming\MetaQuotes\Terminal\ 00C5B588590D4A2C89EFC1E0C5301ECA\MQL5) . 터미널이 업데이트될 때까지는 모든 것이 괜찮았습니다. 추가 테스트를 위해 Expert Advisor를 시작한 다음 다른 것을 수정하고 싶었고 Program Files\Meta Trader 5\MQL5에 있는 것의 복사본인 이전 코드를 보았습니다. mq5가 변경되지 않았고 터미널이 mqh에서 변경 사항이 발생했다고 추측하지 않았기 때문에 올바른 버전이 최적화되었습니다. 재컴파일 결과 이전 버전으로 되돌아갔습니다.

결과적으로 그는 매우 화를 내고 이미 한 일에 다시 한 두 시간을 보내야합니다.

이 상황에서 나는 탈출구가 보입니다.

1) 폴더 전체를 복사하지 않고 표준 배송에 포함된 파일 목록에 따라서만 복사합니다.

2) 어떻게든 덮어쓰기가 있을 것이라고 사용자에게 경고합니다(그러나 표준 라이브러리 의 많은 파일을 변경할 때는 귀찮은 일이 될 것입니다).

3) 어떻게든 Program Files의 mql5 폴더가 변경되었는지 확인하고(예: crc 계산) 데이터를 저장할 수 있도록 새 버전을 설치하기 전에 경고를 발행합니다.

4) Terminal\00C5B588590D4A2C89EFC1E0C5301ECA\(예: MQL5.384 버전 추가)에 있는 이전 MQL5의 사본을 만드십시오. - 가장 쉬운 방법입니다.

문제는 드물지만 젠장, zapadlistaya.

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
notused :

새 버전의 터미널 업데이트 중에 폴더의 전체 복사본이 있는 것 같습니다.................................. ...........................

...........................................................................

...........................................

결과적으로 그는 매우 화를 내고 이미 한 일에 다시 한 두 시간을 보내야합니다.

이 상황에서 나는 탈출구가 보입니다 - ...........

...........................

문제는 드물지만 젠장, zapadlistaya.

개발자를 위한 건설: 새 버전을 설치할 때 이전 빌드의 전체 MQL5 폴더를 자동으로 백업 하십시오. 평생 - 다음 빌드까지 , 그 후 교체. 이것은 빌드를 설치할 때 클라이언트 파일을 신중하게 처리하는 것을 무효화하지 않습니다. 이는 표준 라이브러리의 클라이언트 버전을 저장하기 위한 불가항력(설명된 것과 유사) +의 경우입니다.
Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 

회복 계수 - 이 지표는 전략의 위험도, 고문이 이익을 얻기 위해 위험을 감수하는 정도를 표시합니다. 최대 손실액에 대한 수령한 이익의 비율로 계산됩니다. (어느 쪽인지는 말하지 않음)

STAT_RECOVERY_FACTOR

회복 계수 - 비율 STAT_PROFIT/STAT_BALANCE_DD

더블



 Print ( "Factor=" , TesterStatistics ( STAT_RECOVERY_FACTOR ));                                     // Выводим Фактор Восстановления
Print ( "Profit/BalanceDD=" , TesterStatistics ( STAT_PROFIT )/ TesterStatistics ( STAT_BALANCE_DD )); // Отношение профита к просадке по балансу
Print ( "Profit/EquityDD=" , TesterStatistics ( STAT_PROFIT )/ TesterStatistics ( STAT_EQUITY_DD ));   // Отношение профита к просадке по средствам 

회수율은 균형이 아닌 수단에 의한 손실 대비 이익의 비율로 간주된다는 것이 실험적으로 입증되었습니다.

도움말에 오류가 있습니까?

 
ilunga :
네, 맞습니다. 그들은 당신에게 마지막 50,000을 보여주었습니다. 하루 1440바

감사해요..

질문은 .. 그리고 이건 질문이 아니라 안타까운 한숨..

시험 에 6월만 선택하면(30일 X 1440 < 50,000), 마음속에 차트에서 무엇을 봐야 할까요? 8월 ???

그건 그렇고, 테스터의 시간 선택기는 불쾌한 속성을 가지고 있습니다. 그들은 몇 초 안에 스스로를 닫습니다..

치명적이지는 않음 - 핸들이 있는 날짜를 더 빠르게 선택할 수 있지만 ..

 
//+------------------------------------------------------------------+
//|                                                  Sample_Tick.mq5 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link       "http://www.mql5.com"
#property version   "1.00"

int Tick_All;

MqlTick            last_tick;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
   Tick_All= 0 ;

//---
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
   if (! SymbolInfoTick ( _Symbol ,last_tick))
     {
       Print ( "Failed to get Symbol info!" );
     }

   Tick_All++;
   Print (Tick_All, "   " ,last_tick.bid, "   " ,last_tick.ask, "  " ,last_tick.last, " " ,last_tick.volume);
  }
//+------------------------------------------------------------------+

가격이 안바뀌는데 왜 OnTick이 호출되는지 이해가 안됨????

2012.09.10 11:52:11 Sample_Tick (EURUSD,M5) 493 1.2787 1.2789 1.2788 300000
2012.09.10 11:52:10 Sample_Tick (EURUSD,M5) 492 1.2787 1.2789 1.2788 300000
2012.09.10 11:52:09 Sample_Tick (EURUSD,M5) 491 1.2787 1.2789 1.2788 300000
2012.09.10 11:52:07 Sample_Tick (EURUSD,M5) 490 1.2787 1.2789 1.2788 300000

 
EQU :

감사해요..

질문은 .. 네, 그리고 질문이 아니라 안타까운 한숨이..

시험 에 6월만 선택하면(30일 X 1440 < 50,000), 마음속에 차트에서 무엇을 봐야 할까요? 8월 ???

서비스 데스크에 씁니다. 나는 또한 차트 의 막대 수가 테스터에 설정된 종료 날짜가 아니라 실제에서 _항상_ 계산되는 이유를 이해하지 못합니다.
 
sion :
볼륨 - 변경될 수 있으며 다른 것이 있음)

그래서 볼륨이 변하지 않는 것을 볼 수 있습니다!!!

 
dentraf :

그래서 볼륨이 변하지 않는 것을 볼 수 있습니다!!!

코드를 살펴보았습니다.
 

나는 그것이 어떻게 작동하는지 또는 작동하지 않는지 이해하지 못합니다)


Print("<><><><><",request_action.magic);//Print((ulong)MathMod(request_action.magic-MathMod(request_action.magic,100000000),100000000000)/100000000);
  if(magic_num!=(ulong)MathMod(request_action.magic-MathMod(request_action.magic,100000000),100000000000)/100000000){Print("<<<<<<<<<<<<<<<<<<<<<",(ulong)MathMod(request_action.magic-MathMod(request_action.magic,100000000),100000000000)/100000000," magic_num=",magic_num);return;}

KG 0 prp4 (EURJPY,M15) 02:23:25 <><><><><73200011000
RR 0 prp4 (EURJPY,M15) 02:23:25 <<<<<<<<<<<<<<<<<<<<<732 magic_num=732   <-поидее числа равны и условие не должно срабатывать

주석 없는 인쇄

Print("<><><><><",request_action.magic); Print((ulong)MathMod(request_action.magic-MathMod(request_action.magic,100000000),100000000000)/100000000);
  if(magic_num!=(ulong)MathMod(request_action.magic-MathMod(request_action.magic,100000000),100000000000)/100000000){Print("<<<<<<<<<<<<<<<<<<<<<",(ulong)MathMod(request_action.magic-MathMod(request_action.magic,100000000),100000000000)/100000000," magic_num=",magic_num);return;}

MH 0 prp4 (EURJPY,M15) 02:28:11 <><><><><73200011000
PE 0 prp4 (EURJPY,M15) 02:28:11 92233720368 <- 이 숫자는 어디에서 왔는지, 분명히 첫 번째 카운트에서 "(ulong)MathMod(request_action.magic-MathMod(request_action.magic,1000000000)000000000), /100000000 "이 중 뭔가 이상하다고 여겨진다

<-조건이 충족되지 않아 인쇄되지 않았으므로 숫자가 동일합니다.

새벽 1시까지는 아무 문제가 없었습니다.

추신 : 나는 랩톱에서 그것을 시도했지만 여전히 687 빌드, 동일한 파이가 있습니다.