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

 
Sergey Izhutov #:

오늘 밤에도 그렇게 생각했습니다. 치워야겠다고요. 아직 인디케이터와 친해지지는 못했어요. 4에서 막연하게 Close > MA를 썼더니 작동했던 기억이 납니다. 핸들에 주석을 달아보고 결과를 확인해 보겠습니다.

메타에디터 디버거와 "친구 맺기"를 추천받은 적이 있습니다. 디버거에 어느 정도 익숙해지자 99.9%의 질문이 저절로 사라졌습니다. 관찰에 변수를 넣고 그 값을 확인한 다음 비교하고 코드의 어느 부분에 문제가 있는지 파악할 수 있습니다. 매우 편리한 도구입니다. 추천합니다.

안부, 블라디미르.

 
MrBrooklin #:


감사합니다, 살펴볼게요)

 
테스터를 잠시 최소화하면 작업 속도가 빨라집니다.
 
Ivan Ivanov #:
테스터를 잠시 최소화하면 작업 속도가 빨라집니다.

항상 그런 식이었죠.

 
도움말 , 테스터에서 시작된 경우 표시기에서 작동하지 않는 경우
void OnDeinit(const int Reason)

표시기에서 테스트가 완료되었음을 알 수 있는 다른 방법이 있나요?

 
EgorKim #:
테스터에서 표시기가 실행 중이면 작동하지 않습니다
.

표시기를 통해 테스트가 완료되었음을 알 수 있는 다른 방법이 있나요?

일반적으로는 없습니다. 표준이 아니라 시각적으로 확인하는 것이 더 쉽습니다. 테스터의 로그 파일은 더 이상 증가하지 않아야 하며 여전히 추적해야 할 작업입니다. 테스트 완료 날짜도 쉽게 알 수 없습니다.
 
Valeriy Yastremskiy #:
보통은 아닙니다. 표준이 아니며 시각적으로 확인하기가 더 쉽습니다. 테스터의 로그 파일은 증가를 멈춰야 하며 추적하기가 어렵습니다. 테스트 종료 날짜도 찾기가 쉽지 않습니다.

틱 도착?

 
Artyom Trishkin #:

수신 확인 중이신가요?

시간이 에뮬레이트됩니다)))) 그리고 제어하는 방법?, 테스터의 작업이 끝납니다! 나를 위해 5ka의 테스터는 그대로)))) 그리고 물론 지표에서 ondeinit을 호출하지 않고 슬픔 만 있습니다.

 

메타 에디터는 다음 코드에서 PrevClose 변수 할당 시 '=' - 잘못된 연산 사용뿐만 아니라 'ArrayMinimum' - 상수를 수정할 수 없음, 'ArrayMaximum' - 상수를 수정할 수 없음 오류를 생성합니다:

ulong copied = CopyTicksRange(Symbol(), ticks, COPY_TICKS_INFO, t0, t1); 
ArrayResize(ticks, copied, 100000);
double PrevClose = ticks[copied-1]; // Получаем последний элемент массива как значение PrevClose
double highestHigh = ArrayMaximum(ticks, 0, copied - 1); // Находим максимальное значение в массиве ticks
double lowestLow = ArrayMinimum(ticks, 0, copied - 1); // Находим минимальное значение в массиве ticks
 
maxvoronin74 ArrayMinimum' - 상수를 수정할 수 없음, 'ArrayMaximum' - 상수를 수정할 수 없음 오류를 생성합니다:

"틱 배열에서 최대값 찾기"- 우리가 찾는 최대값은 무엇인가요?

틱스[복사-1].bid 또는 틱스[복사-1].flags

농담입니다)))))


복사 틱과 복사 속도를 혼동했을 가능성이 높지만 거기에도 구조 배열이 있고 필요한 구조의 요소를 지정할 수 있습니다.

double PrevClose = rates[copied-1].close;

코드에 추가 줄이 있습니다.

ArrayResize(ticks, copied, 100000);
CopyTicks와 CopyRates는 복사할 때 배열 크기를 자체적으로 분배하므로 이 줄은 필요하지 않습니다.