저는 시간 대신 Open을 사용했습니다. 왜냐하면 막대가 열리면 영원히 고정되고 절대 바뀌지 않기 때문입니다. 두 개의 연속 막대를 찾는 것이 아닙니다. 동일한 막대이며 틱이 방금 발생한 현재 막대의 열기가 ThisBarOpen에 저장된 열기 값과 동일한지 여부를 묻습니다.또한 Open은 단순한 데이터 조회이기 때문에 Open이 Time보다 더 간단할 것이라고 생각했지만 Time은 다른 것을 참조하고 일종의 계산을 수행해야 할 수도 있습니다.
다시 카운터--; 코드가 MagicNumber와 Symbol()이 모두 동일한지 먼저 확인 하기 때문에 다른 EA가 주문을 마감할 수 없기 때문에 변경하지 않았습니다.
나는 확실히 BuyTicket의 내용을 지우는 정전에 대한 요점을 취하지만 내 테스트 중에는 발생하지 않았으며 내 코드는 여전히 매우 느리게 실행됩니다. 그러므로 나는 그것이 어떻게 원인이 될 수 있는지 알 수 없습니다.
현재 내 주요 질문은 열린 위치가 있는 터미널의 창에서 EA를 제거하는 데 왜 그렇게 오랜 시간이 걸렸고 열린 위치가 없는 터미널에서 제거하는 데 전혀 시간이 걸리지 않았는지입니다. 우연의 일치일 수도 있지만 네 개의 창 모두?
아직 카운터가 있습니다.
GumRai의 의견 참조 https://www.mql5.com/en/forum/151167/page2#954622
게시물에 감사드립니다.
저는 시간 대신 Open을 사용했습니다. 왜냐하면 막대가 열리면 영원히 고정되고 절대 바뀌지 않기 때문입니다. 두 개의 연속 막대를 찾는 것이 아닙니다. 동일한 막대이며 틱이 방금 발생한 현재 막대의 열기가 ThisBarOpen에 저장된 열기 값과 동일한지 여부를 묻습니다. 또한 Open은 단순한 데이터 조회이기 때문에 Open이 Time보다 더 간단할 것이라고 생각했지만 Time은 다른 것을 참조하고 일종의 계산을 수행해야 할 수도 있습니다.
다시 카운터--; 코드가 MagicNumber와 Symbol()이 모두 동일한지 먼저 확인 하기 때문에 다른 EA가 주문을 마감할 수 없기 때문에 변경하지 않았습니다.
나는 확실히 BuyTicket의 내용을 지우는 정전에 대한 요점을 취하지만 내 테스트 중에는 발생하지 않았으며 내 코드는 여전히 매우 느리게 실행됩니다. 그러므로 나는 그것이 어떻게 원인이 될 수 있는지 알 수 없습니다.
현재 내 주요 질문은 열린 위치가 있는 터미널의 창에서 EA를 제거하는 데 왜 그렇게 오랜 시간이 걸렸고 열린 위치가 없는 터미널에서 제거하는 데 전혀 시간이 걸리지 않았는지입니다. 우연의 일치일 수도 있지만 네 개의 창 모두?
이것이 귀하의 문제와 관련이 있는지는 모르겠지만 EA당 1개 구매, 1개 판매로 거래를 제한하는데 왜 이 모든 작업을 수행합니까?
여기에 이미 티켓 번호가 있습니다.
그것을 정적 int로 만들면 주문 풀을 통해 트롤링하지 않고 해당 티켓 번호로 명시적으로 주문을 닫을 수 있습니다.
게시물에 감사드립니다.
다시 카운터--; 코드가 MagicNumber와 Symbol()이 모두 동일한지 먼저 확인하기 때문에 다른 EA가 주문을 마감할 수 없기 때문에 변경하지 않았습니다.
현재 내 주요 질문은 열린 위치가 있는 터미널의 창에서 EA를 제거하는 데 왜 그렇게 오랜 시간이 걸렸고 열린 위치가 없는 터미널에서 제거하는 데 전혀 시간이 걸리지 않았는지입니다. 우연의 일치일 수도 있지만 네 개의 창 모두?
루프가 어떻게 작동하는지 이해합니까?
3개의 주문이 열려 있다고 가정해 보겠습니다.
처음 실행할 때 counter==0이므로 인덱스가 0인 주문이 선택됩니다.
루프가 끝나면 counter를 1만큼 감소시키므로 counter== -1입니다.
루프가 다시 실행되기 전에 for 함수 의 일부로 카운터가 1 증가합니다. 그래서 카운터 ==0
그래서 다음 루프 카운터==0을 다시 실행합니다!! 등등.
주문 인덱스 0을 계속 확인하는 끝없는 루프에 갇혀 있습니다.
그것이 중지되는 유일한 방법은 미결 주문이 없는 경우입니다. 왜냐하면 OrdersTotal - 1은 -1이 되고 0은 <= -1이 아니기 때문입니다.