당사 팬 페이지에 가입하십시오
- 게시자:
- Enrique Enguix
- 조회수:
- 12
- 평가:
- 게시됨:
-
이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동
이 스크립트는 메타트레이더 5 개발자와 사용자가 공통적으로 겪는 문제인 구성된 심볼 이름과 브로커가 제공하는 실제 이름이 일치하지 않는 문제를 해결하는 데 도움이 되도록 설계된 코드 참조입니다.
개발자로서 저는 구성 가능한 EA, 특히 다중 심볼 전략을 처리하는 EA를 작업할 때 이 문제에 직면했습니다. 사용자가 브로커의 규칙에 따라 심볼 이름을 설정하지 않는 경우가 많기 때문에 EA가 제대로 작동하지 않는 경우가 많습니다. 예를 들어 EA 설정에 "EURUSD"가 지정되어 있지만 브로커가 "EURUSD.i" 또는 "EURUSD.m"을 사용하는 경우 EA가 올바른 심볼을 찾지 못해 거래할 수 없습니다.
이 코드는 레벤슈타인 거리 알고리즘을 사용하여 종합시세 창에서 사용 가능한 모든 종목 중에서 사용자가 지정한 종목과 가장 유사한 종목을 식별합니다.
저는 전문가는 아니지만 이 솔루션은 제 개인적인 경험에서 효과가 입증되었으며 다른 개발자에게도 유용한 도구가 될 수 있습니다.
주요 애플리케이션 및 용도
- 구성 가능한 EA에 통합: 이 스크립트는 브로커 심볼 이름에 자동으로 적응해야 하는 EA 또는 스크립트에 통합하기 위한 참조용입니다.
- 사용자 지정 브로커에 대한 적응성: 브로커가 심볼에 특정 이름을 사용하는 경우 이 접근 방식은 심볼을 올바르게 매핑하고 구성 오류를 방지하는 데 도움이 됩니다.
- 구성 유효성 검사: 개발 및 테스트 단계에서 EA가 견고하고 적응력이 있는지 확인하기 위한 검증 도구로 사용할 수 있습니다.
- 교육 및 학습: 이 코드는 MQL5를 배우는 사람들을 위해 배열, 문자열 및 문자열 간의 거리 계산과 같은 동적 함수로 작업하는 방법을 보여줍니다.
중요 경고:
이 코드는 제 개인적인 경험을 바탕으로 작성되었으며 제 프로젝트에 효과가 있었던 솔루션입니다. 하지만:
- 저는 MQL5의전문가가 아니므로 이 솔루션이 모든 경우에 가장 효율적이거나 적합하지 않을 수 있습니다.
- 각 사용자나 프로젝트의 요구 사항에 따라 더 고급적이거나 구체적인 접근 방식이 있을 수 있습니다.
저는 사용자와 개발자가 코드를 실험해보고, 각자의 상황에 맞게 조정하고, 필요한 경우 더 적합한 다른 대안을 조사해 볼 것을 권합니다.
통합의 실제 예시:
"EURUSD"를 거래하는 EA를 개발했다고 가정해 보겠습니다. 사용자 환경에서 브로커는 이 심볼을 "EURUSD.i"로 표시합니다. 이 코드를 EA에 통합하면
- 사용자는 기본 구성으로 "EURUSD"를 입력할 수 있습니다.
- 이 코드는 자동으로 마켓워치를 검색하여 올바른 심볼("EURUSD.i")을 매핑합니다.
- EA가 원활하게 작동하므로 정확한 수동 구성이 필요하지 않습니다.
결론:
이 스크립트는 다양한 환경에서 EA의 기능을 보장하는 데 유용할 뿐만 아니라 고급 솔루션을 개발하기 위한 출발점 역할을 합니다.
이 문제를 해결할 수 있는 다른 방법도 있지만, 이 구현이 다른 메타트레이더 5 개발자와 사용자에게 유용한 도구가 되길 바랍니다.
MetaQuotes Ltd에서 스패인어로 번역함.
원본 코드: https://www.mql5.com/es/code/54553

트레이더의 삶을 편하게 해주는 간단한 스크립트. 항상 저를 괴롭히는 한 가지는 새 차트의 색상과 같은 속성을 재설정하여 원하는 방식으로 보이게 만드는 것입니다. 그래서 이 작업을 더 원활하게 해주는 스크립트를 만들었습니다.

범용 스무딩을 기반으로 하는 켈트너 레벨 세트입니다.

Using JMA adaptive moving average is the best way to smooth price ranges with a minimum time lag.

Slow adaptive trend line with ultralinear and JMA smoothings.