Metatrader 5에서 고유한 기호 및 데이터 피드 - 페이지 4

 
zaskok :

거래 시스템 최적화에 가장 적합한 휴리스틱 방법이 있습니다. 범용 GA와 달리 이를 위해 특별히 설계되었습니다. 테스터의 유일한 발견적 방법을 MQL5로 작성된 자신만의 방법으로 대체할 수 있습니까? 이미 입력 데이터를 사용자 지정하는 방향으로 테스터를 근본적으로 개선하기로 결정했다면 최적화 방법을 사용자 지정하는 것(사용자 지정 최적화 기준은 오랫동안 사용되어 왔습니다)은 완전한 다진 고기에 대해 논리적입니다.

GA가 아닌 다른 방법을 원하신다면 이러한 방법을 이름별로 정확하게 나열하고 이점에 대한 직접적인 증거를 제시하십시오.

그러나 가장 중요한 질문은 GA에 구체적으로 어떤 것이 적합하지 않습니까? 솔루션 영역을 찾지 못합니까? 10번의 연속된 더듬이에도 원하는 특성을 가진 클러스터에 대한 아이디어를 얻지 못하셨나요?

물론 당신은. 매우 빠르고 효율적입니다. 일반적인 열거보다 수십, 수십만 배 빠릅니다.

다른 방법(예: 몬테카를로 또는 어닐링)을 사용하여 더 빠르거나 더 나은 결과를 얻습니까? 사실이 아닙니다.

그러나 여기에 우리 유전자 알고리즘자체 실행 평가 기준 이 각 프로그래머에게 자신의 선택 변형을 구현할 수 있는 자유를 준다는 사실이 있습니다. 이 메커니즘은 본질적으로 고유한 발견적 방법을 만드는 핵심입니다.

그 외에도 입력 매개변수를 관리/재정의하기 위한 MQL5 기능이 있어 특수 선형 숫자 카운터로 가상화하여 비숫자/비선형 매개변수의 반복을 구현할 수 있습니다. 예를 들어, 파일의 데이터를 포함하여 30개의 숫자가 아닌 매개변수를 취하여 64비트 카운터[i]로 변환하고 이를 작동 매개변수로 전환합니다. 그 안에 숨겨진 것은 프로그래머에게 달려 있습니다. 그리고 자신의 평가 기준의 기능은 또한 자신만의 휴리스틱 방법을 만드는 데 도움이 됩니다.

Генетические алгоритмы - это просто!
Генетические алгоритмы - это просто!
  • 2010.05.25
  • Andrey Dik
  • www.mql5.com
В статье автор расскажет об эволюционных вычислениях с использованием генетического алгоритма собственной реализации. Будет показано на примерах функционирование алгоритма, даны практические рекомендации по его использованию.
 
zaskok :

거래 시스템 최적화에 가장 적합한 휴리스틱 방법 이 있습니다. 범용 GA와 달리 이를 위해 특별히 설계되었습니다. 테스터의 유일한 발견적 방법을 MQL5로 작성된 자신만의 방법으로 대체할 수 있습니까? 이미 입력 데이터를 사용자 지정하는 방향으로 테스터를 근본적으로 개선하기로 결정했다면 최적화 방법을 사용자 지정하는 것(사용자 지정 최적화 기준은 오랫동안 사용되어 왔습니다)은 완전한 다진 고기에 대해 논리적입니다.

이 방법을 사용하여 극한값을 찾습니다. 예를 들어, 함수의 최대값 검색은 다음과 같습니다.

이것은 검색 자체입니다.

 

이것은 3D 시각화를 포함하여 MT5 테스터에 있습니다.

 
Renat :
우리는 MT5용 데이터 피드를 작성하기 위한 인터페이스를 열기로 결정했습니다.

실시간 데이터 소스를 포함하여 자신의 데이터 소스를 자유롭게 작성할 수 있습니다. 이를 통해 자세한 내역 및 레벨 2 주문서를 포함한 모든 데이터를 연결할 수 있습니다.

기본적으로 오프라인 데이터 피드를 포함하여 다수의 일반 데이터 피드를 제공합니다. 가상 기호는 테스터에서도 사용할 수 있습니다.

물론 이 모든 것은 무료입니다.

할렐루야! 몇 년을 물었더니 드디어... 기쁨과 부드러움의 눈물도 흐른다 :)

개인적으로, 나는 항상 MT5에 대한 역사가 부족하여 MT5를 최대한 사용하는 것을 망설였습니다. Wealth-Lab과 같은 타사 프로그램에서 연구를 수행하고 이미 MT5에 전투 로봇을 작성해야 했습니다. 이제 타사 프로그램이 필요하지 않습니다.

 
forexman77 :

최적화할 변수가 너무 많으면 히스토리 피팅 가능성이 높습니다.

