ArrayCopyRates() также изменила свое поведение, раньше она производила виртуальное копирование в массив double[][6], теперь же производится виртуальное копирование в массив MqlRates[]. Для совместимости осталось копирование в массив double[][6], но это копирование не виртуальное, а реальное.
ArrayCopyRates()도 double[][6] 배열에 대한 가상 복사를 수행하기 전에 동작을 변경했지만 이제는 MqlRates[] 배열에 대한 가상 복사를 수행합니다. 호환성을 위해 double[][6] 배열로 복사하는 것은 유지되지만 이 복사는 가상이 아니라 실제입니다.
오랫동안 고객에게 인계된 DLL을 사용하는 Expert Advisors가 상당히 많습니다. 이 경우 DLL에 매개변수를 전달 하기 위해 double[][6] 배열을 사용했으며ArrayCopyRates() 함수로 초기화할 때 시계열이 가상으로 복사되었습니다. 그런 다음 DLL에서 함수를 호출할 때 이러한 배열과 현재 크기가 참조에 의해 매개변수로 전달되었습니다.
고객이 터미널을 새 버전으로 업데이트하면 이러한 모든 Expert Advisors의 작동이 중지됩니다. 불행하다.
DLL 코드를 변경하지 않고 계속 작동하도록 하려면 이제 DLL에서 각 함수를 호출하기 전에 ArrayCopyRates()를 호출해야 한다는 것을 올바르게 이해하고 있습니까?
오랫동안 고객에게 인계된 DLL을 사용하는 Expert Advisors가 상당히 많습니다. 이 경우 DLL에 매개변수를 전달하기 위해 double[][6] 배열을 사용했으며ArrayCopyRates() 함수로 초기화할 때 시계열이 가상으로 복사되었습니다. 그런 다음 DLL에서 함수를 호출할 때 이러한 배열과 현재 크기가 참조에 의해 매개변수로 전달되었습니다.
고객이 터미널을 새 버전으로 업데이트하면 이러한 모든 Expert Advisors의 작동이 중지됩니다. 불행하다.
DLL 코드를 변경하지 않고 계속 작동하도록 하려면 이제 DLL에서 각 함수를 호출하기 전에 ArrayCopyRates()를 호출해야 한다는 것을 올바르게 이해하고 있습니까?
여기서는 좀 더 복잡합니다. dll이 취하는 구조도 변경되었습니다.
즉, ArrayCopyRates를 MqlRates 구조의 배열로 다시 작성해야 합니다. 또한 dll에서 해당 구조에 대한 설명을 바꿔야 합니다.
동료! 컴파일할 때 경고가 발생합니다.
초기화되지 않은 변수 'PipStep' 사용 가능
이 작품을 위해:
모든 변수는 이중으로 초기화되는데 그가 싫어하는 것은?
double 유형의 변수를 선언했습니다. 초기화는 선언된 변수에 값을 할당하는 것입니다.
이중 핍스텝=0; 하다
이해가 되지 않습니다. 555 빌드에 있는 표시기의 데모 버전은 제가 테스트하지 않았을 뿐입니까, 아니면 시장 데뷔에 있어 완전히 중요하지 않은 문제입니까?
그리고 5-ke에서 그들은 테스트를 받습니까?
ArrayCopyRates() также изменила свое поведение, раньше она производила виртуальное копирование в массив double[][6], теперь же производится виртуальное копирование в массив MqlRates[]. Для совместимости осталось копирование в массив double[][6], но это копирование не виртуальное, а реальное.
https://www.mql5.com/ru/forum/148325
가격, 거래량 및 스프레드에 대한 정보를 저장하는 구조입니다.
https://www.mql5.com/ru/docs/constants/structures/mqlrates
그렇다면 MetaTrader 4의 MqlRates는 배열 또는 구조를 빌드 555합니까?
도움말(MetaTrader 4 빌드 555)의 이 예제는 작동하지 않습니다. 기능 없음 카피율
그리고 5-ke에서 그들은 테스트를 받습니까?
5-ke의 누군가가 테스트되지 않았습니까?
double 유형의 변수를 선언했습니다. 초기화는 선언된 변수에 값을 할당하는 것입니다.
이중 핍스텝=0; 하다
효과가 있었다!!
살고 배우십시오!
매우 감사합니다!
그렇다면 MetaTrader 4의 MqlRates는 배열 또는 구조를 빌드 555합니까?
도움말(MetaTrader 4 빌드 555)의 이 예제는 작동하지 않습니다. 기능 없음 카피율
그것도 작동하지 않습니다. MqlRates를 사용하여 MetaTrader 4 빌드 555에서 작업 예제를 볼 수 있습니까?MqlRates - 구조
MqlRates[] - 구조 배열
MqlRates 구조 작업의 예는 period_converter_new 스크립트를 참조하십시오.
ArrayCopyRates 작동 방식의 예(문서가 보완될 예정)
MQL4 언어의 변경 사항
오랫동안 고객에게 인계된 DLL을 사용하는 Expert Advisors가 상당히 많습니다. 이 경우 DLL에 매개변수를 전달 하기 위해 double[][6] 배열을 사용했으며 ArrayCopyRates() 함수로 초기화할 때 시계열이 가상으로 복사되었습니다. 그런 다음 DLL에서 함수를 호출할 때 이러한 배열과 현재 크기가 참조에 의해 매개변수로 전달되었습니다.
고객이 터미널을 새 버전으로 업데이트하면 이러한 모든 Expert Advisors의 작동이 중지됩니다. 불행하다.
DLL 코드를 변경하지 않고 계속 작동하도록 하려면 이제 DLL에서 각 함수를 호출하기 전에 ArrayCopyRates()를 호출해야 한다는 것을 올바르게 이해하고 있습니까?
오랫동안 고객에게 인계된 DLL을 사용하는 Expert Advisors가 상당히 많습니다. 이 경우 DLL에 매개변수를 전달하기 위해 double[][6] 배열을 사용했으며 ArrayCopyRates() 함수로 초기화할 때 시계열이 가상으로 복사되었습니다. 그런 다음 DLL에서 함수를 호출할 때 이러한 배열과 현재 크기가 참조에 의해 매개변수로 전달되었습니다.
고객이 터미널을 새 버전으로 업데이트하면 이러한 모든 Expert Advisors의 작동이 중지됩니다. 불행하다.
DLL 코드를 변경하지 않고 계속 작동하도록 하려면 이제 DLL에서 각 함수를 호출하기 전에 ArrayCopyRates()를 호출해야 한다는 것을 올바르게 이해하고 있습니까?
여기서는 좀 더 복잡합니다. dll이 취하는 구조도 변경되었습니다.
즉, ArrayCopyRates를 MqlRates 구조의 배열로 다시 작성해야 합니다. 또한 dll에서 해당 구조에 대한 설명을 바꿔야 합니다.