MG4 스크립트 및 Expert Advisor를 지원하는 테스터 - 페이지 4

 

적어도 벽에 머리를 부딪치거나 따뜻한 물을 발명할 수 있습니다. 하지만 정수 는 절대적으로 옳습니다.

정수 :

정확히. 특히 보스 위치의 권한을 사용합니다.

모든 언어는 특히 사치스러운 몇 가지 예외를 제외하고는 동일합니다. 그들 모두는 21일 동안 어떤 찻주전자로도 연구됩니다. all for, while, if, switch는 다른 쓰기 형식을 가질 수 있지만 근본적으로 달라지는 것은 없습니다. 중요한 것은 연산자의 형태가 아니라 언어가 상호 작용하는 인프라입니다. 그런 점에서 MT4와 MT5는 서로 다른 세계입니다.

차이점은 모든 것입니다. 중요하지 않은 것부터 시작하여 표시기의 막대 번호부터 MT4에서 오른쪽에서 왼쪽으로, MT5에서 왼쪽에서 오른쪽으로. 계속해서 더 중요한 것 - 거래 내역 데이터의 집계 위치 및 구성. 가장 큰 차이점은 가장 자주 요구되는 것입니다. 시세 및 지표 데이터에 액세스하는 방식에서 데이터를 복사하려면 확인이 필요합니다. 왼쪽에서 오른쪽으로 인덱싱한 다음 오른쪽에서 왼쪽으로, 막대 시간이 범위에 있는지 여부입니다. CodeBase에서 iBarShift() 함수의 유사체에 대해 한 번만 논의할 가치가 있는 것은 무엇입니까?

MT4에서는 Expert Advisor의 안정적인 동작을 보장하기 위해 OrderSelect()의 반환 값을 확인하는 것으로 충분했고 MT5는 마지막 틱에서 데이터를 수신하는 경우에도 모든 단계에서 확인을 수행해야 합니다. MT5를 위한 프로그래밍에는 여전히 약간의 미묘함이 있습니다. 많은 갈퀴가 배치되어 있기 때문에 많은 충돌로 스스로를 채워야만 배울 수 있습니다.


 
Renat :

포럼에서 볼 수 없는 것.

글쎄요, 책임은 없습니다. 당신은 무엇이든 뻔뻔스럽게 말할 수 있습니다.

언어는 여전히 다릅니다. 5에 대한 표시기 코드는 항상 4에서 작동하지 않습니다. 기회가 충분하지 않습니다
 
Vinin :
언어는 여전히 다릅니다. 5에 대한 표시기 코드가 항상 4에서 작동하는 것은 아닙니다. 기회가 충분하지 않습니다
4에 대한 표시기 코드가 여전히 4에서 작동하는 것이 좋습니다. 그리고 기회는 필요하지 않을 것입니다
 
borilunad :
4에 대한 표시기 코드가 여전히 4에서 작동하는 것이 좋습니다. 그리고 기회는 필요하지 않을 것입니다
그들은 일을 합니다. 변경하지 않고 재컴파일하지 않는 경우
 
Vinin :
그들은 일을 합니다. 변경하지 않고 재컴파일하지 않는 경우
나는 "테마"에서 아무 것도 변경하지 않았습니다. 터미널이 670th에서 711th 빌드로 업데이트되었을 때 테스터에서 속도가 느려지기 시작했기 때문에보고했지만 나 자신이 시작했습니다. 일반 MA로 실험하고 경험 부족으로 인해 이전에 할 수 없었던 많은 것을 발견했습니다. 이제 나는 그와 함께 일하고 만족합니다. 그들이 말했듯이 8-ki를 구입한 것에 대해 불만족스러웠지만, Vista에서만 작동할 계획이었습니다. 분명히, 나는 Vista가 지속되는 한 계속해야 할 것이고 아무도 믿지 않고 이미 그것을 구입해야 할 것이고 나는이 8-ku를 비누, 웹 사이트 등에 올릴 것입니다. :)
 
Renat :

