Expert Advisor가 처음 드롭된 차트에서만 작동하도록 하는 방법

 

고문이 "하나의 사본"에서만 작동하는지 확인해야 합니다. 저것들. 나는 어떤 차트에 처음으로 첨부하고 작동합니다. 그런 다음 실수로 또는 의도적으로 다른 차트에 다시 첨부하면 두 번째 첨부 파일은 이미 실행 중인 차트가 있음을 인식하고 아무 작업도 수행하지 않습니다.

전역 변수 에 레이블을 남겨두는 것은 아마도 작동하지 않을 것입니다. 두 명의 Expert Advisors가 연결되어 있고 그 텍스트를 다시 컴파일하면 이 전역 변수가 생성될 수 있는 초기화를 가장 먼저 수행할 사람이 누구인지 알 수 없습니다.

누가 조언할 수 있습니까? 이 작업을 수행하는 방법에 대한 생각이 있습니까?

 

뭐, 재컴파일은 목발인데 해결은 되는데 터미널을 재시작하면 어떡하지...

전역 변수는 좋지 않습니다. 왜냐하면 이전에 전역 변수 를 파일에 기록한 터미널이 충돌하면 모든 것이 중단됩니다.

대안으로, 당신은 무언가에 대한 손잡이를 잡을 수 있습니다.

 

TheXpert :

....무엇

이것은 질문입니다 :(
 
그러나 Expert Advisor를 차트에 두 번 연결하지 마십시오. 불가능합니까?
 
Techno :
하지만 어드바이저를 차트에 두 번 연결하지 마십시오. 그게 불가능한가요?

나나 다른 누구도 실수로든 의도적으로든 이 일을 하지 않을 것이라는 보장이 필요합니다.)

상상: 고문은 주문을 여는 "외부" 명령을 받습니다. 하나의 추가 사본조차도 (이론적으로) 또 다른 추가 영장입니다. 나는 이것을 우연히 얻고 싶지도 않습니다.

 
ForexTools :
이것은 질문입니다 :(

아니요, 이것은 이미 구현 세부 사항이며 주요 문제는 다시 로드 및 다시 컴파일하는 것입니다.

아, 주제가 있습니다. 다시 시작하고 다시 컴파일 할 때 EA가 복원되는지 여부를 확인하면됩니다. 예를 들어 0으로 나누어 전에 충돌이 발생했다면?

그렇지 않다면 이것이 방법입니다.

 
TheXpert :

아니요, 이것은 이미 구현 세부 사항이며 주요 문제는 다시 로드 및 다시 컴파일하는 것입니다.


재컴파일로 인해 문제가 발생해서는 안 됩니다.
 
PapaYozh :

재컴파일로 인해 문제가 발생해서는 안 됩니다.

쩨쩨한거같은데? 전문가의 사본이 세 개 있다고 가정해 보겠습니다(칩 없이 - 아주 깨끗함). 당신은 그것을 다시 컴파일했습니다. "명령"이 터미널로 이동했습니다. 전문가들이 초기화를 시작했습니다....재초기화 순서는?
 
ForexTools :

쩝쩝쩝? Expert Advisor의 복사본이 세 개 있다고 가정해 보겠습니다(칩 없이 아주 깨끗함). 당신은 그것을 다시 컴파일했습니다. "명령"이 터미널로 이동했습니다. 전문가들이 초기화를 시작했습니다....재초기화 순서는?
그런 다음 둘 중 하나가 거래되었지만 재부팅 후 다른 하나는 리더십 권한을 얻고 첫 번째는이 권한을 잃는 것으로 나타났습니다. 동일하면 차이점은 무엇입니까? 중요한 것은 하나가 거래된다는 것입니다. 전역 변수를 사용하면 됩니다. init 함수에서 각 sleep() 전문가에 대해 무작위 대기를 작성합니다. 먼저 깨어난 사람이 전역 변수를 고려하고 삭제하고 초기화 시 다시 복원합니다. 누가 먼저 고려하고 삭제했으며 작동할 것입니다. 요컨대, 수면()에 대한 임의의 숫자를 생성합니다.
 
ForexTools :

쩝쩝쩝? Expert Advisor의 복사본이 세 개 있다고 가정해 보겠습니다(칩 없이 아주 깨끗함). 당신은 그것을 다시 컴파일했습니다. "명령"이 터미널로 이동했습니다. 전문가들이 초기화를 시작했습니다....재초기화 순서는?

그리고 동일한 차트의 존재를 배제하지 않습니까? 저것들. 같은 심볼과 같은 기간을 가진 2개의 차트에서 EA 시작 상황을 처리해야 합니까?
 
Techno :
그런 다음 둘 중 하나가 거래되었지만 재부팅 후 다른 하나는 리더십 권한을 얻고 첫 번째는이 권한을 잃는 것으로 나타났습니다. 동일하면 차이점은 무엇입니까? 중요한 것은 하나가 거래된다는 것입니다. 전역 변수를 사용하면 됩니다. init 함수에서 각 sleep() 전문가에 대해 무작위 대기를 작성합니다. 먼저 깨어난 사람이 전역 변수를 고려하고 삭제하고 초기화 시 다시 복원합니다. 누가 먼저 고려하고 삭제했으며 작동할 것입니다. 요컨대, 수면()에 대한 임의의 숫자를 생성합니다.

그건 그렇고, 그렇습니다. 어드바이저의 인스턴스 2개를 사용하는 것이 허용되지 않는 경우, 따라서 어떤 어드바이저가 먼저 시작하는지는 중요하지 않습니다.