MT 개발자를 위한 것이 아닙니다! INIT_PARAMETERS_INCORRECT를 대체하는 방법? - 페이지 7

 
Сергей Таболин :

문제의 본질을 완전히 잘못 이해하신 것 같습니다. 따라서 지나치게 자신있는 "조언"-용광로에서!

용광로에서는 작동하지 않습니다))

당신의 아마추어 같은 질문이 들렸고, 제 자신 있는 조언도 마찬가지였습니다.

당신은 중재자나 관리자가 아니므로 누가 퍼니스에 있는지 결정하는 것은 당신에게 달려 있지 않습니다.

 
TheXpert :

최적화 버튼을 누르기 위해서는 유전자 알고리즘 의 기초조차 이해해서는 안 된다. 버튼을 누르면 됩니다.

아니요, 전자레인지로 고양이를 말리겠습니다.

'버튼을 눌렀는데 왜 안 돼??!'라는 소비자 태도를 부추길 필요가 없다.

ps: 제 글은 유전학을 사용하는 것과 아무 관련이 없습니다.

 
Сергей Таболин :

당신은 근본적으로 틀렸습니다.

다시 한 번 사용자로서 나는 최적화 느림/빠름을 봅니다.

어쨌든 더 이상 관심이 없습니다. 깊은 지식도 아니고 근본적인 것들에 비추어 볼 때도 아닙니다.

이것이 당신의 삶의 위치입니까? 그런 아마추어적인 접근 방식이 많은 문제를 야기할까봐 두렵습니다. 특히 재정 문제에서요. 이해하기 싫으면 이해하는 자의 밥이 된다.

"빠르다"와 "느리게"가 쓰여지면 제정신이 있는 사람이 가장 먼저 생각해야 할 것은 동일한 결과를 빨리 얻을 수 있다면 여기서 "느림"이 왜 전혀 없는 것입니까? ... 같은 것이 아니면? .. 우리는 그것을 알아낼 필요가 있습니다 ...

그러나 각자에게.

 
Сергей Таболин :

모든 것이 맞습니다.

개발자가 가능한 한 제한을 제거해야 한다고 믿는 경향이 있습니다. 약점도 마찬가지다.

나는 유전자 최적화를 전혀 사용하지 않으려고 노력한다. 그러나 정말로 해야 한다면 이러한 알고리즘의 정글에 전혀 들어가고 싶지 않을 것입니다. 글쎄, 그것은 사용자를위한 것이 아닙니다.

예를 들어, 여기 컴퓨터에 앉아 키를 클릭하고 있으며 키를 누른 순간부터 화면에 기호가 나타날 때까지 어떤 일이 발생하는지 전혀 신경 쓰지 않습니다. 프로세서, 비디오 카드, 나사, 쿨러의 작동 방식, 상호 작용 방식은 전혀 흥미롭지 않습니다. 이것은 또한 일반 사용자를 위한 것이 아닙니다.

그게 바로 그 이유입니다. 기호 버튼을 클릭하는 것은 하나의 기호를 얻기 위한 것임을 이해해야 합니다. 또한, 예를 들어 누르는 속도에 제한이 있습니다. 그리고 1초에 50번씩 버튼을 누르려고 하면 50자도 표시되지 않는 것에 분개합니다.

문제는 초당 50자를 인식하는 능력입니다. 이 제한을 제거해야 합니까? 연락처의 바운스가 상징으로 인식될 때 악화, 대부분의 사용자에게 반대가 되는 것으로 판명되지 않을까요?

 
TheXpert :

최적화 버튼을 누르기 위해서는 유전자 알고리즘 의 기초조차 이해해서는 안 된다. 버튼을 누르면 됩니다.

왜 그래?

그가 이해할 필요가 없다면 "왜 내가 쓰레기를 얻었습니까?"라고 묻지 않아야합니다. 그것이 밝혀지면 "방금 일어난"을 의미합니다. 그렇게 의도했습니다.

모든 도구에는 일정 수준의 이해가 필요합니다. 이것이 "블랙박스"의 사용을 배제하는 것은 아니지만, "블랙박스"를 사용할 때에도 이 "블랙박스"가 작동하는 기본 패턴을 명확하게 이해할 필요가 있습니다.

 

주님 동지들!

우리는 누가 무엇을 이해하는지 / 이해하지 못하는지에 대한 토론으로 들어갑니다. 그리고 그 질문은 본질적으로 배경으로 사라졌습니다.

나는 유전의 역학을 모르므로 내가 말하려는 것을 이해하려고 노력하십시오.

117649개의 옵션(패스)이 있습니다. 이 중 1953개만 허용되며 원칙적으로 1(000000)은 허용되지 않습니다!!! 그리고 115695는 반복입니다. 1953년 "허용되는" 것과 다른 변형. 시간과 자원을 절약하기 위해 INIT_PARAMETERS_INCORRECT까지 제외합니다.

더 나아가. 유전학은 512명의 첫 번째 개체군을 수집합니다. 그래서?

그리고 502명의 "무효한" 개인이 즉시 이 인구집단에 속합니다. 10명의 노동자로는 충분하지 않습니다. 동의한다.

그러나 512는 1953년(대략)의 1/4에 불과합니다.

유전학을 더 깊이 파고 들지 않고 "허용되는"매개 변수에서만 첫 번째 인구를 수집하는 것이 불가능한 이유 를 이해하지 못합니다.

그리고 대체로 다음 모집단이 유효한 매개변수에서만 수집하지 못하도록 막는 것은 무엇입니까???
 
Andrey Khatimlianskii :

아니요, 전자레인지로 고양이를 말리겠습니다.