MetaTrader 4는 기록 깊이가 제한되어 있고 별도의 시간 프레임이 있으며 Open/High/Low/Close/Time[xxx]을 통해 기호 막대에 직접 액세스할 수 있습니다. 이러한 직접 액세스는 리소스 및 CPU 오버헤드 측면에서 구현하는 데 매우 비용이 많이 듭니다. 다른 Expert Advisors 및 터미널 자체와 충돌하지 않도록 각 Expert Advisor에는 이 데이터의 고유한 로컬 복사본이 있다는 사실을 생각해 보십시오.

그것은 정말로 사용자의 문제가 아니라 당신의 문제입니다. 저것들. 데이터 액세스 터미널의 문제를 사용자에게 던진다고 말할 수 있습니다.

저것들. 코딩 기술의 기준을 높이거나 MT4에서 직접 편리한 액세스보다 훨씬 더 나쁘고 비효율적으로 작동할 수 있는 비뚤어진 코드를 얻으십시오.

그리고 일반적으로 귀하의 결정 중 일부는 매우 논란의 여지가 있습니다.

 
TheXpert :

그것은 정말로 사용자의 문제가 아니라 당신의 문제입니다. 저것들. 데이터 액세스 터미널의 문제를 사용자에게 던진다고 말할 수 있습니다.

저것들. 코딩 기술의 기준을 높이거나 MT4에서 직접 편리한 액세스보다 훨씬 더 나쁘고 비효율적으로 작동할 수 있는 비뚤어진 코드를 얻으십시오.

그리고 일반적으로 귀하의 결정 중 일부는 매우 논란의 여지가 있습니다.


전체 텍스트를 읽으십시오. 더 이상 사용할 수 없는 이유에 대한 직접적인 정당성이 있습니다.

사용자가 나중에 브레이크나 과도한 리소스 소비로 인해 우리를 썩지 않도록 요청한 데이터에 대해 보다 효과적인 제어를 제공했습니다.

간단한 예: 10년의 역사를 가진 Eurodollar M1의 전문가, 현재 차트는 약 200MB를 차지합니다. MT4 모델에서는 각 틱마다 200MB를 전문가의 섀도우 스냅샷으로 복제해야 하고 200MB의 메모리가 손실됩니다. MT5에서는 이러한 캐시에 대한 메모리 소비가 전혀 없으며 Expert Advisor는 대부분의 경우 기록의 작은 부분만 요청하여 로컬 어레이에 저장하고 최대 속도로 작업합니다.

 
Renat :

사용자가 나중에 브레이크나 과도한 리소스 소비로 인해 우리를 썩지 않도록 요청한 데이터에 대해 보다 효과적인 제어를 제공했습니다.

나는 전체 텍스트를 읽었습니다. 불가능하지 않습니다. 차트에 대한 기간을 수집하고 Expert Advisor를 위해 수집할 수도 있으며 매우 효과적으로 수행할 수 있습니다.

사용자가 브레이크 때문에 당신을 망칠 것이라고 생각하는 이유는 무엇입니까?

MT4 모델에서는 각 틱마다 200MB를 전문가의 섀도우 스냅샷으로 복제해야 하고 200MB의 메모리가 손실됩니다. MT5에서는 이러한 캐시에 대한 메모리 소비가 전혀 없으며 Expert Advisor는 대부분의 경우 기록의 작은 부분만 요청하여 로컬 어레이에 저장하고 최대 속도로 작업합니다.

스마트 캐시를 만들고(경험이 있음) 나머지는 메모리에 보관하지 마십시오.
 

내부 효율적인 에코시스템과 가상 머신 으로 터미널 엔진을 작성한 다음 이야기하겠습니다. 우리는 아키텍처를 계속해서 개선하면서 마지막 4개의 플랫폼을 작성했습니다. 따라서 우리의 결정은 실제 경험을 기반으로 합니다.

그렇지 않으면 "스마트 캐시를 만드십시오. 부패가 퍼지지 않을 것입니다."라는 조언에 대답하는 것은 불가능합니다.

 
Integer :

정확히. 특히 보스 위치의 권한을 사용합니다.

모든 언어는 특히 사치스러운 몇 가지 예외를 제외하고는 동일합니다. 모든 찻주전자로 21일 동안 연구합니다. all for, while, if, switch는 다른 쓰기 형식을 가질 수 있지만 근본적으로 달라지는 것은 없습니다. 중요한 것은 연산자의 형태가 아니라 언어가 상호 작용하는 인프라입니다. 그런 점에서 MT4와 MT5는 서로 다른 세계입니다.

