[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 657

 
IgorM :

ATP 예입니다. MT4 및 MT5에 대해 동일한 유형의 코드 속도를 측정한 사람이 내가 찾던 것입니다.

나는 추가할 것이다. 무엇보다 동종 Expert Advisor의 테스트/최적화 속도의 차이가 흥미롭다.
 
ToLik_SRGV :

유리야 미래를 위해 코드가 반복된다면  적어도 두 번은 메서드에 할당해야 하고 코드를 어지럽히는 배열이 필요하지 않습니다 ...


Anatoly, 대단히 감사합니다. 활이 있는 Skype와 같이 여기에 아이콘을 삽입할 수 없는 것이 유감입니다. 모든 것이 간단하고 우아합니다. 그 중 다른 프로그램과의 통신에서. 분석, 나는 이것이 어떻게 되어야 하는지 이해하지만 mql로 작업하는 연습은 아직 충분하지 않습니다. 방법 선택에 대한 힌트를 주셔서 감사합니다. 이해합니다.

마지막으로 이 고문이 한 바에 여러 주문을 하지 않도록 하는 방법을 알려주실 수 있습니까? 친절한 사람들은 이미 힌트를 주었지만 영혼을 속이지 않았습니다.

 
granit77 :
나는 추가할 것이다. 무엇보다 동종 Expert Advisor의 테스트/최적화 속도의 차이가 흥미롭다.


MT4와 MT5의 최적화는 매우 달라야 합니다. MT5에 이미 불완전한 조건 검사가 있다는 사실 때문에 MT4가 이를 달성하려면 많은 중첩 if 문을 수행해야 합니다. 코드의 가독성을 떨어뜨리고 논리적 오류로 이어집니다.
 
IgorM :


ATP 예입니다. MT4 및 MT5에 대해 동일한 유형의 코드 속도를 측정한 사람이 내가 찾던 것입니다.


2010.06.29 16:29:56 Test_Speed EURUSD,M1: 시간 1641ms MT-4

2010.06.29 16:28:56 Test_Speed (EURUSD,M1) 시간 359ms MT-5

보시다시피 이 코드를 번역할 필요가 없습니다. 모든 것이 5와 4에 모두 적합합니다.

 int start_= GetTickCount ();
 int d= 0 ;
 for ( int i= 0 ;i< 100000000 ;i++)d+= 11 ;
 Print ( "время " , GetTickCount ()-start_, " мсек" );

그리고 이것은 기본적인 추가 사항입니다. 개발자가 복잡한 기능의 속도를 높이기 위해 수행한 작업을 상상해 보십시오.

 
Urain :

그리고 이것은 기본적인 추가 사항입니다. 개발자가 복잡한 기능의 속도를 높이기 위해 수행한 작업을 상상해 보십시오.


MT4에서 EA 코드의 처리가 Java와 매우 유사하기를 바랍니다. 내장 기능은 매우 빠르지만 사용자 정의 기능은 그리 빠르지 않습니다. 심지어 기본 작업도 마찬가지입니다.

최적화 측면에서 조건의 전체 확인은 너무 혼란 스럽습니다. 나는 20 년 동안 이것에 대해 들어 본 적이 없습니다. 학교 BASIC :)

 

GoldUSD가 포함된 다중 통화 표시기 를 찾을 수 없습니다. 퍽, 플리즈, 링크.

upg 지수

 
IgorM :


질문에 대해 더 구체적으로

주문할 때 현재 가격에 관심이 있는 경우 주문을 담당하는 코드에 함수 호출을 추가할 수 있습니다. 코드의 어느 곳에서나 볼 수 있는 배열 인덱스 카운터


즉, 최대 및 최소 배열 요소 를 추출할 수 있도록 주문 개시 가격부터 시작하는 모든 가격이 배열에 기록되어야 합니다.

코드로 구현하는 방법을 알려주실 수 있습니까?

 
zelek :


즉, 최대 및 최소 배열 요소를 추출할 수 있도록 주문 개시 가격부터 시작하는 모든 가격을 배열에 기록해야 합니다.

코드로 구현하는 방법을 알려주실 수 있습니까?


작업을 이해할 수 없습니다. 주문을 시작했고 현재 가격 을 데이터 배열에 쓰려고 합니다. 이유는 무엇입니까? 막대가 있습니다. 최소 및 최대 가격을 모두 제공합니다. 가격을 틱 단위로 쓰면 배열에 얼마나 많은 데이터가 있는지 상상조차 할 수 없습니다. 20~80개/분의 틱

또는 주문이 열린 가격이 필요합니까? - 터미널에서 마감된 주문과 열린 주문을 볼 수 있습니다.

 
IgorM :


작업을 이해하지 못했는데 주문을 시작했고 현재 가격을 데이터 배열에 쓰려고 합니다. 이유는 무엇입니까? 막대가 있습니다. 최소 및 최대 가격을 모두 제공합니다. 가격을 틱 단위로 쓰면 배열에 얼마나 많은 데이터가 있는지 상상조차 할 수 없습니다. 20~80개/분의 틱

또는 주문이 열린 가격이 필요합니까? - 터미널에서 마감된 주문과 열린 주문을 볼 수 있습니다.


한 핍에서 가상 후행 정지와 유사한 것을 구현하고 싶습니다.

이를 위해서는 각각의 새로운 틱의 최대값을 알아야 합니다.

 
zelek :


한 핍에서 가상 후행 정지와 유사한 것을 구현하고 싶습니다.

이를 위해서는 각각의 새로운 틱의 최대값을 알아야 합니다.


이 작업을 위해 전체 배열을 작성하고 저장할 필요가 없습니다. 주문 시작부터 최대값과 최소값의 두 자리만 저장하면 됩니다. 그러나 이것을 위해서는 - 사실 - 주문이 열린 첫 번째 분 막대에서만 가격을 제어해야합니다. 앞으로는 일정한 가격 저장 없이 분봉으로 최대값과 최소값이 완전히 결정됩니다.