'버튼을 눌렀는데 왜 안 돼??!'라는 소비자 태도를 부추길 필요가 없다.

이 버튼에 대해서만 이야기하고 있습니다. 위에서 자신의 입장을 설명했다. 더 말하겠습니다. 유전 알고리즘 을 이해하지만 최적화하는 데 도움이 되지 않습니다.
 

무엇보다도 개인적으로 저는 주로 최적화 모드 에서만 INIT_PARAMETERS_INCORRECT 를 사용합니다. 특히 말 그대로 유효하지 않은 매개변수를 필터링하기 위해 사용하지만 단순히 불필요한 패스입니다.

예로서:

 input    bool    использовать_параметр   = true ;
input    int     парам_1                 = 5 ;
input    int     парам_2                 = 12 ;
input    int     парам_3                 = 100 ;
input    int     парам_4                 = 1 ;

........

따라서 테스트 중 및 어드바이저 작업 중에 using_parameter = false 인 경우 매개변수가 전혀 중요하지 않은 경우 최적화 중에 이러한 매개변수의 열거가 불필요하므로 다음을 제외하고 INIT_PARAMETERS_INCORRECT 에 의해 종료됩니다. 초기 값으로 단일 패스. 이것은 많은 시간을 절약합니다. 결국 하나의 유효한 패스에는 쓸모없는 패스가 많이 있습니다. 그리고 유전학은 쓸모없는 구절을 제거하는 것을 중대한 실수로 인식합니다.

어떻게 든이 문제를 해결하는 대신 개발 된 그들은 금지와 함께 이와 동일한 유전학을 연구하기 위해 보냅니다. 내가 이해하는 대로 공부할 시간을 갖기 위해서.

그리고 다시 한 번 반복합니다. 사용자는 유전학이 어떻게 작동하는지 알 필요가 없습니다! 그러나 이 문제에 대한 해결책을 찾는 것은 개발자의 과제입니다.

 
Сергей Таболин :

무엇보다도 개인적으로 저는 주로 최적화 모드 에서만 INIT_PARAMETERS_INCORRECT 를 사용합니다. 특히 말 그대로 유효하지 않은 매개변수를 필터링하기 위해 사용하지만 단순히 불필요한 통과입니다.

예로서:

따라서 테스트 중 및 어드바이저 작업 중에 using_parameter = false 인 경우 매개변수가 전혀 중요하지 않은 경우 최적화 중에 이러한 매개변수의 열거가 불필요하므로 다음을 제외하고 INIT_PARAMETERS_INCORRECT 에 의해 종료됩니다. 초기 값으로 단일 패스. 이것은 많은 시간을 절약합니다. 결국 하나의 유효한 패스에는 쓸모없는 패스가 많이 있습니다. 그리고 유전학은 쓸모없는 구절을 제거하는 것을 중대한 실수로 인식합니다.

어떻게 든이 문제를 해결하는 대신 개발 된 그들은 금지와 함께 이와 동일한 유전학을 연구하기 위해 보냅니다. 내가 이해하는 대로 공부할 시간을 갖기 위해서.

그리고 다시 한 번 반복합니다. 사용자가 유전학이 어떻게 작동하는지 알 필요가 없습니다! 그러나 이 문제에 대한 해결책을 찾는 것은 개발자의 과제입니다.

4개의 매개변수가 있으므로 이 4개의 매개변수 작업을 올바른 값으로만 구성해야 하므로 유전학을 사용할 수 있습니다.

 
Сергей Таболин :


117649개의 옵션(패스)이 있습니다. 이 중 1953개만 허용되며 원칙적으로 1(000000)은 허용되지 않습니다!!! 그리고 115695는 반복입니다. 1953년 "허용되는" 것과 다른 변형. 시간과 자원을 절약하기 위해 INIT_PARAMETERS_INCORRECT까지 제외합니다.

개인적으로 저는 주로 INIT_PARAMETERS_INCORRECT를 최적화 모드 에서만 사용하여 문자 그대로 유효하지 않지만 단순히 불필요한 전달인 매개변수를 필터링합니다.

여기에 당신의 실수가 있습니다. 유전학에는 "추가" 구절이 없습니다. 그녀는 모든 것을 선반에 올려 놓고 초과분을 선별하여 결국 시간과 자원을 절약합니다. 그리고 당신은 그녀를 방해하고 있습니다.

기본적으로 당신은 자신과 모순됩니다. 먼저 매직 버튼을 눌렀을 때 사용자의 추가 노력 없이 모든 것이 저절로 작동해야 한다고 말합니다. 그러나 동시에 코드에서 샤머니즘을 정렬하여 최적화 알고리즘을 돕습니다.

요컨대, 이제 모든 것이 명확합니다.

세르게이 타볼린 :

그렇다면:

121

그러면 결국 결과는 21과 같을 것입니다. 그리고 체인 21은 이 결과를 반복할 것입니다. 복제, 원칙적으로 불필요한 실행을 위한 추가 시간 ...

INIT_PARAMETERS_INCORRECT로 아무 것도 필터링할 필요가 없고 프로그램 논리에 따라 121을 계산하면 유전학이 제 역할을 하고 결과는 1953개 미만의 패스에서 얻을 수 있습니다(희망합니다).

그러나 전체 검색으로 최적화를 수행하면 물론 추가 패스가 필요하지 않습니다. 최적화 유형을 지정하는 추가 매개변수를 Expert Advisor에 입력할 수 있습니다. 완전한 열거가 있으면 추가 패스가 제거되고 유전 적이라면 아니오입니다. MQL에 최적화 유형을 찾는 기본 기능이 없는 것이 유감입니다. 이러한 기능을 추가해 달라고 개발자에게 요청해야 합니다.