이번 포스팅에서는 wellx의 AMA 지표 최적화 버전에 대해 알아보겠습니다. 원래 지표는 2006년 12월에 최적화를 거쳐 시스템 트레이딩에서 사용할 수 있게 되었어요. 이전의 비최적화 버전은 리소스를 많이 소모했기 때문에, AMA를 호출하는 EA의 성능을 합리적인 시간 내에 최적화하는 것이 어려웠습니다.
최적화된 지표는 원래의 모습과 동일합니다.

최적화된 카우프만 적응 이동 평균 지표
최적화된 지표를 사용하면 간단한 전문가(EA)를 사용했을 때 테스트 속도의 차이를 느낄 수 있습니다.
//+------------------------------------------------------------------+ //| TestAMA.mq4 | //| Rosh | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Rosh" #property link "http://www.metaquotes.net" extern int AMAtype=1; //+------------------------------------------------------------------+ //| 전문가 초기화 함수 | //+------------------------------------------------------------------+ int init() { //---- if (AMAtype!=0) Print("최적화된 지표를 사용하세요"); else Print("원본 버전을 사용하세요"); Print("시작"); //---- return(0); } //+------------------------------------------------------------------+ //| 전문가 종료 함수 | //+------------------------------------------------------------------+ int deinit() { //---- Print("완료"); //---- return(0); } //+------------------------------------------------------------------+ //| 전문가 시작 함수 | //+------------------------------------------------------------------+ int start() { //---- double val; if (AMAtype!=0) val=iCustom(Symbol(),0,"AMA for Expert2",0,1); else val=iCustom(Symbol(),0,"AMA",0,1); //---- return(0); } //+------------------------------------------------------------------+
외부 변수 AMAtype가 0이면 원본 지표를 사용하고, 0이 아닐 경우 이 지표를 사용하세요.