표시기에서 이력 데이터에 처음 액세스할 때 로컬 데이터가 충분하지 않으면 데이터 로드가 시작되고 함수는 오류를 반환합니다.
이것은 나는 완벽하게 이해합니다. 기록에 막대가 없는 경우 두 함수 모두 0을 반환합니다. 그렇지 않으면 하나는 0을 반환하고 두 번째는 기록 의 막대 수를 올바르게 반환합니다 . 그들이 차례로 불리는 이유는 다음과 같습니다.
Loader(): symbol( Symbol ()), timeframe( Period ())
{
Print ( __FUNCTION__ + " symbol: " + symbol + " timeframe: " + EnumToString (timeframe));
ResetLastError ();
Print ( __FUNCTION__ + " bars: " + ( string ) iBars (symbol, timeframe) ); // Данный вызов iBars() даёт 0 при перезапуске терминалаPrint ( __FUNCTION__ + " Error: " + ( string ) GetLastError ());
Print ( __FUNCTION__ + " bars (2): " + ( string ) iBars ( Symbol (), Period ()) ); // Этот же вызов iBars() работает нормально
}
데이터만 가져옵니다. 첫 번째 경우에는 Loader 클래스의 미리 만들어진 변수 멤버(심볼 및 시간 프레임)(올바르게 초기화됨)에서 가져오고 두 번째 경우에는 Symbol() 및 Period() 함수(정확하게 기호 및 시간 프레임에 작성된 것과 동일한 값). 변수 값은 함수 값과 동일합니다(확인했습니다). 그러나 iBars(symbol, timeframe)가 절대적으로 정확한 기호와 시간 프레임을 엉망으로 만드는 곳은 나에게 명확하지 않습니다. iBars(Symbol(), Period())는 엉망이 되지 않습니다. 그래서 어딘가에 터미널 자체의 작동에 오류가 있거나 소스 코드의 잘못된 컴파일이 있다고 판단했습니다.
Если указаны параметры start_time и stop_time, то функция возвращает количество баров в диапазоне дат. Если эти параметры не указаны, то функция возвращает общее количество баров. Если данные для таймсерии с указанными параметрами при вызове функции Bars() еще не сформированы в терминале, или данные таймсерии в момент вызова функции не...
이것은 나는 완벽하게 이해합니다. 기록에 막대가 없는 경우 두 함수 모두 0을 반환합니다. 그렇지 않으면 하나는 0을 반환하고 두 번째는 기록 의 막대 수를 올바르게 반환합니다 . 그들이 차례로 불리는 이유는 다음과 같습니다.
데이터만 가져옵니다. 첫 번째 경우에는 Loader 클래스의 미리 만들어진 변수 멤버(심볼 및 시간 프레임)(올바르게 초기화됨)에서 가져오고 두 번째 경우에는 Symbol() 및 Period() 함수(정확하게 기호 및 시간 프레임에 작성된 것과 동일한 값). 변수 값은 함수 값과 동일합니다(확인했습니다). 그러나 iBars(symbol, timeframe)가 절대적으로 정확한 기호와 시간 프레임을 엉망으로 만드는 곳은 나에게 명확하지 않습니다. iBars(Symbol(), Period())는 엉망이 되지 않습니다. 그래서 터미널 자체에 어딘가에 오류가 있다고 판단했습니다.
그리고 이제 Igor가 조언한 대로 다음과 같이 기록합니다.
Loader(): symbol( Symbol ()), timeframe( Period ())
{
Print ( __FUNCTION__ + " symbol: " + symbol + " timeframe: " + EnumToString (timeframe));
ResetLastError ();
Print ( __FUNCTION__ + " bars: " + ( string ) iBars ( Symbol (), Period ())); // Данный вызов iBars() даёт 0 при перезапуске терминалаPrint ( __FUNCTION__ + " Error: " + ( string ) GetLastError ());
Print ( __FUNCTION__ + " bars (2): " + ( string ) iBars (symbol, timeframe)); // Этот же вызов iBars() работает нормально
}
Artyom Trishkin : 그리고 이것은 클래스 생성자이며 초기화 전에도 호출된다는 것을 잊지 마십시오.
객체가 자동인 경우입니다. 그리고 (OnInit()에서) new 키워드 로 생성하고 (OnDeinit()에서) delete 키워드로 삭제합니다. 즉, Loader 유형의 개체에 대한 포인터를 사용합니다. 하지만 그런 디테일을 희생해서라도 아실거라 생각합니다... 따라서 OnInit()에서 로더를 생성하고 오류가 있을 수 없습니다.
기능을 바꾸려는 경우 어쨌든 시도했지만 결과는 여전히 동일합니다. 메시지 만 다른 순서로 있습니다. :)
По завершении установки в меню "Пуск" создается группа программ торговой платформы, а на рабочем столе дополнительно помещается ярлык программы. Используйте их для запуска. Нельзя запускать одновременно две копии платформы из одной директории. Чтобы одновременно запустить несколько копий, установите соответствующее количество программ в разные...
MetaQuotes 데모 서버 닫기
MetaQuotes Software Corp.
2009년 3월 4일
2009년 4월 5일에 "demo.metaquotes.net" 서버가 중지됩니다. 그와 동시에 분 히스토리가 있는 히스토리 센터도 계속 운영될 예정이다.
오늘부터 저희 회사는 데모 서버 사용을 거부합니다. 현재 MetaTrader 4 플랫폼 에서 운영하는 회사의 수가 너무 많아 자체 서버를 유지할 필요가 없습니다.
이것은 일종의 고대입니다(다른 서버가 언급됨). 올해에 몇 번, 마지막으로 한 달 전에 MetaQuotes-Demo에 새 데모 계정이 생성되었습니다.
또한 서버가 원격인 경우 계정 개설 마법사에서 서버가 표시되고 ping을 보내는 이유는 무엇입니까? 플러깅은 마지막 단계에서만 발생합니다.
표시기에서 이력 데이터에 처음 액세스할 때 로컬 데이터가 충분하지 않으면 데이터 로드가 시작되고 함수는 오류를 반환합니다.
이것은 나는 완벽하게 이해합니다. 기록에 막대가 없는 경우 두 함수 모두 0을 반환합니다. 그렇지 않으면 하나는 0을 반환하고 두 번째는 기록 의 막대 수를 올바르게 반환합니다 . 그들이 차례로 불리는 이유는 다음과 같습니다.
데이터만 가져옵니다. 첫 번째 경우에는 Loader 클래스의 미리 만들어진 변수 멤버(심볼 및 시간 프레임)(올바르게 초기화됨)에서 가져오고 두 번째 경우에는 Symbol() 및 Period() 함수(정확하게 기호 및 시간 프레임에 작성된 것과 동일한 값). 변수 값은 함수 값과 동일합니다(확인했습니다). 그러나 iBars(symbol, timeframe)가 절대적으로 정확한 기호와 시간 프레임을 엉망으로 만드는 곳은 나에게 명확하지 않습니다. iBars(Symbol(), Period())는 엉망이 되지 않습니다. 그래서 어딘가에 터미널 자체의 작동에 오류가 있거나 소스 코드의 잘못된 컴파일이 있다고 판단했습니다.
이것은 나는 완벽하게 이해합니다. 기록에 막대가 없는 경우 두 함수 모두 0을 반환합니다. 그렇지 않으면 하나는 0을 반환하고 두 번째는 기록 의 막대 수를 올바르게 반환합니다 . 그들이 차례로 불리는 이유는 다음과 같습니다.
데이터만 가져옵니다. 첫 번째 경우에는 Loader 클래스의 미리 만들어진 변수 멤버(심볼 및 시간 프레임)(올바르게 초기화됨)에서 가져오고 두 번째 경우에는 Symbol() 및 Period() 함수(정확하게 기호 및 시간 프레임에 작성된 것과 동일한 값). 변수 값은 함수 값과 동일합니다(확인했습니다). 그러나 iBars(symbol, timeframe)가 절대적으로 정확한 기호와 시간 프레임을 엉망으로 만드는 곳은 나에게 명확하지 않습니다. iBars(Symbol(), Period())는 엉망이 되지 않습니다. 그래서 터미널 자체에 어딘가에 오류가 있다고 판단했습니다.
그리고 이제 Igor가 조언한 대로 다음과 같이 기록합니다.
그리고 이것은 클래스 생성자이며 초기화 전에도 호출된다는 것을 잊지 마십시오.이것은 나는 완벽하게 이해합니다. 기록에 막대가 없는 경우 두 함수 모두 0을 반환합니다. 그렇지 않으면 하나는 0을 반환하고 두 번째는 기록 의 막대 수를 올바르게 반환합니다 . 그들이 차례로 불리는 이유는 다음과 같습니다.
이야기가 나왔나요?
그런 다음 우리는 이 이야기를 클레임 형식으로 발행하고 질문 형식으로 발행하기로 결정했습니다.
오류 4401에 대해 작성하는 데 도움이 되는 것은 무엇입니까?
내가 뭐라고 썼어?
막대가 없는 것과 완성되지 않은 차트의 차이점을 이해하십니까?
표시기 실행으로 터미널을 다시 시작한 후 상황이 발생하고 OnInit() 전에 실행될 MQL 프로그램(클래스 생성자)의 전역 초기화에서 데이터를 요청합니다.
사라짐, 읽는 것보다 빠르게 작성 , 포럼 검색 4401 - 모든 답변
내 몫은 이렇게 계산된다
어드바이저의 시작 부분에 서서 ... 코드의 맨 끝에 넣습니다.
OnTick 함수에서 Lot 변수가 호출되면 EA가 찾아서 다시 계산합니다.
그건 불가능합니다. 당신은 선언하고 초기화하는 중이며 표현식이 Lot 변수에 할당됩니다.
이러한 할당은 시작 시 한 번만 수행할 수 있으며, Lot 에 액세스할 때마다 표현식이 자동으로 할당될 수는 없습니다. 나는 mql이 이것을 할 수 있다는 말을 듣지 못했습니다.
그건 불가능합니다. 당신은 선언하고 초기화하는 중이며 표현식이 Lot 변수에 할당됩니다.
이러한 할당은 시작 시 한 번만 수행할 수 있으며, Lot 에 액세스할 때마다 표현식이 자동으로 할당될 수는 없습니다. 나는 mql이 이것을 할 수 있다는 말을 듣지 못했습니다.
확인해보니 잔고가 바뀌면 로트도 바뀝니다
와우, 확인하겠습니다. 배열 요소 로 변수를 함수로 초기화할 수 있다는 건 알지만 자동으로 바뀌는 줄은 몰랐는데 C++에도 그런 게 없는 것 같으니 나중에 확인해 보겠습니다.
그리고 이것은 클래스 생성자이며 초기화 전에도 호출된다는 것을 잊지 마십시오.
객체가 자동인 경우입니다. 그리고 (OnInit()에서) new 키워드 로 생성하고 (OnDeinit()에서) delete 키워드로 삭제합니다. 즉, Loader 유형의 개체에 대한 포인터를 사용합니다. 하지만 그런 디테일을 희생해서라도 아실거라 생각합니다... 따라서 OnInit()에서 로더를 생성하고 오류가 있을 수 없습니다.
기능을 바꾸려는 경우 어쨌든 시도했지만 결과는 여전히 동일합니다. 메시지 만 다른 순서로 있습니다. :)
결과:
2020.06.24 23:10:48.568 로더::로더 기호: EURUSD 기간: PERIOD_H1
2020.06.24 23:10:48.568 로더::로더 바(2): 140435
2020.06.24 23:10:48.568 로더::로더 바: 0
2020.06.24 23:10:48.568 로더::로더 오류: 4401
이야기가 나왔나요?
그런 다음 우리는 이 이야기를 클레임 형식으로 발행하기로 결정했습니다.
불만 없음! 그리고 내가 소스 코드를 제공하고 작업을 테스트하기 위해 일련의 작업을 그린 경우 허구는 무엇입니까? 분명히 당신은 나를 오해했습니다 ...
또한 OnInit() 전에 실행될 MQL 프로그램(클래스 생성자)의 전역 초기화에서 데이터를 요청합니다.
사라짐, 읽는 것보다 빠르게 작성 , 포럼 검색 4401 - 모든 답변
이전 포스트에서 쓴 OnInit() 이전에 실행하면 안됩니다. 당신은 내가 테스트를 위해 추가한 게시물과 소스 코드를 모두 부주의하게 읽고 있습니다.
이것은 일종의 고대입니다(다른 서버가 언급됨). 올해에 몇 번, 마지막으로 한 달 전에 MetaQuotes-Demo에 새 데모 계정이 생성되었습니다.
또한 서버가 원격인 경우 계정 개설 마법사에서 서버가 표시되고 ping을 보내는 이유는 무엇입니까? 플러깅은 마지막 단계에서만 발생합니다.