MetaTrader 4 Build 529 베타가 새로운 컴파일러와 함께 출시됨 - 페이지 48 1...414243444546474849505152535455...161 새 코멘트 Andrey Khatimlianskii 2013.11.14 13:36 #471 Alexander : 수정했습니다. 수정 사항은 다음 빌드에서 사용할 수 있습니다. 하지만! 업데이트 메커니즘의 특성으로 인해 결과는 빌드를 통해서만 눈에 띄게 됩니다(즉, 가장 가까운 빌드에서 다음 빌드로 순서대로 업데이트할 때). 논리적으로. 고맙습니다. MQ Alexander 2013.11.14 14:33 #472 Interesting : 계정 기록의 시간 언제 수정합니까? 글쎄, 나는 가장 가까운 분까지 역사를 보는 것에 이미 지쳤습니다 ... 이미. 오늘의 빌드에서는 초 단위까지 정확합니다. digits 2013.11.14 15:13 #473 509에서 컴파일된 이 코드가 전문가로부터 호출될 때 작동하는 이유를 이해하도록 도와주세요. //+------------------------------------------------------------------+ //| FlatIndicator.mq4 | //| Copyright 2012, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property indicator_separate_window #property indicator_minimum 0.0 #property indicator_buffers 3 #property indicator_color1 Silver #property indicator_color2 FireBrick #property indicator_color3 Lime extern int ATR_peroids1 = 13 ; extern int StdDev_peroids1 = 30 ; extern int ATR_peroids2 = 40 ; extern int StdDev_peroids2 = 100 ; extern double extValue_1 = 1.4 ; double extValue_2 = 0.5 ; bool suppressor = TRUE; double bufer_1[]; double bufer_2[]; double bufer_3[]; int init() { SetIndexStyle( 0 , DRAW_LINE ); SetIndexBuffer ( 0 , bufer_1); SetIndexStyle( 1 , DRAW_LINE , STYLE_SOLID , 4 ); SetIndexBuffer ( 1 , bufer_2); SetIndexStyle( 2 , DRAW_LINE ); SetIndexBuffer ( 2 , bufer_3); return ( 0 ); } int deinit() { return ( 0 ); } int start() { int shift_val; double locValue_1; double locValue_2; double locValue_3; double locValue_4; double locValue_5; double locValue_6; double locValue_7; double locValue_8 = 0 ; int countBars = IndicatorCounted(); if (countBars < 0 ) return (- 1 ); if (countBars > 0 ) countBars--; int CalcBars = Bars - countBars; int MaxBars = MathMax (ATR_peroids2, StdDev_peroids2); if (CalcBars > MaxBars + 5 ){shift_val = CalcBars - MaxBars;} else {shift_val = CalcBars;} for ( int shift = shift_val; shift >= 0 ; shift--) { locValue_1 = iATR ( NULL , 0 , ATR_peroids1, shift); locValue_2 = bufer_3[shift + 1 ]; locValue_3 = bufer_3[shift + 3 ]; locValue_4 = NormalizeDouble (locValue_1, Digits ); if (suppressor){ locValue_8 = locValue_1 / iATR ( NULL , 0 , ATR_peroids2, shift) + extValue_2 * (locValue_2 - locValue_3);} else {locValue_8 = locValue_1 / iATR ( NULL , 0 , ATR_peroids2, shift);} locValue_5 = iStdDev ( NULL , 0 , StdDev_peroids1, 0 , MODE_LWMA , PRICE_TYPICAL , shift); locValue_6 = NormalizeDouble (locValue_5, Digits ); locValue_5 /= iStdDev ( NULL , 0 , StdDev_peroids2, 0 , MODE_LWMA , PRICE_TYPICAL , shift); locValue_7 = extValue_1; locValue_7 -= locValue_5; if (locValue_8 > locValue_7) { bufer_3[shift] = locValue_8; bufer_2[shift] = - 1 ; } else { bufer_3[shift] = locValue_8; bufer_2[shift] = 0.10 ; } bufer_1[shift] = locValue_7; } return ( 0 ); } EA에서 코드는 다음과 같이 호출되고 처리됩니다. FlatIndi = 0.0 ; FlatIndi = iCustom ( Symbol (), 0 , "FlatIndicator" ,ATR_peroids1, StdDev_peroids1, ATR_peroids2, StdDev_peroids2, extValue_1, 1 , 0 ); if (FlatIndi >= 0.0 ){ return ( 0 );} 그러나 코드가 빌드 540의 ME에서 컴파일되면 EA 로그 파일은 다음과 같이 작성합니다. 17 : 47 : 53.221 MetaTrader 4 at FOREX.com build 540 started (XXX) 17 : 47 : 56.331 'xxxxx' : login 17 : 47 : 57.972 'xxxxx' : login 17 : 47 : 58.554 'xxxxx' : previous successful authorization performed from xx.xx.x.xxx 17 : 48 : 03.538 Expert 007 ea ,: loaded successfully 17 : 48 : 13.821 Memory handler: cannot allocate 1286704 bytes of memory 17 : 48 : 13.821 Not enough memory for indicator Average True Range (EURUSDFXF,M5) 17 : 48 : 13.821 Memory handler: cannot allocate 1286704 bytes of memory 17 : 48 : 13.821 Not enough memory for indicator Average True Range (EURUSDFXF,M5) 17 : 48 : 13.837 Memory handler: cannot allocate 1286704 bytes of memory 17 : 48 : 13.837 Not enough memory for indicator Average True Range (EURUSDFXF,M5) 17 : 48 : 13.837 Memory handler: cannot allocate 1286704 bytes of memory 17 : 48 : 13.837 Not enough memory for indicator Average True Range (EURUSDFXF,M5) 17 : 48 : 13.837 Memory handler: cannot allocate 1286704 bytes of memory 17 : 48 : 13.837 Not enough memory for indicator Average True Range (EURUSDFXF,M5) 17 : 48 : 13.837 Memory handler: cannot allocate 1286704 bytes of memory 17 : 48 : 13.837 Not enough memory for indicator Average True Range (EURUSDFXF,M5) 17 : 48 : 13.852 Memory handler: cannot allocate 1286704 bytes of memory 17 : 48 : 13.852 Not enough memory for indicator Average True Range (EURUSDFXF,M5) 17 : 48 : 13.852 Memory handler: cannot allocate 1286704 bytes of memory 17 : 48 : 13.852 Not enough memory for indicator Average True Range (EURUSDFXF,M5) 17 : 48 : 13.852 Memory handler: cannot allocate 1286704 bytes of memory 17 : 48 : 13.852 Not enough memory for indicator Average True Range (EURUSDFXF,M5) 17 : 48 : 13.852 Memory handler: cannot allocate 1286704 bytes of memory 17 : 48 : 13.852 Not enough memory for indicator Average True Range (EURUSDFXF,M5) 17 : 48 : 13.852 Memory handler: cannot allocate 1286704 bytes of memory 17 : 48 : 13.852 Not enough memory for custom indicator FlatIndicator EURUSDFXF,M5 17 : 48 : 13.868 Memory handler: cannot allocate 1286704 bytes of memory 17 : 48 : 13.868 Not enough memory for indicator Average True Range (EURUSDFXF,M5) 17 : 48 : 13.868 Memory handler: cannot allocate 1286704 bytes of memory 17 : 48 : 13.868 Not enough memory for indicator Average True Range (EURUSDFXF,M5) EA가 제대로 작동하지 않거나 전혀 작동하지 않습니다. Vladimir Pastushak 2013.11.14 15:15 #474 VOLDEMAR : 메시지 홍수 와인 7 이하의 가정용 컴퓨터에서도 동일한 문제이며, 빌드 541 코드 변경 여부에 관계없이 두 번마다 나타납니다. Nefedov Kirill 2013.11.14 17:06 #475 전략 테스터의 최적화가 작동하지 않습니까? 최적화를 위해 표준 Expert Advisors를 테스트하고 모든 실행에서 결과는 0입니다. Expert Advisor를 최적화하고 매개변수가 변경되더라도 각 실행에서 동일한 결과를 얻습니다. 터미널 빌드 241 Vladimir Pastushak 2013.11.14 18:15 #476 HIDDEN : 전략 테스터의 최적화가 작동하지 않습니까? 최적화를 위해 표준 Expert Advisors를 테스트하고 모든 실행에서 결과는 0입니다. EA를 최적화하고 매개변수가 변경되더라도 각 실행에서 동일한 결과를 얻습니다. 터미널 빌드 241 오빠, 과거의 목소리.... 1차 빌드의 경우는 없나요? Vadim Zhunko 2013.11.14 20:37 #477 그런 빌드는 없었습니다(241). 아마도 541을 의미했을 것입니다. [삭제] 2013.11.14 21:38 #478 VOLDEMAR : 오빠, 과거의 목소리.... 1차 빌드의 경우는 없나요? 오래된 빌드를 찾을 수 있으며 작동하지 않을 것입니다. 5MB의 "1, 0, 0, 1" 버전이 있습니다. 필요? :) Sergey Dzyublik 2013.11.14 23:37 #479 충돌의 가능한 이유 제안 인디케이터에서는 OOP를 통해 주요 계산 기능을 디자인했습니다. 모든 것이 잘 작동합니다(3000바에서 계산 속도가 2-3배 증가했습니다). 그것은 2개의 표시기를 실행하려고 할 때입니다. 충돌하고 모든 것이 떨어집니다. [삭제] 2013.11.14 23:40 #480 ALXIMIKS : 충돌의 가능한 이유 제안 인디케이터에서는 OOP를 통해 주요 계산 기능을 디자인했습니다. 모든 것이 잘 작동합니다(3000바에서 계산 속도가 2-3배 증가했습니다). 그것은 2개의 표시기를 실행하려고 할 때입니다. 충돌하고 모든 것이 떨어집니다. 코드 없이 어떻게 도울 수 있습니까? 1...414243444546474849505152535455...161 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
수정했습니다. 수정 사항은 다음 빌드에서 사용할 수 있습니다. 하지만! 업데이트 메커니즘의 특성으로 인해 결과는 빌드를 통해서만 눈에 띄게 됩니다(즉, 가장 가까운 빌드에서 다음 빌드로 순서대로 업데이트할 때).
계정 기록의 시간 언제 수정합니까? 글쎄, 나는 가장 가까운 분까지 역사를 보는 것에 이미 지쳤습니다 ...
509에서 컴파일된 이 코드가 전문가로부터 호출될 때 작동하는 이유를 이해하도록 도와주세요.
EA에서 코드는 다음과 같이 호출되고 처리됩니다.
그러나 코드가 빌드 540의 ME에서 컴파일되면 EA 로그 파일은 다음과 같이 작성합니다.
EA가 제대로 작동하지 않거나 전혀 작동하지 않습니다.
메시지 홍수
와인 7 이하의 가정용 컴퓨터에서도 동일한 문제이며, 빌드 541 코드 변경 여부에 관계없이 두 번마다 나타납니다.
전략 테스터의 최적화가 작동하지 않습니까?
최적화를 위해 표준 Expert Advisors를 테스트하고 모든 실행에서 결과는 0입니다.
Expert Advisor를 최적화하고 매개변수가 변경되더라도 각 실행에서 동일한 결과를 얻습니다.
터미널 빌드 241
전략 테스터의 최적화가 작동하지 않습니까?
최적화를 위해 표준 Expert Advisors를 테스트하고 모든 실행에서 결과는 0입니다.
EA를 최적화하고 매개변수가 변경되더라도 각 실행에서 동일한 결과를 얻습니다.
터미널 빌드 241
오빠, 과거의 목소리.... 1차 빌드의 경우는 없나요?
오빠, 과거의 목소리.... 1차 빌드의 경우는 없나요?
오래된 빌드를 찾을 수 있으며 작동하지 않을 것입니다.
5MB의 "1, 0, 0, 1" 버전이 있습니다. 필요?
:)
충돌의 가능한 이유 제안
인디케이터에서는 OOP를 통해 주요 계산 기능을 디자인했습니다.
모든 것이 잘 작동합니다(3000바에서 계산 속도가 2-3배 증가했습니다).
그것은 2개의 표시기를 실행하려고 할 때입니다. 충돌하고 모든 것이 떨어집니다.
충돌의 가능한 이유 제안
인디케이터에서는 OOP를 통해 주요 계산 기능을 디자인했습니다.
모든 것이 잘 작동합니다(3000바에서 계산 속도가 2-3배 증가했습니다).
그것은 2개의 표시기를 실행하려고 할 때입니다. 충돌하고 모든 것이 떨어집니다.