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

 
pavlick_ :

컴파일 실패, 오류:
'a' - 너무 복잡하여 매크로를 단순화합니다. temp.mq5 24 10
'' - 구조체 멤버 정의되지 않음 temp.mq5 24 10
...

저것들. 전처리기가 a.M을 재귀적으로 확장하려고 하는 것 같습니다.

조명 주제로 돌아가기

 #define a        s.a

.a가 강조 표시되지 않으면 컴파일러는 이를 매크로로 간주하지 않습니다. 동시에 오류 입니다. 다음 예제와 같이 쌍으로 동기적으로 작동해야 한다는 사실에도 불구하고 자체적으로 강조 표시되고 ... 자체적으로 실제 컴파일이 나타납니다.

 #define b        b .x

void OnStart ()
{
         int b = 1 ;
#define b     b + 2
         Print ( b ); //Error: 'b' - too complex, simplify the macro
}
그 자체로 그러한 작업은 올바르지 않습니다(C ++에서 오류 없이 컴파일되고 결과는 3이기 때문). 그러나 최소한 동기적입니다(강조 표시와 컴파일러 모두 동일한 논리로 안내됨).
 
fxsaber :

실제 데이터에서도 작동하지 않습니다.

테스트 EA를 만들었습니다.

 #property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict
input int BreakTick = 5 ;
int OnInit ()
  {
   count = 0 ;
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
  }
//+------------------------------------------------------------------+
static int count = 0 ;
void OnTick ()
  {
   if (count++> 5 ) DebugBreak ();
   Print ( "count = " ,count, " , Ask = " , Ask );
   
  }
//+------------------------------------------------------------------+

DebugBreak()에서 중지는 MetaEditor에서 "실제 데이터에서 프로파일링 시작" 버튼을 누르면 작동하지 않지만 "실제 데이터에서 디버깅 시작/계속 F5"를 누르면 중지가 작동합니다.

테스터에서 아무 것도 작동하지 않습니다. 프로그램 실행을 중지하고 디버거로 종료하는 것은 불가능합니다.

2018.12.05 14:46:19.413 tst EURUSD,H1: 개수 = 6 , 묻기 = 1.13397

2018.12.05 14:46:18.740 tst EURUSD,H1: 개수 = 5, 묻기 = 1.13396

2018.12.05 14:46:09.004 tst EURUSD,H1: 개수 = 4, 묻기 = 1.13396

2018.12.05 14:46:03.079 tst EURUSD,H1: 개수 = 3, 묻기 = 1.13395

2018.12.05 14:46:02.830 tst EURUSD,H1: 개수 = 2, 묻기 = 1.13395

2018.12.05 14:46:02.595 tst EURUSD,H1: 개수 = 1, 묻기 = 1.13394

2018.12.05 14:45:53.889 tst EURUSD,H1: 초기화됨

2018.12.05 14:45:53.869 tst EURUSD, H1 입력: BreakTick=5;

2018.12.05 14:45:52.131 전문가 tst EURUSD,H1: 성공적으로 로드됨

2018.12.05 14:45:45.899 전문가 tst EURUSD,H1: 제거됨

2018.12.05 14:45:45.814 tst EURUSD,H1: 단위 이유 1

2018.12.05 14:45:44.510 tst EURUSD,H1: 개수 = 14, 묻기 = 1.13393

2018.12.05 14:45:44.177 tst EURUSD,H1: 개수 = 13, 묻기 = 1.13392

2018.12.05 14:45:42.966 tst EURUSD,H1: 개수 = 12, 묻기 = 1.13393

2018.12.05 14:45:42.152 tst EURUSD,H1: 개수 = 11, 묻기 = 1.13393

2018.12.05 14:45:41.996 tst EURUSD,H1: 개수 = 10, 묻기 = 1.13392

2018.12.05 14:45:39.544 tst EURUSD,H1: 개수 = 9 , 묻기 = 1.13393

2018.12.05 14:45:39.345 tst EURUSD,H1: 개수 = 8, 묻기 = 1.13392

2018.12.05 14:45:35.605 tst EURUSD,H1: 개수 = 7 , 묻기 = 1.13394

2018.12.05 14:45:32.049 tst EURUSD,H1: 개수 = 6, 묻기 = 1.13394

2018.12.05 14:45:29.085 tst EURUSD,H1: 개수 = 5 , 묻기 = 1.13393

2018.12.05 14:45:27.735 tst EURUSD,H1: 개수 = 4 , 묻기 = 1.13393

2018.12.05 14:45:27.580 tst EURUSD,H1: 개수 = 3 , 묻기 = 1.13393

2018.12.05 14:45:26.212 tst EURUSD,H1: 개수 = 2, 묻기 = 1.13393

2018.12.05 14:45:25.853 tst EURUSD,H1: 개수 = 1, 묻기 = 1.13392

2018.12.05 14:45:25.684 tst EURUSD,H1: 초기화됨

2018.12.05 14:45:25.664 tst EURUSD, H1 입력: BreakTick=5;

2018.12.05 14:45:24.163 전문가 tst EURUSD,H1: 성공적으로 로드됨

먼저 "실제 데이터에 대한 프로파일링 시작"을 통해 메타에디터에서 시작했습니다. 수동으로 전문가를 삭제한 다음에만 편집기에 들어간 다음 F5 키를 눌러 시작했습니다. 모든 것이 여기에서 작동했지만 Print("count = " ,카운트," , Ask = ",Ask); 중단점 이후
 
Igor Makanu :

테스트 EA를 만들었습니다.

DebugBreak()에서 중지는 MetaEditor에서 "실제 데이터에서 프로파일링 시작" 버튼을 누르면 작동하지 않지만 "실제 데이터에서 디버깅 시작/계속 F5"를 누르면 중지가 작동합니다.

