[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 5. - 페이지 236

 
solnce600 :
이진 검색이 무엇을 의미하는지 잘 모르겠습니다. 2차원 배열에서 검색합니까? 하지만 하나가 있습니다.

배열을 정렬하고, 아직 수행하지 않았다면 init()에서 올바른 준비를 제어하려면 처음 20-50개 요소를 제외한 모든 내용을 인쇄하십시오.

PS 바이너리와 2차원의 정체가 보이시나요??? 터미널은 "바이너리" 코드에서 숫자를 보고 ArrayBsearch() 함수의 올바른 작동을 위해 배열의 예비 정렬이 필요합니다.

 
TarasBY :

거기에 뭔가 봤어???

ArrayBsearch() EVERYWHERE 함수가 0(요소의 인덱스로)을 반환하는 것을 봅니다. 숫자 1.0408은 배열의 0번째 셀에 있습니다. 코드로 돌아가 보겠습니다.

이제 얻은 변수 값을 이 조건으로 대체합니다(그림에서 Bid는 0.8-0.9 이내, 이 범위의 최대값은 0.9): if (0.9000 - 1.0408 <= 0) OrderSend(). 조건이 제대로 충족되었습니다!!! 어레이를 채우는 동안 오류를 찾으십시오. 아마도 당신은 ArrayBsearch() 함수의 이 지점에 주의를 기울이지 않았을 것입니다:

참고 : 이진 검색은 정렬된 배열만 처리합니다. ArraySort() 함수는 숫자 배열을 정렬하는 데 사용됩니다.

PS Print는 그림으로 제공하는 것이 아니라 터미널 창에서 바로 이 인쇄(10-20줄이면 충분)의 여러 줄(SHIFT 사용 - 수행 방법을 모르는 경우)을 동시에 선택하여 제공하는 것이 바람직합니다. 선택 항목을 복사하고 SRC 버튼을 사용하여 코드로 게시물에 붙여넣습니다.

문제가 ArrayBsearch() 함수에 있다는 것을 깨달았습니다.

그러나 나는 여전히 이 함수가 값 가장 가까운 값을 가진 배열의 단일 N 요소를 즉시 반환하지 않아야 하는 이유를 이해하지 못합니다.

왜 massiv[S-1] 및 massiv[S+1]이 계산에 관련되어 있습니까?

 
solnce600 :

문제가 ArrayBsearch() 함수에 있다는 것을 깨달았습니다.

그러나 나는 여전히 이 함수가 값 가장 가까운 값을 가진 배열의 단일 N 요소를 즉시 반환하지 않아야 하는 이유를 이해하지 못합니다.

왜 massiv[S-1] 및 massiv[S+1]이 계산에 관련되어 있습니까?

문제는 ArrayBsearch() 함수 에 있는 것이 아니라 이 함수에 전달된 배열을 준비하는 데 있습니다!!!

그리고 그것은 단지 "환상의 비행"이었습니다 ... 당신의 상상력 ...

ArrayBsearch() 함수는 ONLY 값을 반환하고 코드가 비뚤어진 이유를 찾기 위해 다음 값을 인쇄했습니다. (순서대로) 인덱스 S가 있는 배열 셀의 값(ArrayBsearch( ) 함수), 인덱스 S-1을 가진 주어진 배열(masssive[])에서 왼쪽에 가장 가까운 값, 인덱스 S+1을 가진 오른쪽에 가장 가까운 값, 주문이 열렸을 때의 가격.

1학년이 되어서 졸업생들의 수업을 엿보시다니... 수업으로 돌아가세요!!! - 유추. :))

 
TarasBY :

문제는 ArrayBsearch() 함수에 있는 것이 아니라 이 함수에 전달된 배열을 준비하는 데 있습니다!!!

그리고 그것은 단지 "환상의 비행"이었습니다 ... 당신의 상상력 ...

ArrayBsearch() 함수는 ONLY 값을 반환하고 코드가 비뚤어진 이유를 찾기 위해 다음 값을 인쇄했습니다. (순서대로) 인덱스 S가 있는 배열 셀의 값(ArrayBsearch( ) 함수), 인덱스 S-1을 가진 주어진 배열(masssive[])에서 왼쪽에 가장 가까운 값, 인덱스 S+1을 가진 오른쪽에 가장 가까운 값, 주문이 열렸을 때의 가격.

1학년이 되어서 졸업생들의 수업을 엿보시다니... 수업으로 돌아가세요!!! - 유추. :))

