결과 1 - 2 / 2

실: 내 이동 평균 코드에서 문제를 볼 수 없습니다.

  1. #1
    1 첨부 파일 삽입 코드 #property indior_chart_window/ ------------------------------------- ----------------------------- /| 사용자 정의 내부 초기화 함수 |/ ----------------------------------------------- ------------------- extern int HMA_Period = 21; extern int History = 500; 이중 hma # 91; # 93 ;; int init () {IndiorBuffers (1); SetIndexBuffer (0, hma); SetIndexStyle (0, DRAW_LINE, STYLE_SOLID, 2); return (0); }/ ---------------------------------------------- -------------------- /| 사용자 정의 내부 초기화 해제 기능 |/ ----------------------------------------------- ------------------- int deinit () {//----/---- return (0); }/ ---------------------------------------------- -------------------- /| 사용자 정의 내부 반복 기능 |/ ----------------------------------------------- ------------------- int start () {int counted_bars = IndiorCounted (), i = 막대 - 카운트 된 막대 - 1; 이중 온도; if (i gt; History - 1) i = History - 1; while (i gt; = 1) {hma # 91; i # 93; = iMA (널, 0, MathFloor (HMA_Period2), 0, MODE_LWMA, PRICE_CLOSE, i) * 2- iMA (NULL, 0, HMA_Period, 0, MODE_LWMA, PRICE_CLOSE, i); 나는--; } i = 막대 - counted_bars - 1; (0, MODE_LWMA, i); (i = 1) (i = 0, 1, MathSqrt (HMA_Period) hma # 91; i # 93; = 임시; 나는--; } return (0); }/ ---------------------------------------------- --------------------
    내 선체 이동 평균의 문제는 일부 막대가 이미지 쇼와 같은 최고점을 보여 주며, 내가 찾을 수없는 코드의 문제에서 비롯된 것입니다. 다른 선체 이동 평균 내각을 배치하면 내 선체와 일치합니다 피크가 발생하는 막대 이후를 제외하고 움직이는 평균 ...

  2. #2
    imaonarray 호출로 hma 배열을 참조하는 동시에 hma 배열을 수정한다는 사실과 관련이있을 수 있습니다. 나는 당신의 코드가 꽤 깨끗한 런 - 쓰루를 시작한다고 생각한다 ... hma 배열을 설정하고, imaonarray가 calc temp를 호출 한 다음, hma 배열을 수정한다. 그런 다음 당신은 내적 계산에 의존한다. 마지막 막대기 만 다루기 때문에 그 시점부터 (즉, 코드가 처음 실행 된 후) hma 배열은 더 이상의 imaonarray 호출이 참조하는 파열 된 데이터를 저장합니다. 처음으로 실행되고 모든 기록을 통과하는 것처럼 (또는 사용자가 설정 한 기록을 사용하여 캡을 쓴 위치에서) 올바르게 설정되지 않습니다. 또는 다른 방식으로 생각하면, 초기화 및 실행 후 hma 배열을 다소 스크램블 한 후에 mt4가 현재 시간으로 히스토리를 업데이트하기위한 새로운 막대를 얻은 다음 추가 계산을 위해 hma 배열에 의존하지만 최신 바에 대해서만. 그것은 당신이 imaonarray 호출 후에 엉망이되기 전에 hma 배열의 다소 완전한 초기화를하기 때문에 처음에는 괜찮습니다. 따라서 첫 번째 계산 집합은 정확하지만 후속 실행은 hma 데이터를 재설정하지 않습니다. 코드가 처음 실행 된 후 hma 배열은 hma [i] = temp 호출로 엉망이됩니다. 따라서 앞으로의 모든 imaonarray 호출은 코드가 처음 실행 된 hma 배열의 진부한 hma 데이터를 참조합니다. imaonarray 함수는 hma 배열에서 최신 막대보다 더 많은 '막대'를 참조하지만, hma 배열의 내부 위치보다 먼저 위치하는 hma 배열의 데이터를 수정하는 데 다시 돌아 가지 않습니다. 당신은 일종의 첫 번째 실행 후 파생 상품을 만드는 종류입니다.

게시 권한

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
쿠키 정책
쿠키 정책: koreaforex 웹사이트는 쿠키를 사용하며, 웹사이트를 사용자는 쿠키 사용에 동의하는 것입니다. 자세한 정보는 '쿠키 공개' 를 읽어주십시오.