차이점은 모든 것입니다. 중요하지 않은 것부터 시작하여 표시기의 막대 번호부터 MT4에서 오른쪽에서 왼쪽으로, MT5에서 왼쪽에서 오른쪽으로.

...

MT5의 번호 매기기는 기본적으로만 MT4와 반대입니다. 사실, 배열은 어떤 방향으로든 확장될 수 있습니다. 문서 참조: 배열, 버퍼 및 시계열의 인덱싱 방향.

정수 :

...

계속해서 더 중요한 것 - 거래 내역 데이터의 집계 위치 및 구성.

...

MT4에서 바로 MT4에서는 OrderCloseBy()를 통해 서버에 추가 주문을 보내서 악기의 반대 포지션을 청산해야 했기 때문에 여러 가지 이유로 항상 작동하지 않았기 때문에 많은 문제가 있었습니다. 따라서 주문을 다시 확인하고 발송해야 했고, 그렇지 않으면 TS의 전체 논리를 위반하게 됩니다.

MT5에서는 누적된 자세로 인해 모든 것이 허용 가능한 수준으로 단순화되었습니다. 예를 들어, 이제 손익분기점 수준에 대해 생각할 필요조차 없습니다. 그런 어리석은 질문은 MT4에서만 관련이 있습니다. 결국, 총 포지션을 여는 가격은 손익분기점 수준입니다. 다가오는 포즈의 겹침으로 모든 것이 단순화되었습니다. 추가 주문을 보내지 않고 자동으로 서버에 겹칩니다.

저것들. 누적된 포즈로 인해 코드의 양은 필요하고 충분한 수준으로 줄어들었고 중복 주문과 이에 필요한 검사도 줄어들었습니다.

정수 :

MT4에서는 Expert Advisor의 안정적인 동작을 보장하기 위해 OrderSelect()의 반환 값을 확인하는 것으로 충분했고 MT5는 마지막 틱에서 데이터를 수신하는 경우에도 모든 단계에서 확인을 수행해야 합니다. MT5를 위한 프로그래밍에는 여전히 약간의 미묘함이 있습니다. 많은 갈퀴가 배치되어 있기 때문에 많은 충돌로 스스로를 채워야만 배울 수 있습니다.

아무도 MT5에서 추가 검사를 사용하도록 강요하지 않지만 MT4에서와 같이 기회를 희망하고 서버에서 잘못 로드되었거나 전혀 로드되지 않았지만 방금 초기화된 검사 없이 모든 쓰레기를 처리하려고 시도할 수 있습니다. . 이 경우 성능은 MT4에도 해당합니다. 테스터에서만 모든 것이 훌륭할 것이며 데모와 실제에서는 말도 안되는 소리가 시작될 것입니다.

저것들. MT5에서 추가 확인 횟수가 증가하는 것은 정확히 수신된 정보의 품질을 확인할 수 있도록 하기 위한 것입니다. MT4에서는 그러한 확인이 완전히 부재하므로 일부 중요한 경우에는 결정을 내리기 위해 처리되어야 하는 터미널에서 수신한 정보가 얼마나 신뢰할 수 있는지 확인하는 것이 불가능합니다. 터미널이 서버에서 필요한 모든 것을 올바르게 다운로드하기를 바랄 뿐이지만 이를 확인할 방법은 없습니다. 정확성을 확인할 것이 없습니다.


일반적으로 MT5에 대한 습격은 새 단말기로 바꾸고 싶지 않은 사람들을 위한 썩은 변명일 뿐이거나, MT5에 대한 울림만 들었을 뿐 어디에 있는지 모르는 사람들의 발명품에 불과합니다.

MT4는 아름다운 균형 곡선을 그리기 위해 테스터에서 "거래"에 다소 적합한 가장 원시적인 알고리즘을 만들기 위한 어제의 터미널입니다. 더 이상 크리불키에 관심이 없으신 분들은 주머니에 넣을 수도 없고 빵에 발라먹을 수도 없고 촌지에서만 자랑할 수 있으니 MT5로 갈아타야 합니다.