나는 모든 것을 이해했습니다. 도움을 주셔서 대단히 감사합니다 .... 나는 항상 조금 서두르고 나보다 앞서 가고 있습니다 .... 일반적으로 이것은 마이너스보다 플러스가 더 많은 것 같습니다.

나만 이해가 안되는게...

여기서는 3000개의 값으로 배열을 초기화해야 하고 EXCEL을 사용하여 초기화했습니다.

그것은 길고 다단계적이고 지루한 과정인 것 같았습니다.

이 프로세스에 더 이상 최적의 알고리즘이 있습니까?

고맙습니다.

 
solnce600 :

엑셀로 해봤습니다.


DDE를 통해 또는 Lodyr를 통해?

매크로 쓰기는 히스토리가 있는 경우 자동화합니다. 매크로 기록이 활성화된 상태에서 Word에서 열고 Excel로 변환하고 csv 및 DDE를 통해 매크로로 저장합니다. 메타트레이더와 메타스톡의 데이터 파일 형식은 저를 위한 것이 아니며 스스로 알아낼 시간이 없습니다. 따라서 double array[3000]이 0이면 for를 통과하지만 실수가 아니라면 0은 이미 초기화되어 있습니다.

 
solnce600 :
나는 모든 것을 이해했습니다. 도움을 주셔서 대단히 감사합니다 .... 나는 항상 조금 서두르고 나보다 앞서 가고 있습니다 .... 일반적으로 이것은 마이너스보다 플러스가 더 많은 것 같습니다.

나만 이해가 안되는게...

여기서는 3000개의 값으로 배열을 초기화해야 하고 EXCEL을 사용하여 초기화했습니다.

그것은 길고 다단계적이고 지루한 과정인 것 같았습니다.

이 프로세스에 더 이상 최적의 알고리즘이 있습니까?

고맙습니다.


초기화 값이 포함된 파일을 게시합니다..
 
gyfto :


DDE를 통해 또는 Lodyr를 통해?

매크로 쓰기는 히스토리가 있는 경우 자동화합니다. 매크로 기록이 활성화된 상태에서 Word에서 열고 Excel로 변환하고 csv 및 DDE를 통해 매크로로 저장합니다. 메타트레이더와 메타스톡의 데이터 파일 형식이 나와 맞지 않아 알아낼 시간이 없습니다. 그리고 그것이 0이라면, 내가 잘못하지 않았다면 for, 그러나 0은 이미 초기화되어 있습니다.

감사합니다 공부할께요 그리고 방금 서비스 하러 갔습니다 - 쌍의 히스토리를 엑셀파일에 저장해두었습니다.

모든 데이터가 포함된 단일 열을 열로 나눕니다. ~에

포함된 파일 mqh.

정보에 대한 참조가 있는 경우. DDE 또는 Lodyr에 대해 - 주세요.

고맙습니다.

 
solnce600 :

감사합니다 공부할께요 그리고 방금 서비스 하러 갔습니다 - 쌍의 히스토리를 엑셀파일에 저장해두었습니다.

모든 데이터가 포함된 단일 열을 열로 나눕니다. ~에

포함된 파일 mqh.

정보에 대한 참조가 있는 경우. DDE 또는 Lodyr에 대해 - 주세요.

고맙습니다.



예, DDE나 Loafer가 필요하지 않습니다. 기능이 필요합니다(10줄의 코드). 파일을 터미널 디렉토리에 던지면 배열이 초기화됩니다.. File let's.
 
Dima.A. :

예, DDE나 Loafer가 필요하지 않습니다. 기능이 필요합니다(10줄의 코드). 파일을 터미널 디렉토리에 던지면 배열이 초기화됩니다.. File let's.

2개의 배열을 초기화해야 합니다.

1.더블

2.날짜/시간

첫 번째 배열에서 1120줄 이후의 일부 값은 구분자를 쉼표에서 점으로 변경한 후 어떻게든 다른 형식으로 변환되었습니다.(나는 거기에 쉼표가 있었습니다)

어렵지 않다면 이 10줄의 코드를 저에게 던져주세요.. .. 공부하겠습니다. .... 앞으로 직접 해보는 방법을 배우고 싶습니다.

당신의 도움을 주셔서 대단히 감사합니다.

 
solnce600 :
이상해 파일이 140킬로그램이라 아카이브해서 메시지에 붙였는데.....


파일을 자르면 몇 줄이면 충분합니다.