변수가 늘어남에 따라 최적화 시간이 기하급수적으로 늘어납니다. 여기서 벗어날 방법은 없습니다.

주거용 건물 크기의 초강력 컴퓨터, 탈출구가 있다)

이 문제에 익숙하고, 이 상황을 해결하기 위한 알고리즘이 개발되었고, 다른 것은 이해가 안 가네요, 또 강제로 유전학을 사용하는 것이 무차별 대입보다 낫다는 결정을 내렸습니다...그렇게 생각하지 않습니다. 이에 대한 이유와 긍정적인 예가 있습니다. 동일한 Profitunity가 옵션을 통해 정렬하여 정확하게 생성되었지만 이제 관련성은 과거입니다. 하지만 여전히.

다시 말하지만, 원격 에이전트의 큰 시장을 왜 차단했는지는 분명하지 않습니다. 그들은 최소한 작업으로 바쁩니다. .... 그것과는 거리가 멀고, 사용 가능한 에이전트의 80%(IMHO)가 유휴 상태입니다. 또한 잠재적 인 작업 전면을 차단 ...

 
Renat :

이것은 3D 시각화를 포함하여 MT5 테스터에 있습니다.

쿨하게, 나는 이것에 대해 몰랐지만 그것은 나에게 효과가 없었습니다. 3D의 스위칭 위치가 비활성화되었습니다. 코드에 특별히 배치된 것이 있어야 합니까?
 
IvanIvanov :
쿨하게, 나는 이것에 대해 몰랐지만 그것은 나에게 효과가 없었습니다. 3D의 스위칭 위치가 비활성화되었습니다. 코드에 특별히 배치된 것이 있어야 합니까?
MetaTrader 5 전략 테스터 3D 시각화
 

오! 브라보, 관리자!

내가 이해하고 과거 데이터에 대한 디버깅이 마침내 나타날 것입니까?

 
Renat :

GA가 아닌 다른 방법을 원하신다면 이러한 방법을 이름별로 정확히 나열하고 이점에 대한 직접적인 증거를 제시하십시오.

그러나 가장 중요한 질문은 GA에 구체적으로 어떤 것이 적합하지 않습니까? 솔루션 영역을 찾지 못합니까? 10번의 연속적인 더듬이에도 원하는 특성을 가진 클러스터에 대한 아이디어를 얻지 못하셨나요?

물론 당신은. 매우 빠르고 효율적입니다. 일반적인 열거보다 수십, 수십만 배 빠릅니다.

다른 방법(예: 몬테카를로 또는 어닐링)을 사용하여 더 빠르거나 더 나은 결과를 얻습니까? 사실이 아닙니다.

당신을 위해 증거를 제공하는 것은 꽤 문제가 있습니다. 왜냐하면 당신은 일부 문제에서 당신의 근시안적 견해에 대한 대중의 주장에 아주 정확하게 반응하지 않습니다. 그리고 당신 자신이 시작한 이 분기는 불행히도 이 진술의 절정의 증거 역할을 합니다. 물론 다른 사람들이 전화해서 몇 년 동안 이것을 요구한 것은 아니지만 당신은 그것을 거부했다고 주장합니다. .... 그러나 일어난 일은 일어난 것입니다. 그러나 당신이 틀렸다는 것을 증명하는 것은 다소 무의미해 보입니다. 평가에서 작동하는 것은 논리가 아니라 인적 요소입니다.

따라서 더 이상 당신을 위한 것이 아니라 포럼 회원을 위해 GA와 다소 다른 휴리스틱 최적화 방법에 찬성하여 논리적인 논거를 제시하겠습니다. 아래는 내가 이전에 인용한 기사의 일부 찢어진 인용문 + 특히 주의할 가치가 있는 밑줄 친 요점입니다.

모든 확률적 최적화 방법에는 한 가지 공통된 단점이 있습니다. 즉, 일종의 극한값에 부딪혀 최적의 극한값을 놓칠 수 있습니다. 이를 피하기 위해서는 샘플 면적과 반복 횟수를 최대화해야 합니다. 그러나 계산 속도가 이로 인해 어려움을 겪습니다. 따라서 항상 황금률을 찾아야 합니다.


그러나 곰곰이 생각해 보면 수렴이 없다면 전지구적 극단값 자체는 우리에게 아무 소용이 없다 . 즉, 극한값 주변의 이웃이 조건부로 균일하게 감소하지 않으면 이 전역 극한값은 본질적으로 임의적일 가능성이 매우 높으며 부적절하고 계산을 망칠 것이기 때문에 우리에게 거의 사용되지 않을 것입니다. . 따라서 극한값 주변의 매개변수를 연구하는 것이 매우 중요합니다. 수렴이 있으면 시스템이 있고 이 전략은 더 연구할 수 있습니다 .

