MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1044

 
Galim_V :

내 문제에 대한 간단한 소프트웨어 솔루션이 있습니까?

있다!


 
Yevhenii Levchenko :

있다!


대답 해줘서 고마워. 네, 스왑의 현재 가치를 알아보겠습니다. 그리고 어제 값과 비교한 결과가 필요합니다.

 
Galim_V :

대답 해줘서 고마워. 네, 스왑의 현재 가치를 알아보겠습니다. 그리고 어제 값과 비교한 결과가 필요합니다.

어제의 값을 변수에 저장하고 비교하십시오! :)

 
Yevhenii Levchenko :

어제의 값을 변수에 저장하고 비교하십시오! :)

터미널을 다시 시작하면 저장됩니까? 아니면 터미널 전역 변수 에 대해 이야기하고 있습니까?

 
Galim_V :

터미널을 다시 시작하면 저장됩니까? 아니면 터미널 전역 변수 에 대해 이야기하고 있습니까?

아니요, 그들은 구원받지 못할 것입니다. 저장하려면 전역 변수가 필요하거나 파일에서 저장해야 합니다.
 
Yevhenii Levchenko :
아니요, 그들은 구원받지 못할 것입니다. 저장하려면 전역 변수가 필요하거나 파일에서 저장해야 합니다.

정보창을 만들었는데 소스코드를 잃어버렸습니다. 동시에 그는 기록을 피하고 제보자의 기능을 사용했습니다. 나는 모든 것을 복원하고 스왑에 이 문제를 추가하기로 결정했습니다. 그래서 질문도 했다. 스왑은 터미널 자체에서 작성한 히스토리에 흔적을 남기나요? 하지만 녹음 외에 다른 방법이 없다면 파일과 전역 파일에서는 작동하지 않기 때문에 힌트를 얻고 싶습니다. 20개의 악기에 대해 하루에 한 번 비교해야 한다는 점을 감안할 때. 시간 내주셔서 감사합니다.

 
Galim_V :

정보창을 만들었는데 소스코드를 잃어버렸습니다. 동시에 그는 기록을 피하고 제보자의 기능을 사용했습니다. 나는 모든 것을 복원하고 스왑에 이 문제를 추가하기로 결정했습니다. 그래서 질문도 했다. 스왑은 터미널 자체에서 작성한 히스토리에 흔적을 남기나요? 하지만 녹음 외에 다른 방법이 없다면 파일과 전역 파일에서는 작동하지 않기 때문에 힌트를 얻고 싶습니다. 20개의 악기에 대해 하루에 한 번 비교해야 한다는 점을 감안할 때. 시간 내주셔서 감사합니다.

전역변수 사용하기 쉽죠...파일 문제 더...
 

MT5에서 지표를 완료했습니다(MT4에서 번역됨). 나는 어제 그것에 대해 썼습니다. 저에게는 괜찮았지만 클라이언트에게는 좋지 않았습니다. 내가 이해하는 한 지표가 프로그래밍 방식으로 다른 지표를 추가하거나 제거했을 때 문제가 발생했습니다. 나는 IndicatorRelease 함수에 죄를 지었습니다 ... 초기화를 취소하는 동안 ChartIndicatorDelete를 통해 차트에서 표시기 (현재 제외)가 제거되고 IndicatorRelease를 통해 핸들이 해제됩니다. 도움말은 다음과 같이 말합니다.

 IndicatorRelease ()

Удаляет хэндл индикатора и освобождает расчетную часть индикатора, если ею больше никто не пользуется.
Функция позволяет удалять хэндл индикатора, если он больше не нужен, и таким образом позволяет экономить память. Удаление хендла производится сразу, 
удаление расчетной части индикатора производится через некоторое небольшое время (если обращений к ней больше нет). 

초기화하는 동안 핸들이 다시 생성됩니다. 그리고 OnCalculate의 첫 번째 계산 중에 지표가 차트에 다시 추가됩니다. 일종의 지연을 추가하기 위해 1000 패스에 대해 OnDeinit에 빈 루프를 추가했습니다. 이 결정에 대해 잘 모르겠습니다. 터미널이 오늘 한 번 중단되었지만 이전에는 잘 작동했으며 클라이언트는 오늘(적어도 현재로서는) 정상적으로 작동하기 시작했습니다.

MT4의 알고리즘은 잘 작동합니다(중단되지 않음). MT5의 차이점은 지표가 프로그래밍 방식으로 추가된다는 것입니다(그리고 지표를 사용하려면 지표의 계산된 값을 지속적으로 복사해야 함). 반면 MT4에서는 시각화용 버퍼가 단순히 복사되었습니다(지그재그로 이동 및... 표시기의 "소프트웨어 추가"와 같은).

말해봐, 문제 가 핸들 의 삭제 및 재생성(매개변수를 변경할 때 초기화 해제 및 초기화가 즉시 서로 뒤따른다...)과 관련될 수 있습니까? 이러한 표시기에 대한 핸들이 있는지 여부를 프로그래밍 방식으로 확인할 수 있습니까?

 

정규화 후에도 여전히 비정규화 값을 얻습니다 - MQL5

up    = NormalizeDouble ((up == 0 ? 1 * point : up), _Digits );
down  = NormalizeDouble ((down == 0 ? 1 * point : down), _Digits );
sum   = NormalizeDouble ((sum == 0 ? 1 * point : sum), _Digits );
minus = NormalizeDouble ((minus == 0 ? 1 * point : minus), _Digits );
if (index <= 65 && index >= 55 ) Print (index, " " ,up, " " ,down, " " ,sum, " " ,minus);

가장 불리한 1e-05, 어떻게해야합니까?

 

MT5 Windows 10 X64 에서 표시기를 호출하는 문제를 해결하는 방법을 알려주십시오. 저는 다음과 같이 합니다.

#resource "\\Indicators\\MyIndicator.ex5"

핸들=iCustom(NULL,0,"\\Indicators\\MyIndicator");

이전에는 #resource 없이 작동하다가 #resource로 작업을 시작했지만 이제는 작동하지 않고 오류 4804를 작성합니다.