테스터에서 아무 것도 작동하지 않습니다. 프로그램 실행을 중지하고 디버거로 종료하는 것은 불가능합니다.

먼저 "실제 데이터에 대한 프로파일링 시작"을 통해 메타에디터에서 시작했습니다. 수동으로 전문가를 삭제한 다음에만 편집기에 들어간 다음 F5 키를 눌러 시작했습니다. 모든 것이 여기에서 작동했습니다.

감사합니다. 정말 효과가 있습니다. 뭔가 무섭게 종종 잘못된 진술을 발표하기 시작했습니다 ...

 
fxsaber :

감사합니다. 정말 효과가 있습니다. 뭔가 무섭게 종종 잘못된 진술을 발표하기 시작했습니다 ...

내 할아버지는 항상 말했습니다. 아무것도하지 않는 사람 만이 실수하지 않습니다!

;)

내 예제는 다음과 같이 작동해야 하거나 5틱 후에 중지될 것이라고 생각했습니다.

 void OnTick ()
  {
   if (++count> 5 ) DebugBreak ();
   Print ("count = ",count," , Ask = ", Ask );
  }

통나무:

2018.12.05 15:27:06.815 tst EURUSD,H1: 개수 = 5, 묻기 = 1.13563

2018.12.05 15:27:06.488 tst EURUSD,H1: 개수 = 4, 묻기 = 1.13563

2018.12.05 15:27:05.469 tst EURUSD,H1: 개수 = 3 , 묻기 = 1.13563

2018.12.05 15:27:04.795 tst EURUSD,H1: 개수 = 2, 묻기 = 1.13563

2018.12.05 15:27:04.288 tst EURUSD,H1: 개수 = 1, 묻기 = 1.13563

2018.12.05 15:27:03.057 tst EURUSD,H1: 초기화됨

2018.12.05 15:27:03.024 tst EURUSD,H1 입력: BreakTick=5;

2018.12.05 15:27:01.376 전문가 tst EURUSD,H1: 성공적으로 로드됨

 

가상 거래 환경 싱크로나이저가 실제와 올바르게 작동하는지 테스트해야 합니다.

이렇게 하려면 Visualizer에서 테스트 Expert Advisor를 시작하고 손으로 간섭을 시작해야 합니다(위치 설정, 지연 제거 등).


MT5는 몇 가지 제한 사항(버튼만 눌려지고 지표는 거래할 수 없음)으로 인해 즉시 이에 적합하지 않다는 것이 분명합니다.

시각화 창에 걸 수 있고 수동으로 거래 주문 을 보내어 "더티"할 수 있는 MT4용 지표(지표로 쉽게 변환할 수 있는 고문 또는 고문이 아님)를 알려주십시오. 시험 장치.


ZY 이런 EX4 지표를 가지고 계신 분이 계시다면 - 개인적으로 도와주세요. 시장에는 비슷한 것들이 많이 있지만 이들은 모두 Expert Advisors입니다.

ZYY 이렇게 검색해보니 인디케이터가 없었는데 성경을 찾았습니다. 내가 알아서 할게. 고마워.

 
fxsaber :

가상 거래 환경 싱크로나이저가 실제와 올바르게 작동하는지 테스트해야 합니다.

이렇게 하려면 Visualizer에서 테스트 Expert Advisor를 시작하고 손으로 간섭을 시작해야 합니다(위치 설정, 지연 삭제 등).


MT5는 몇 가지 제한 사항(버튼만 눌려지고 지표는 거래할 수 없음)으로 인해 즉시 이에 적합하지 않다는 것이 분명합니다.

시각화 창에 걸 수 있고 수동으로 거래 주문 을 보내어 "더티"할 수 있는 MT4용 지표(지표로 쉽게 변환할 수 있는 고문 또는 고문이 아님)를 알려주십시오. 시험 장치.


ZY 이런 EX4 지표를 가지고 계신 분이 계시다면 - 개인적으로 도와주세요. 시장에는 비슷한 것들이 많이 있지만 이들은 모두 Expert Advisors입니다.

ZYY 이렇게 검색해보니 인디케이터가 없었는데 성경을 찾았습니다. 내가 알아서 할게. 고마워.

지표에서 거래 기능을 사용하는 것은 금지되어 있습니다. 저것들. 그들은 거래할 수 없습니다.

 
Andrey Barinov :

지표에서 거래 기능을 사용하는 것은 금지되어 있습니다. 저것들. 그들은 거래할 수 없습니다.

MT4에서도?

 
fxsaber :

MT4에서도?

불행히도 모든 지표에서거래 기능 을 호출하는 것은 금지되어 있습니다.
내 라이브러리를 사용해 보았습니까? 무엇을 찾았습니까?

 
Vladislav Andruschenko :
불행히도 모든 지표에서 거래 기능 을 호출하는 것은 금지되어 있습니다.
내 라이브러리를 사용해 보았습니까? 무엇을 찾았습니까?

아직 공부하지 않았습니다. 라이브러리가있는 변형이 적합해야합니다. 고문에서 내가 해를 끼칠 수 있도록 수동 거래 패널이 있도록 라이브러리를 처방합니다.


MT4 시각화 도우미에서 테스트 EA와 병렬로 무한 거래 스크립트를 첨부(실행)할 수 있나요?

 
fxsaber :

아직 공부하지 않았습니다. 라이브러리가있는 변형이 적합해야합니다. 고문에서 내가 해를 끼칠 수 있도록 수동 거래 패널이 있도록 라이브러리를 처방합니다.

확인. 가끔 성경을 최신 버전으로 업데이트합니다.