하지만 위에서도 언급했듯이 극한값 주변의 영역을 연구하는 것이 중요하므로 끝까지 수렴하기로 결정하고 마지막 iteration에서 모든 인접 전략을 완전히 확인했습니다. 나는 그라디언트를 가지고 놀지 않고 수렴을 초기 샘플의 백분율로 정적으로 만들었습니다. 즉, 각 반복 후에 다차원 행렬을 1% 또는 20%로 얼마나 잘라낼 것인지, 우리는 맨 처음에 결정합니다. 또한 우리는 시간 능력을 고려하여 테스트를 위해 각 반복에서 매트릭스에서 얼마나 많은 전략을 취할 것인지 즉시 결정합니다. 따라서 행렬의 크기는 우리에게 전혀 중요하지 않습니다. 우리는 얼마나 많은 반복을 수행하고 어떤 양으로 수행할지 정확히 알고 있습니다! 이것이 확률론적 방법의 아름다움입니다.

첫 번째 반복 후 공간에 대한 첫 번째 연구를 수행할 때 다음 샘플에 대한 연구 영역을 어떻게든 줄여야 합니다. 하지만 우리는 여전히 이 공간에 대해 거의 아무것도 모르고 있고, 내가 보기에는 미지의 영역을 잘라내는 것이 오히려 무모한 것 같다. 일반적으로 알고리즘은 전역 최대값을 검색하도록 설계 되었으며 모든 지역 및 전역 최대값에 관심이 있습니다.

우리는 전략이 수익성이 있을 수 있는 모든 매개변수를 알아야 합니다. 아마도 일부 매개변수가 있는 전략은 좋은 수익을 가져오지만 더 위험하고, 다른 매개변수를 사용하면 수익이 약간 줄어들지만 더 안정적이고 덜 위험한 것으로 판명되었으며 알고리즘을 따르면 그것 .

우리는 의도적으로 탐사 공간에서 최악의 전략을 제거합니다. 따라서 다음 반복에서는 더 수익성 있는 전략으로 영역을 탐색하고 필요하지 않은 영역을 연구하는 데 귀중한 테스트 시간을 낭비하지 않습니다. 궁극적으로 우리의 연구 영역은 공간의 모든 최대값으로 수렴됩니다.

우리가 공간을 탐색했고 최대값이 얼마나 되는지 대략적으로 상상해 봅시다. 그리고 그것은 우리에게 무엇을 제공합니까? 지금까지 거의 아무것도...
우리는 이러한 최대값을 조사하여 무작위인지 체계적인지 이해해야 합니다. 이를 위해 tester-optimizer 는 최상의 전략을 선택하고 추가로 더 자세히 주변 영역을 탐색할 수 있는 기회를 제공했습니다 . 최적화할 때 놓친 전략을 살펴보세요. 이제 우리는 우주의 극한에 대한 거의 모든 것을 알고 있습니다! 얻은 데이터는 클러스터링, 재최적화 등을 위해 추가로 탐색할 수 있습니다. 그러나 그것은 또 다른 이야기입니다!

이것은이 기사에 관한 것이 아니라 실제로 어디에서나 논의되지 않은 TS 검색 및 최적화의 일반 원칙에 관한 것입니다. 따라서 GA는 ES를 최적화할 때 무기고에 갖고 싶은 것이 전혀 아닙니다.

그러나 여기에 우리 유전자 알고리즘 의 자체 실행 평가 기준이 각 프로그래머에게 자신의 선택 변형을 구현할 수 있는 자유를 준다는 사실이 있습니다. 이 메커니즘은 본질적으로 고유한 발견적 방법을 만드는 핵심입니다.

그 외에도 입력 매개변수를 관리/재정의하기 위한 MQL5 기능이 있어 특수 선형 숫자 카운터로 가상화하여 비숫자/비선형 매개변수의 반복을 구현할 수 있습니다. 예를 들어, 파일의 데이터를 포함하여 30개의 숫자가 아닌 매개변수를 취하여 64비트 카운터[i]로 변환하고 이를 작동 매개변수로 전환합니다. 그 안에 숨겨진 것은 프로그래머에게 달려 있습니다. 그리고 자신의 평가 기준의 기능은 또한 자신만의 휴리스틱 방법을 만드는 데 도움이 됩니다.

"입력 매개변수 관리/재정의를 위한 MQL5 기능" - 들어본 적이 없습니다. 링크를 주세요.
 
event :

이 방법을 사용하여 극한값을 찾습니다. 예를 들어, 함수의 최대값 검색은 다음과 같습니다.

고맙습니다! 대략적인 함수에 대한 공식을 제공하여 OnTester에서 비교를 위해 OnTester에서 로컬 극값을 찾을 수 있도록 하시겠습니까?

방법에 대한 몇 가지 건설적인 단어(설명, 출처, 플러스/마이너스)를 듣는 것은 흥미로울 것입니다.

사유: