Mt4 시뮬레이션 결과 EA와 실제 라이브 거래 결과 사이의 문제

시뮬레이션 결과와 실제 거래 결과 사이의 문제. 다음은 해결해야 할 몇 가지 문제입니다  바톤엑스.

a) 매수-매도 스프레드.

이 스프레드는 USDJPY, EURUSD, USDCHF, GBPUSD 등의 주요 통화 쌍에 대해 일반적으로 2~4핍 사이이지만 뉴스와 주요 움직임이 있는 경우 스프레드는 5~9핍, 10~15핍, 심지어 16핍 이상으로 증가합니다. 그리고 더. 이는 구매 시 해당 거래에서 이미 마이너스 16핍 이상을 받았다는 의미입니다.

입찰가는 항상 MT4 서버의 최신 스프레드를 기반으로 하기 때문에 시뮬레이션은 이 스프레드를 다루지 않습니다. 따라서, 넓은 핍 스프레드로 생성된 뉴스는 포착할 수 없으며 매수-매도 거래가 정확하게 시뮬레이션되지 않습니다. 2가지 조치를 취하여 시뮬레이션할 때 핍의 이러한 변화를 고려해야 합니다. 첫 번째는 거래를 실행하기 위해 EA의 스프레드를 8핍 미만으로 제한하는 것입니다. 8을 초과하면 거래가 실행되지 않습니다. 두 번째는 시뮬레이션할 때 이익 또는 트리거 수준을 -9 pips로 설정하고 평소 이익 수준을 설정하는 것입니다. 이렇게 하면 스프레드가 고려됩니다.

b) 서버 가용성.

이는 시장 수요로 제한됩니다. 더 많은 거래가 들어오면 서버가 과부하되어 통화를 사고 팔려고 할 때 서버가 바쁘게 됩니다. 그런 다음 거래를 다시 실행해야 합니다. 이 경우 스프레드가 변경되어 거래 이익에 영향을 미칩니다. 다른 서버에는 다양한 스프레드가 있으며 동시에 요청합니다. 서버가 바쁜 경우 거래가 무효화됩니다.

시뮬레이션은 바쁜 서버를 다루지 않습니다. 따라서 서버의 바쁜 응답을 코딩하고 “IsTradeContextBusy()”를 사용하여 거래를 다시 실행하기 전에 1~2초 정도 기다려야 합니다. 이렇게 하면 서버 사용량이 많을 때 EA가 다시 시도할 수 있습니다. 최대 5회 또는 1분 동안 재시도할 수 있습니다.

c) 로그인합니다. 이는 MT4 서버와의 인터넷 연결 때문입니다. 계정은 로그인 상태를 유지하기 위해 지속적으로 핑을 보냅니다. 인터넷 연결이 중단되면 자동 로그인이 계속되며 때로는 일지에 몇 개의 로그인 항목이 표시됩니다.

시뮬레이션은 이 로그인 부분을 초과하지 않습니다. 따라서 “RefreshRates()”를 통해 서버에서 데이터를 가져오려면 코드를 입력해야 합