4년 만에 한 어드바이저에게 돌아왔습니다(2013년에 샀는데 잊어버렸습니다). 다시 시도하기로 결정했습니다. 그러나 이제 시스템은 코드 라인 중 하나에서 오류를 제공합니다. 분명히 이전에 확실히 작동했기 때문에 Metatrader에서 지난 4년 동안 무언가가 변경되었습니다. 나 자신은 프로그래밍에서 "제로"이므로 Advisor를 구입한 것입니다.))) 무엇이 실수일 수 있는지 말해 주십시오.
문제에 대한 더 자세한 설명을 제공하는 것이 좋습니다. 그러면 답변이 더 구체적일 것입니다.
클래스에는 1) 계정의 모든 주문 및 위치에 대한 데이터와 2) m_symbol 및 m_magic에 의해 필터와 일치하는 항목만 수집하는 주기가 있습니다.
결과적으로 주기가 끝나면 1) 전체 계정에 대한 데이터와 2) 어드바이저에 속한 주문 및 위치에 대한 데이터만 있습니다.
그러나 EA가 여러 기호나 마법을 사용하는 경우 각 기호/마법에 대한 통계를 수집하려면 클래스의 인스턴스를 만들어야 합니다. 여기서 질문이 발생합니다. 클래스의 맨 처음 인스턴스에서 이미 수집된 이러한 새 인스턴스에서 통계(1)를 수집하는 이유는 무엇입니까?
따라서 문제는 - 클래스 내부에서 해당 인스턴스가 유일한 인스턴스인지 확인하는 방법 이었습니다. 이는 통계 1을 수집해야 함을 의미하거나 인스턴스가 유일한 인스턴스가 아닌 경우 통계 1을 수집하지 않고 발행해야 함을 의미합니다. 첫 번째 인스턴스에서 (여기서 클래스 내부에 있는 방법이 명확하지 않습니다. 유일한 경우가 아닌 경우 통계 1을 발행하기 위해 클래스의 맨 처음 인스턴스로 요청을 리디렉션합니다.)
클래스에는 1) 계정의 모든 주문 및 위치에 대한 데이터와 2) m_symbol 및 m_magic에 의해 필터와 일치하는 항목만 수집하는 주기가 있습니다.
결과적으로 주기가 끝나면 1) 전체 계정에 대한 데이터와 2) 어드바이저에 속한 주문 및 위치에 대한 데이터만 있습니다.
그러나 EA가 여러 기호나 마법을 사용하는 경우 각 기호/마법에 대한 통계를 수집하려면 클래스의 인스턴스를 만들어야 합니다. 여기서 질문이 발생합니다. 클래스의 맨 처음 인스턴스에서 이미 수집된 이러한 새 인스턴스에서 통계(1)를 수집하는 이유는 무엇입니까?
따라서 문제는 - 클래스 내부에서 해당 인스턴스가 유일한 인스턴스인지 확인하는 방법 이었습니다. 이는 통계 1을 수집해야 함을 의미하거나 인스턴스가 유일한 인스턴스가 아닌 경우 통계 1을 수집하지 않고 발행해야 함을 의미합니다. 첫 번째 인스턴스에서 (여기서 클래스 내부에 있는 방법이 명확하지 않습니다. 유일한 경우가 아닌 경우 통계 1을 발행하기 위해 클래스의 맨 처음 인스턴스로 요청을 리디렉션합니다.)
1) 같은 클래스 내의 모든 마법/도구에 대한 통계를 수집합니다. 초기화하는 동안 마술사 목록을 지정하고 배열에 넣습니다.
2) 이미 조언한 대로 1번 통계의 결과를 정적으로 만들고 사용 가능한 경우 재계산을 시작하지 마십시오.
클래스에는 1) 계정의 모든 주문 및 위치에 대한 데이터와 2) m_symbol 및 m_magic에 의해 필터와 일치하는 항목만 수집하는 주기가 있습니다.
결과적으로 주기가 끝나면 1) 전체 계정에 대한 데이터와 2) 어드바이저에 속한 주문 및 위치에 대한 데이터만 있습니다.
그러나 EA가 여러 기호나 마법을 사용하는 경우 각 기호/마법에 대한 통계를 수집하려면 클래스의 인스턴스를 만들어야 합니다. 여기서 질문이 발생합니다. 클래스의 맨 처음 인스턴스에서 이미 수집된 이러한 새 인스턴스에서 통계(1)를 수집하는 이유는 무엇입니까?
따라서 문제는 - 클래스 내부에서 해당 인스턴스가 유일한 인스턴스인지 확인하는 방법 이었습니다. 이는 통계 1을 수집해야 함을 의미하거나 인스턴스가 유일한 인스턴스가 아닌 경우 통계 1을 수집하지 않고 발행해야 함을 의미합니다. 첫 번째 인스턴스에서 (여기서 클래스 내부에 있는 방법이 명확하지 않습니다. 유일한 경우가 아닌 경우 통계 1을 발행하기 위해 클래스의 맨 처음 인스턴스로 요청을 리디렉션합니다.)
영어가 문제가 되지 않는다면 제 블로그에 거래정보 하이퍼큐브 분석 예시를 올렸습니다. 히스토리를 한 번 살펴보고 필요한(다른) 섹션의 하이퍼큐브에서 정보를 요청합니다. 물론 magick 및 symbol 모두에 대한 선택기가 있습니다.
여러 인스턴스가 있는 경우 동일한 클래스의 다른 인스턴스에서 동일한 계산을 복제하는 이유는 무엇입니까?
그리고 계산이 하나라면 왜 이러한 다른 인스턴스를 수행합니까?
Andrey, 좀 더 자세히 말씀해 주시겠습니까? 이해가 잘 안됩니다.
문제에 대한 더 자세한 설명을 제공하는 것이 좋습니다. 그러면 답변이 더 구체적일 것입니다.
계산이 고유하지 않습니다. 클래스의 단일 인스턴스가 있는 경우 계산은 동일해야 합니다. 여러 인스턴스가 있는 경우 동일한 클래스의 다른 인스턴스에서 동일한 계산을 복제하는 이유는 무엇입니까? 리소스를 차지합니다.
동시에 부모 클래스에서 이러한 동일한 데이터를 계산하기 위해 또 다른 긴 주기를 수행하는 것도 최적이 아니며(이미 두 번의 긴 주기) 하위 클래스는 더 이상 자급자족하지 않습니다.
안녕하세요!
4년 만에 한 어드바이저에게 돌아왔습니다(2013년에 샀는데 잊어버렸습니다). 다시 시도하기로 결정했습니다. 그러나 이제 시스템은 코드 라인 중 하나에서 오류를 제공합니다. 분명히 이전에 확실히 작동했기 때문에 Metatrader에서 지난 4년 동안 무언가가 변경되었습니다. 나 자신은 프로그래밍에서 "제로"이므로 Advisor를 구입한 것입니다.))) 무엇이 실수일 수 있는지 말해 주십시오.
다음은 코드의 일부입니다.
extern int Bperiod = 20; // 메인 인디케이터 라인의 평균 주기.
extern int B편차 = 2; // 메인 라인과의 편차.
외부 정수 Bshift = 0; // 가격 차트를 기준으로 한 표시기 이동 .
extern int Baprice = 0; // 닫기=0, 열기=1, 높음=2, 낮음=3, 중앙값=4, 일반=5, 가중치=6 .
외부 문자열 _6 = "========";
extern 부울 UseAutoDig = true; // If=true->포인트의 외부 변수에 10을 곱합니다.
extern bool UseECN\NDD = true; // If=true->중지 없이 주문이 접수되면 수정됩니다.
명령의 마지막 줄에 오류가 발생합니다.
UseECN\NDD 이 명령은 EA에서 여러 번 반복되며 각 행에서 오류가 발생합니다.
오류 예
'\' - 잘못된 이스케이프 시퀀스 e_plat2.mq4 49 22
'UseECN' - 선언되지 않은 식별자 e_plat2.mq4 144 6
'NDD' - 선언되지 않은 식별자 e_plat2.mq4 144 열셋
'4206' - 이미 사용된 케이스 값 e_plat2.mq4 643 여덟
어렵지 않다면 이유가 무엇인지 말씀해 주십시오.
UseECN\NDD 이 명령은 EA에서 여러 번 반복되며 각 행에서 오류가 발생합니다.
코드 전체에서 "UseECN\NDD"를 "UseECN_NDD"로 바꿉니다(Ctrl+H).
코드 전체에서 "UseECN\NDD"를 "UseECN_NDD"로 바꿉니다(Ctrl+H).
정말 감사합니다! 정리가 된 것 같습니다!
테스트할게...
그리고 계산이 하나라면 왜 이러한 다른 인스턴스를 수행합니까?
문제에 대한 더 자세한 설명을 제공하는 것이 좋습니다. 그러면 답변이 더 구체적일 것입니다.
클래스에는 1) 계정의 모든 주문 및 위치에 대한 데이터와 2) m_symbol 및 m_magic에 의해 필터와 일치하는 항목만 수집하는 주기가 있습니다.
결과적으로 주기가 끝나면 1) 전체 계정에 대한 데이터와 2) 어드바이저에 속한 주문 및 위치에 대한 데이터만 있습니다.
그러나 EA가 여러 기호나 마법을 사용하는 경우 각 기호/마법에 대한 통계를 수집하려면 클래스의 인스턴스를 만들어야 합니다. 여기서 질문이 발생합니다. 클래스의 맨 처음 인스턴스에서 이미 수집된 이러한 새 인스턴스에서 통계(1)를 수집하는 이유는 무엇입니까?
따라서 문제는 - 클래스 내부에서 해당 인스턴스가 유일한 인스턴스인지 확인하는 방법 이었습니다. 이는 통계 1을 수집해야 함을 의미하거나 인스턴스가 유일한 인스턴스가 아닌 경우 통계 1을 수집하지 않고 발행해야 함을 의미합니다. 첫 번째 인스턴스에서 (여기서 클래스 내부에 있는 방법이 명확하지 않습니다. 유일한 경우가 아닌 경우 통계 1을 발행하기 위해 클래스의 맨 처음 인스턴스로 요청을 리디렉션합니다.)
클래스에는 1) 계정의 모든 주문 및 위치에 대한 데이터와 2) m_symbol 및 m_magic에 의해 필터와 일치하는 항목만 수집하는 주기가 있습니다.
결과적으로 주기가 끝나면 1) 전체 계정에 대한 데이터와 2) 어드바이저에 속한 주문 및 위치에 대한 데이터만 있습니다.
그러나 EA가 여러 기호나 마법을 사용하는 경우 각 기호/마법에 대한 통계를 수집하려면 클래스의 인스턴스를 만들어야 합니다. 여기서 질문이 발생합니다. 클래스의 맨 처음 인스턴스에서 이미 수집된 이러한 새 인스턴스에서 통계(1)를 수집하는 이유는 무엇입니까?
따라서 문제는 - 클래스 내부에서 해당 인스턴스가 유일한 인스턴스인지 확인하는 방법 이었습니다. 이는 통계 1을 수집해야 함을 의미하거나 인스턴스가 유일한 인스턴스가 아닌 경우 통계 1을 수집하지 않고 발행해야 함을 의미합니다. 첫 번째 인스턴스에서 (여기서 클래스 내부에 있는 방법이 명확하지 않습니다. 유일한 경우가 아닌 경우 통계 1을 발행하기 위해 클래스의 맨 처음 인스턴스로 요청을 리디렉션합니다.)
1) 같은 클래스 내의 모든 마법/도구에 대한 통계를 수집합니다. 초기화하는 동안 마술사 목록을 지정하고 배열에 넣습니다.
2) 이미 조언한 대로 1번 통계의 결과를 정적으로 만들고 사용 가능한 경우 재계산을 시작하지 마십시오.
클래스에는 1) 계정의 모든 주문 및 위치에 대한 데이터와 2) m_symbol 및 m_magic에 의해 필터와 일치하는 항목만 수집하는 주기가 있습니다.
결과적으로 주기가 끝나면 1) 전체 계정에 대한 데이터와 2) 어드바이저에 속한 주문 및 위치에 대한 데이터만 있습니다.
그러나 EA가 여러 기호나 마법을 사용하는 경우 각 기호/마법에 대한 통계를 수집하려면 클래스의 인스턴스를 만들어야 합니다. 여기서 질문이 발생합니다. 클래스의 맨 처음 인스턴스에서 이미 수집된 이러한 새 인스턴스에서 통계(1)를 수집하는 이유는 무엇입니까?
따라서 문제는 - 클래스 내부에서 해당 인스턴스가 유일한 인스턴스인지 확인하는 방법 이었습니다. 이는 통계 1을 수집해야 함을 의미하거나 인스턴스가 유일한 인스턴스가 아닌 경우 통계 1을 수집하지 않고 발행해야 함을 의미합니다. 첫 번째 인스턴스에서 (여기서 클래스 내부에 있는 방법이 명확하지 않습니다. 유일한 경우가 아닌 경우 통계 1을 발행하기 위해 클래스의 맨 처음 인스턴스로 요청을 리디렉션합니다.)
따라서 문제는 - 해당 인스턴스가 고유한 클래스 내부를 찾는 방법 , 즉 통계 1을 수집해야 함을 의미합니다. 또는 인스턴스가 유일한 인스턴스가 아닌 경우 통계 1을 수집하지 않고 다음에서 발행합니다. 아주 첫 번째 사례
당신은 이미 답변을 받았습니다:
모든 고유한 계산을 별도의 클래스에 넣고 싱글톤으로 만드는 것이 훨씬 좋습니다.
개발자 여러분, 8.6e + 18 보다 큰 옵션 수를 최적화할 때 일반적인 OnTesterPass 이벤트 가 새로운 세대가 생성될 때만 호출되는 이유를 설명해 주십시오.
그리고 도움말의 설명에 이 기능에 대한 단어가 한 단어도 없는 이유는 무엇입니까?
왜 내가 답을 찾기 위해 Expert Advisor의 바닥을 삽질해야 합니까? 왜 이 기능은 한 Expert Advisor에서 해야 하는 대로 작동하는 반면 , 최적화 결과 는 새로운 세대에서만 다른 파일에 기록합니까?
이 제한을 해결하는 방법은 무엇입니까?