MQL5 라이브러리 기능을 기대하고 있었지만 아무것도없는 것 같습니다. 모듈 식 거래 라이브러리가 있는데 신호 모듈이 IsNewBar 플래그를 설정하고 이전 캔들 시간을 재정의하고 TrailingSL 모듈이 동일한 함수를 평가해야 할 때 이전 캔들 시간이 현재와 동일하기 때문에 거짓을 반환하는 문제가 발생했습니다.
예, 결과를 중앙 플래그에 저장하고 모든 모듈에 사용할 수 있으며 모듈이 다른 시간대에서 실행될 수 있으므로이 솔루션은 너무 완벽합니다.
제 생각에는 때때로 우리는 불필요하게 일을 복잡하게 만듭니다. 실용적인 이유로, 성능 측면에서도 시스템 시간(윈도우 시간)을 이길 수 있는 것은 아무것도 없습니다. 다음 분이 시작될 때, 또는 확실히 하기 위해 몇 초 후에 모든 심볼에 대해 새로운 막대가 있다고 가정할 수 있습니다. 1분... 5분... 15분 등 원하는 시간대를 입력하면 됩니다. 막대 시간과 시스템 시간이 동일한지확인하면됩니다 .
하지만 실제로 새 막대가 언제 그려질지 모두 알고 있는 상황에서 새 막대가 있는지 확인하기 위해 이 클래스의 인스턴스를 여러 개 생성할 필요는 없습니다.
현재 제 EA는 동일한 캔들에 대해 여러 주문을 개시합니다. 이 글의 자료가 도움이 될 것 같습니다.
어떻게 구현하나요?
OnTick() 이벤트에서 거래 진입 로직을 가져와 OnNewBar() 함수 안에 넣을 수 있습니다. 이렇게 하면 새 바가 있을 때만 실행되고, 한 번 실행되면 다음 캔들에서만 다시 실행되므로 같은 캔들에 여러 번 입력하지 않아도 됩니다.
좋은 기사입니다.
감사합니다!
정말 감사합니다,
MQL5 라이브러리 기능을 기대하고 있었지만 아무것도없는 것 같습니다. 모듈 식 거래 라이브러리가 있는데 신호 모듈이 IsNewBar 플래그를 설정하고 이전 캔들 시간을 재정의하고 TrailingSL 모듈이 동일한 함수를 평가해야 할 때 이전 캔들 시간이 현재와 동일하기 때문에 거짓을 반환하는 문제가 발생했습니다.
예, 결과를 중앙 플래그에 저장하고 모든 모듈에 사용할 수 있으며 모듈이 다른 시간대에서 실행될 수 있으므로이 솔루션은 너무 완벽합니다.
안녕하세요, Open() 따옴표가 도착하자마자 새 막대가 도착했다고 가정하고 있습니다. IMHO가 더 쉬운가요 아니면 제가 뭔가 놓치고 있나요?
새 바의 시가가 이전 바의 시가와 동일한 상황을 상상해보세요..... 소규모 TF에서는 이러한 상황을 포착할 확률이 높습니다.
현재 막대의 시작 시간을 추적하고 각 틱마다 비교합니다.