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

 
Igor Makanu :

이 코드로 실험하고 EA 로그의 메시지를 읽습니다(TF를 전환하고 변수를 입력하고 EA를 닫지 않고 터미널을 다시 시작합니다...).

두 번째 옵션은 전역 가시성 수준에서 static 한정자 를 사용하여 변수를 설명하는 것입니다.

내가 즉시 언급하는 것을 잊은 수정은 mql4입니다.

그리고 두 번째로 EA 변수가 변경될 때 OnInit()를 실행해야 합니다.

그게 내가 도움을 요청하는 전부야!

네, 터미널을 다시 시작하고 tf를 변경하면 도움이되지만 변수를 변경할 때 OnInit()가 작동하지 않고 이로 인해 잼이 모두 오르고 있습니다 !!!!

 
Игорь :

내가 즉시 언급하는 것을 잊은 수정은 mql4입니다.

그리고 두 번째로 EA 변수가 변경될 때 OnInit()를 실행해야 합니다.

그게 내가 도움을 요청하는 전부야!

네, 터미널을 다시 시작하고 tf를 변경하면 도움이 되지만, 변수를 변경할 때 OnInit()가 작동하지 않고 이로 인해 모든 잼이 있습니다!!!!

당신은 그렇게 할 수 있습니다. Expert Advisor를 처음 실행할 때 OnInit()는 변수를 복사합니다. Calc...()에서 또는 MT4에서와 같이 복사본에 대한 변수의 ID를 확인합니다. 변수가 일치하지 않으면 강제로 OnInit()을 시작하고 필요한 경우 그 전에 EA를 재설정하는 다른 작업을 시작합니다. 자, 그리고 마침내 돌아옵니다.

 
Игорь :

내가 즉시 언급하는 것을 잊은 수정은 mql4입니다.

그리고 두 번째로 EA 변수가 변경될 때 OnInit()를 실행해야 합니다.

그게 내가 도움을 요청하는 전부야!

네, 터미널을 다시 시작하고 tf를 변경하면 도움이되지만 변수를 변경할 때 OnInit()가 작동하지 않고 이로 인해 잼이 모두 오르고 있습니다 !!!!

내가 준 코드 봤어? 이것은 MT4였으며 모든 것이 요청한 대로 작동합니다.

그런 다음 문서 https://docs.mql4.com/ru/runtime/event_fire 를 읽으십시오.

여기에서 내가 제안한 코드를 실행했고 외부 변수 var를 2번 변경했습니다. 여기에 전문가 로그가 있습니다.

 0        15 : 36 : 39.736     Compiling 'test'
0        15 : 37 : 37.573     Expert test EURUSD,H1: loaded successfully
0        15 : 37 : 39.101     test EURUSD,H1 inputs: var1= 1 ; 
0        15 : 37 : 39.130     test EURUSD,H1: Вызов OnInit (), var1= 1
0        15 : 37 : 39.130     test EURUSD,H1: initialized
0        15 : 37 : 51.341     test EURUSD,H1: uninit reason 5
0        15 : 37 : 51.343     test EURUSD,H1: Вызов OnInit (), var1= 34567
0        15 : 37 : 51.343     test EURUSD,H1: initialized
0        15 : 37 : 51.366     test EURUSD,H1 inputs: var1= 34567 ; 
0        15 : 38 : 04.124     test EURUSD,H1: uninit reason 5
0        15 : 38 : 04.126     test EURUSD,H1: Вызов OnInit (), var1=- 9999
0        15 : 38 : 04.126     test EURUSD,H1: initialized
0        15 : 38 : 04.149     test EURUSD,H1 inputs: var1=- 9999 ; 

"잼이 올라오는" 위치를 코딩해 봅시다.

글쎄, 당신은 MQL 프로그램의 어느 곳에서나 모든 함수를 호출할 수 있고, 전문가 초기화 함수도 함수이며, 강제로 OnInit()를 호출할 수 있지만, 이것은 일반적으로 필요하지 않으며, 터미널 자체가 OnInit () 를 호출합니다

События клиентского терминала - Программы MQL4 - Справочник MQL4
События клиентского терминала - Программы MQL4 - Справочник MQL4
  • docs.mql4.com
Сразу же после того, как клиентский терминал загрузит программу (эксперт или пользовательский индикатор) и запустит процесс инициализации глобальных переменных, будет послано событие Init, которое обрабатывается функцией OnInit(), если она есть. Это событие также генерируется после смены финансового инструмента и/или периода графика, после...
 
Igor Makanu :

코드에 오류가 많다.

가격을 정상화해야 작동합니다. 그러면 "잘못된 가격"을 발행하는 서버 오류가 발생합니다. StopLoss_SELL 을 더 높게 정상화하는 것이 바람직합니다.

그리고 대부분의 경우 정지 손실이 0과 같지 않은지 확인해야 하고 실수를 동등하게 비교하는 것이 바람직하지 않습니다. > 또는 <에 대한 실수를 비교해야 합니다.

오류가 많다면 모두 지적해 주시겠습니까?

 
Igor Makanu :

내가 준 코드 봤어? 이것은 MT4였으며 모든 것이 당신이 요청한대로 작동합니다.

그런 다음 문서 https://docs.mql4.com/ru/runtime/event_fire 를 읽으십시오.

여기에서 내가 제안한 코드를 실행했고 외부 변수 var를 2번 변경했습니다. 여기에 전문가 로그가 있습니다.

"잼이 올라오는" 위치를 코딩해 봅시다.

글쎄, 당신은 MQL 프로그램의 어느 곳에서나 모든 함수를 호출할 수 있고, 전문가 초기화 함수도 함수이며, 강제로 OnInit()를 호출할 수 있지만, 이것은 일반적으로 필요하지 않으며, 터미널 자체가 OnInit () 를 호출합니다

오류 코드를 찾아주셔서 감사합니다!!!!!!!!! 행운을 빕니다 !!!! 그리고 도와주셔서 감사합니다!!!!!

 
말해 주세요. 전체 기록이 아니라 주어진 양초 수에 대해 표준 MA 표시기를 표시하는 방법은 무엇입니까? 고맙습니다.
 
prom18 :
말해 주세요. 전체 기록이 아니라 주어진 양초 수에 대해 표준 MA 표시기를 표시하는 방법은 무엇입니까? 고맙습니다.
히스토리 깊이 설정으로 나만의 MA 표시기를 작성하십시오!
 

Expert Advisor 테스트 를 위해 수동으로 견적을 설정하는 방법은 무엇입니까?

해결 방법이 있을 것 같은데 구글링이 안되네요

 
Galim_V :

일시 중지 후 F12를 좋아하지 않는 이유는 무엇입니까?

나는 정확히 설정하려는 가격 움직임을 의미했습니다.

 
Andrey Sokolov :

Expert Advisor 테스트 를 위해 수동으로 견적을 설정하는 방법은 무엇입니까?

해결방법이 있을텐데 구글링이 안되네요

틱을 작성하고 전략 테스터 로 대체하십시오.